<?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.13">
  <compounddef id="namespaceocean__model__mod" kind="namespace" language="Fortran">
    <compoundname>ocean_model_mod</compoundname>
    <innerclass refid="interfaceocean__model__mod_1_1ocean__model__data__get" prot="private">ocean_model_mod::ocean_model_data_get</innerclass>
    <innerclass refid="structocean__model__mod_1_1ocean__public__type" prot="public">ocean_model_mod::ocean_public_type</innerclass>
    <innerclass refid="structocean__model__mod_1_1ocean__state__type" prot="public">ocean_model_mod::ocean_state_type</innerclass>
      <sectiondef kind="func">
      <memberdef kind="function" id="namespaceocean__model__mod_1a51ac9bb5e227e4a3f8be94a09a77eba8" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public ocean_model_mod::ocean_model_init</definition>
        <argsstring>(Ocean_sfc, OS, Time_init, Time_in, wind_stagger, gas_fields_ocn)</argsstring>
        <name>ocean_model_init</name>
        <param>
          <type>Ocean_sfc</type>
          <defname>Ocean_sfc</defname>
        </param>
        <param>
          <type>OS</type>
          <defname>OS</defname>
        </param>
        <param>
          <type>Time_init</type>
          <defname>Time_init</defname>
        </param>
        <param>
          <type>Time_in</type>
          <defname>Time_in</defname>
        </param>
        <param>
          <type>wind_stagger</type>
          <defname>wind_stagger</defname>
        </param>
        <param>
          <type>gas_fields_ocn</type>
          <defname>gas_fields_ocn</defname>
        </param>
        <briefdescription>
<para>ocean_model_init initializes the ocean model, including registering fields for restarts and reading restart files if appropriate. </para>        </briefdescription>
        <detaileddescription>
<para>This subroutine initializes both the ocean state and the ocean surface type. Because of the way that indicies and domains are handled, Ocean_sfc must have been used in a previous call to initialize_ocean_type.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">ocean_sfc</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing various publicly</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>os</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure whose internal contents are private to <ref refid="namespaceocean__model__mod" kindref="compound">ocean_model_mod</ref> that may be used to contain all information about the ocean&apos;s interior state.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">time_init</parametername>
</parameternamelist>
<parameterdescription>
<para>The start time for the coupled model&apos;s calendar</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">time_in</parametername>
</parameternamelist>
<parameterdescription>
<para>The time at which to initialize the ocean model.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">wind_stagger</parametername>
</parameternamelist>
<parameterdescription>
<para>If present, the staggering of the winds that are being provided in calls to update_ocean_model</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">gas_fields_ocn</parametername>
</parameternamelist>
<parameterdescription>
<para>If present, this type describes the </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/ocean_model_MOM.F90" line="227" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/ocean_model_MOM.F90" bodystart="228" bodyend="413"/>
        <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__file__parser_1a5b47aa31f8cffc5bf495f8d3f2e9c001" compoundref="MOM__file__parser_8F90" startline="242" endline="341">mom_file_parser::close_param_file</references>
        <references refid="namespaceocean__model__mod_1acb78c6bf5eefda002e5e2dbd641e5a53" compoundref="ocean__model__MOM_8F90" startline="821" endline="922">convert_state_to_ocean_type</references>
        <references refid="namespacemom__diag__mediator_1ab6b7493efa5caee06547dafdba29361b" compoundref="MOM__diag__mediator_8F90" startline="3386" endline="3397">mom_diag_mediator::diag_mediator_close_registration</references>
        <references refid="namespaceocean__model__mod_1a5b1bdaa3feed3ce185af828b84b9c55b" compoundref="ocean__model__MOM_8F90" startline="763" endline="812">initialize_ocean_public_type</references>
        <references refid="namespacemom__marine__ice_1a72f210b9737887a318aa7dd2779e8850" compoundref="MOM__marine__ice_8F90" startline="174" endline="202">mom_marine_ice::marine_ice_init</references>
        <references refid="namespacemom__wave__interface_1ad2bad416c49ca81a4e5822b70d2e14b9" compoundref="MOM__wave__interface_8F90" startline="410" endline="432">mom_wave_interface::mom_wave_interface_init_lite</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="namespaceocean__model__mod_1a497d254b44f58fb797b9d75bc006eb60" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public ocean_model_mod::update_ocean_model</definition>
        <argsstring>(Ice_ocean_boundary, OS, Ocean_sfc, time_start_update, Ocean_coupling_time_step, update_dyn, update_thermo, Ocn_fluxes_used, start_cycle, end_cycle, cycle_length)</argsstring>
        <name>update_ocean_model</name>
        <param>
          <type>Ice_ocean_boundary</type>
          <defname>Ice_ocean_boundary</defname>
        </param>
        <param>
          <type>OS</type>
          <defname>OS</defname>
        </param>
        <param>
          <type>Ocean_sfc</type>
          <defname>Ocean_sfc</defname>
        </param>
        <param>
          <type>time_start_update</type>
          <defname>time_start_update</defname>
        </param>
        <param>
          <type>Ocean_coupling_time_step</type>
          <defname>Ocean_coupling_time_step</defname>
        </param>
        <param>
          <type>update_dyn</type>
          <defname>update_dyn</defname>
        </param>
        <param>
          <type>update_thermo</type>
          <defname>update_thermo</defname>
        </param>
        <param>
          <type>Ocn_fluxes_used</type>
          <defname>Ocn_fluxes_used</defname>
        </param>
        <param>
          <type>start_cycle</type>
          <defname>start_cycle</defname>
        </param>
        <param>
          <type>end_cycle</type>
          <defname>end_cycle</defname>
        </param>
        <param>
          <type>cycle_length</type>
          <defname>cycle_length</defname>
        </param>
        <briefdescription>
<para>update_ocean_model uses the forcing in Ice_ocean_boundary to advance the ocean model&apos;s state from the input value of Ocean_state (which must be for time time_start_update) for a time interval of Ocean_coupling_time_step, returning the publicly visible ocean surface properties in Ocean_sfc and storing the new ocean properties in Ocean_state. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">ice_ocean_boundary</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing the various</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>os</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer to a private structure containing the</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">ocean_sfc</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing all the publicly visible</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">time_start_update</parametername>
</parameternamelist>
<parameterdescription>
<para>The time at the beginning of the update step.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">ocean_coupling_time_step</parametername>
</parameternamelist>
<parameterdescription>
<para>The amount of time over which to advance the ocean.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">update_dyn</parametername>
</parameternamelist>
<parameterdescription>
<para>If present and false, do not do updates due to the ocean dynamics.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">update_thermo</parametername>
</parameternamelist>
<parameterdescription>
<para>If present and false, do not do updates due to the ocean thermodynamics or remapping.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">ocn_fluxes_used</parametername>
</parameternamelist>
<parameterdescription>
<para>If present, this indicates whether the cumulative thermodynamic fluxes from the ocean, like frazil, have been used and should be reset.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">start_cycle</parametername>
</parameternamelist>
<parameterdescription>
<para>This indicates whether this call is to be treated as the first call to step_MOM in a time-stepping cycle; missing is like true.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">end_cycle</parametername>
</parameternamelist>
<parameterdescription>
<para>This indicates whether this call is to be treated as the last call to step_MOM in a time-stepping cycle; missing is like true.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">cycle_length</parametername>
</parameternamelist>
<parameterdescription>
<para>The duration of a coupled time stepping cycle [s]. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/ocean_model_MOM.F90" line="421" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/ocean_model_MOM.F90" bodystart="424" bodyend="668"/>
        <references refid="namespacemom__ice__shelf_1a0274b25df07d5fa712d038c31f921cbc" compoundref="MOM__ice__shelf_8F90" startline="776" endline="851">mom_ice_shelf::add_shelf_forces</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>
        <references refid="namespaceocean__model__mod_1acb78c6bf5eefda002e5e2dbd641e5a53" compoundref="ocean__model__MOM_8F90" startline="821" endline="922">convert_state_to_ocean_type</references>
        <references refid="namespacemom__forcing__type_1a18fc44b1946351373f626fcc5aabc340" compoundref="MOM__forcing__type_8F90" startline="2274" endline="2860">mom_forcing_type::forcing_diagnostics</references>
        <references refid="namespacemom__marine__ice_1a7deb4a003d193fd5ba6614d2a683cba6" compoundref="MOM__marine__ice_8F90" startline="102" endline="169">mom_marine_ice::iceberg_fluxes</references>
        <references refid="namespacemom__marine__ice_1af84733e6afc851704bbfd1051aea0487" compoundref="MOM__marine__ice_8F90" startline="46" endline="96">mom_marine_ice::iceberg_forces</references>
        <references refid="namespacemom__forcing__type_1a014d07725581af8ede287ea2a2322259" compoundref="MOM__forcing__type_8F90" startline="2217" endline="2267">mom_forcing_type::mech_forcing_diags</references>
        <references refid="namespacemom__generic__tracer_1ac7e6d764d4df3376baeaf5ae4db7ba90" compoundref="MOM__generic__tracer_8F90" startline="797" endline="802">mom_generic_tracer::mom_generic_tracer_fluxes_accumulate</references>
        <references refid="namespacemom__time__manager_1ae2d8736d03ab62310f32ddf01e44a961" compoundref="MOM__time__manager_8F90" startline="47" endline="60">mom_time_manager::real_to_time</references>
        <references refid="namespacemom_1ade4f7557fcda73ffc12284d3cecf4182" compoundref="MOM_8F90" startline="1405" endline="1596">mom::step_offline</references>
        <references refid="namespacemom__wave__interface_1ad7c744e81248040ad319e0b608c52284" compoundref="MOM__wave__interface_8F90" startline="437" endline="473">mom_wave_interface::update_surface_waves</references>
      </memberdef>
      <memberdef kind="function" id="namespaceocean__model__mod_1a908a47d286b0257e91a253272926dc3d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public ocean_model_mod::ocean_model_restart</definition>
        <argsstring>(OS, timestamp)</argsstring>
        <name>ocean_model_restart</name>
        <param>
          <type>OS</type>
          <defname>OS</defname>
        </param>
        <param>
          <type>timestamp</type>
          <defname>timestamp</defname>
        </param>
        <briefdescription>
<para>This subroutine writes out the ocean model restart file. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>os</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer to the structure containing the internal ocean state being saved to a restart file</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">timestamp</parametername>
</parameternamelist>
<parameterdescription>
<para>An optional timestamp string that should be prepended to the file name. (Currently this is unused.) </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/ocean_model_MOM.F90" line="672" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/ocean_model_MOM.F90" bodystart="673" bodyend="704"/>
        <references refid="namespacemom__surface__forcing__gfdl_1a27cc0fbf6020477172db445d3d0f0ffc" compoundref="MOM__surface__forcing__gfdl_8F90" startline="1214" endline="1228">mom_surface_forcing_gfdl::forcing_save_restart</references>
        <references refid="namespacemom__ice__shelf_1a40ae01bbe3155191647f2150903dda69" compoundref="MOM__ice__shelf_8F90" startline="1767" endline="1785">mom_ice_shelf::ice_shelf_save_restart</references>
        <references refid="namespacemom__restart_1a7086116ef9be7656d32ef9c3a7c3f201" compoundref="MOM__restart_8F90" startline="853" endline="1062">mom_restart::save_restart</references>
      </memberdef>
      <memberdef kind="function" id="namespaceocean__model__mod_1a276959acb69502491d4b3a5a83e596b8" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public ocean_model_mod::ocean_model_end</definition>
        <argsstring>(Ocean_sfc, Ocean_state, Time)</argsstring>
        <name>ocean_model_end</name>
        <param>
          <type>Ocean_sfc</type>
          <defname>Ocean_sfc</defname>
        </param>
        <param>
          <type>Ocean_state</type>
          <defname>Ocean_state</defname>
        </param>
        <param>
          <type>Time</type>
          <defname>Time</defname>
        </param>
        <briefdescription>
<para>ocean_model_end terminates the model run, saving the ocean state in a restart and deallocating any data associated with the ocean. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">ocean_sfc</parametername>
</parameternamelist>
<parameterdescription>
<para>An <ref refid="structocean__model__mod_1_1ocean__public__type" kindref="compound">ocean_public_type</ref> structure that is to be deallocated upon termination.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>ocean_state</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer to the structure containing the internal ocean state to be deallocated upon termination.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">time</parametername>
</parameternamelist>
<parameterdescription>
<para>The model time, used for writing restarts. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/ocean_model_MOM.F90" line="710" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/ocean_model_MOM.F90" bodystart="711" bodyend="721"/>
        <references refid="namespacemom__diag__mediator_1a780f8870b442c730208d66d1ff0b4ac0" compoundref="MOM__diag__mediator_8F90" startline="3401" endline="3452">mom_diag_mediator::diag_mediator_end</references>
        <references refid="namespacemom__ice__shelf_1a6d0412c7264e0480d5144d26995dd8d3" compoundref="MOM__ice__shelf_8F90" startline="1790" endline="1799">mom_ice_shelf::ice_shelf_end</references>
        <references refid="namespaceocean__model__mod_1ad969c968b1133584b9dcf48d78f51c01" compoundref="ocean__model__MOM_8F90" startline="727" endline="757">ocean_model_save_restart</references>
      </memberdef>
      <memberdef kind="function" id="namespaceocean__model__mod_1ad969c968b1133584b9dcf48d78f51c01" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public ocean_model_mod::ocean_model_save_restart</definition>
        <argsstring>(OS, Time, directory, filename_suffix)</argsstring>
        <name>ocean_model_save_restart</name>
        <param>
          <type>OS</type>
          <defname>OS</defname>
        </param>
        <param>
          <type>Time</type>
          <defname>Time</defname>
        </param>
        <param>
          <type>directory</type>
          <defname>directory</defname>
        </param>
        <param>
          <type>filename_suffix</type>
          <defname>filename_suffix</defname>
        </param>
        <briefdescription>
<para>ocean_model_save_restart causes restart files associated with the ocean to be written out. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>os</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer to the structure containing the internal ocean state (in).</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">time</parametername>
</parameternamelist>
<parameterdescription>
<para>The model time at this call, needed for mpp_write calls.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">directory</parametername>
</parameternamelist>
<parameterdescription>
<para>An optional directory into which to write these restart files.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">filename_suffix</parametername>
</parameternamelist>
<parameterdescription>
<para>An optional suffix (e.g., a time-stamp) to append to the restart file names. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/ocean_model_MOM.F90" line="726" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/ocean_model_MOM.F90" bodystart="727" bodyend="757"/>
        <references refid="namespacemom__surface__forcing__gfdl_1a27cc0fbf6020477172db445d3d0f0ffc" compoundref="MOM__surface__forcing__gfdl_8F90" startline="1214" endline="1228">mom_surface_forcing_gfdl::forcing_save_restart</references>
        <references refid="namespacemom__ice__shelf_1a40ae01bbe3155191647f2150903dda69" compoundref="MOM__ice__shelf_8F90" startline="1767" endline="1785">mom_ice_shelf::ice_shelf_save_restart</references>
        <references refid="namespacemom__restart_1a7086116ef9be7656d32ef9c3a7c3f201" compoundref="MOM__restart_8F90" startline="853" endline="1062">mom_restart::save_restart</references>
        <referencedby refid="namespaceocean__model__mod_1a276959acb69502491d4b3a5a83e596b8" compoundref="ocean__model__MOM_8F90" startline="711" endline="721">ocean_model_end</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespaceocean__model__mod_1a5b1bdaa3feed3ce185af828b84b9c55b" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine ocean_model_mod::initialize_ocean_public_type</definition>
        <argsstring>(input_domain, Ocean_sfc, diag, maskmap, gas_fields_ocn)</argsstring>
        <name>initialize_ocean_public_type</name>
        <param>
          <type>input_domain</type>
          <defname>input_domain</defname>
        </param>
        <param>
          <type>Ocean_sfc</type>
          <defname>Ocean_sfc</defname>
        </param>
        <param>
          <type>diag</type>
          <defname>diag</defname>
        </param>
        <param>
          <type>maskmap</type>
          <defname>maskmap</defname>
        </param>
        <param>
          <type>gas_fields_ocn</type>
          <defname>gas_fields_ocn</defname>
        </param>
        <briefdescription>
<para>Initialize the public ocean type. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">input_domain</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean model domain description</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">ocean_sfc</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing various publicly visible ocean surface properties after initialization, whose elements are allocated here.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">diag</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure that regulates diagnsotic output</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">maskmap</parametername>
</parameternamelist>
<parameterdescription>
<para>A mask indicating which virtual processors</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">gas_fields_ocn</parametername>
</parameternamelist>
<parameterdescription>
<para>If present, this type describes the </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/ocean_model_MOM.F90" line="761" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/ocean_model_MOM.F90" bodystart="763" bodyend="812"/>
        <referencedby refid="namespaceocean__model__mod_1a51ac9bb5e227e4a3f8be94a09a77eba8" compoundref="ocean__model__MOM_8F90" startline="228" endline="413">ocean_model_init</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespaceocean__model__mod_1acb78c6bf5eefda002e5e2dbd641e5a53" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine ocean_model_mod::convert_state_to_ocean_type</definition>
        <argsstring>(sfc_state, Ocean_sfc, G, US, patm, press_to_z)</argsstring>
        <name>convert_state_to_ocean_type</name>
        <param>
          <type>sfc_state</type>
          <defname>sfc_state</defname>
        </param>
        <param>
          <type>Ocean_sfc</type>
          <defname>Ocean_sfc</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <param>
          <type>patm</type>
          <defname>patm</defname>
        </param>
        <param>
          <type>press_to_z</type>
          <defname>press_to_z</defname>
        </param>
        <briefdescription>
<para>This subroutine translates the coupler&apos;s ocean_data_type into MOM&apos;s surface state variable. This may eventually be folded into the MOM code that calculates the surface state in the first place. Note the offset in the arrays because the ocean_data_type has no halo points in its arrays and always uses absolute indicies. </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">ocean_sfc</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing various publicly</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">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">patm</parametername>
</parameternamelist>
<parameterdescription>
<para>The pressure at the ocean surface [Pa].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">press_to_z</parametername>
</parameternamelist>
<parameterdescription>
<para>A conversion factor between pressure and ocean depth in m, usually 1/(rho_0*g) [m Pa-1]. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/ocean_model_MOM.F90" line="820" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/ocean_model_MOM.F90" bodystart="821" bodyend="922"/>
        <references refid="namespacemom__constants_1a8387a4d118a6e39dbb4f4894cbb2956b" compoundref="MOM__constants_8F90" startline="11" endline="11">mom_constants::celsius_kelvin_offset</references>
        <referencedby refid="namespaceocean__model__mod_1a51ac9bb5e227e4a3f8be94a09a77eba8" compoundref="ocean__model__MOM_8F90" startline="228" endline="413">ocean_model_init</referencedby>
        <referencedby refid="namespaceocean__model__mod_1a2fca652469ca65c63305060534a14c0e" compoundref="ocean__model__MOM_8F90" startline="930" endline="943">ocean_model_init_sfc</referencedby>
        <referencedby refid="namespaceocean__model__mod_1a497d254b44f58fb797b9d75bc006eb60" compoundref="ocean__model__MOM_8F90" startline="424" endline="668">update_ocean_model</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespaceocean__model__mod_1a2fca652469ca65c63305060534a14c0e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public ocean_model_mod::ocean_model_init_sfc</definition>
        <argsstring>(OS, Ocean_sfc)</argsstring>
        <name>ocean_model_init_sfc</name>
        <param>
          <type>OS</type>
          <defname>OS</defname>
        </param>
        <param>
          <type>Ocean_sfc</type>
          <defname>Ocean_sfc</defname>
        </param>
        <briefdescription>
<para>This subroutine extracts the surface properties from the ocean&apos;s internal state and stores them in the ocean type returned to the calling ice model. It has to be separate from the ocean_initialization call because the coupler module allocates the space for some of these variables. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>os</parametername>
</parameternamelist>
<parameterdescription>
<para>The structure with the complete ocean state</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">ocean_sfc</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing various publicly visible ocean surface properties after initialization, whose elements have their data set here. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/ocean_model_MOM.F90" line="929" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/ocean_model_MOM.F90" bodystart="930" bodyend="943"/>
        <references refid="namespaceocean__model__mod_1acb78c6bf5eefda002e5e2dbd641e5a53" compoundref="ocean__model__MOM_8F90" startline="821" endline="922">convert_state_to_ocean_type</references>
      </memberdef>
      <memberdef kind="function" id="namespaceocean__model__mod_1ac5275bd24a712d97ec3ee094db73e885" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public ocean_model_mod::ocean_model_flux_init</definition>
        <argsstring>(OS, verbosity)</argsstring>
        <name>ocean_model_flux_init</name>
        <param>
          <type>OS</type>
          <defname>OS</defname>
        </param>
        <param>
          <type>verbosity</type>
          <defname>verbosity</defname>
        </param>
        <briefdescription>
<para>ocean_model_flux_init is used to initialize properties of the air-sea fluxes as determined by various run-time parameters. It can be called from non-ocean PEs, or PEs that have not yet been initialzed, and it can safely be called multiple times. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>os</parametername>
</parameternamelist>
<parameterdescription>
<para>An optional pointer to the ocean state, used to figure out if this is an ocean PE that has already been initialized.</para></parameterdescription>
</parameteritem>
<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/config_src/coupled_driver/ocean_model_MOM.F90" line="950" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/ocean_model_MOM.F90" bodystart="951" bodyend="966"/>
        <references refid="namespacemom__tracer__flow__control_1a736899f8b0b79d0e98384abf2b084880" compoundref="MOM__tracer__flow__control_8F90" startline="113" endline="133">mom_tracer_flow_control::call_tracer_flux_init</references>
      </memberdef>
      <memberdef kind="function" id="namespaceocean__model__mod_1a7ecaaa406a1cba3e9bcd84d375247ec5" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public ocean_model_mod::ocean_stock_pe</definition>
        <argsstring>(OS, index, value, time_index)</argsstring>
        <name>ocean_stock_pe</name>
        <param>
          <type>OS</type>
          <defname>OS</defname>
        </param>
        <param>
          <type>index</type>
          <defname>index</defname>
        </param>
        <param>
          <type>value</type>
          <defname>value</defname>
        </param>
        <param>
          <type>time_index</type>
          <defname>time_index</defname>
        </param>
        <briefdescription>
<para>Ocean_stock_pe - returns the integrated stocks of heat, water, etc. for conservation checks. Because of the way FMS is coded, only the root PE has the integrated amount, while all other PEs get 0. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>os</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing the internal ocean state. The data in OS is intent in.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">index</parametername>
</parameternamelist>
<parameterdescription>
<para>The stock index for the quantity of interest.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">value</parametername>
</parameternamelist>
<parameterdescription>
<para>Sum returned for the conservation quantity of interest.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">time_index</parametername>
</parameternamelist>
<parameterdescription>
<para>An unused optional argument, present only for interfacial compatibility with other models. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/ocean_model_MOM.F90" line="972" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/ocean_model_MOM.F90" bodystart="973" bodyend="1008"/>
        <references refid="namespacemom_1a462293ed92e99927ef9939747d633080" compoundref="MOM_8F90" startline="3469" endline="3481">mom::get_ocean_stocks</references>
      </memberdef>
      <memberdef kind="function" id="namespaceocean__model__mod_1ab95b9373525518bee1776b7b9040b769" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine ocean_model_mod::ocean_model_data2d_get</definition>
        <argsstring>(OS, Ocean, name, array2D, isc, jsc)</argsstring>
        <name>ocean_model_data2d_get</name>
        <param>
          <type>OS</type>
          <defname>OS</defname>
        </param>
        <param>
          <type>Ocean</type>
          <defname>Ocean</defname>
        </param>
        <param>
          <type>name</type>
          <defname>name</defname>
        </param>
        <param>
          <type>array2D</type>
          <defname>array2D</defname>
        </param>
        <param>
          <type>isc</type>
          <defname>isc</defname>
        </param>
        <param>
          <type>jsc</type>
          <defname>jsc</defname>
        </param>
        <briefdescription>
<para>This subroutine extracts a named 2-D field from the ocean surface or public type. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>os</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer to the structure containing the internal ocean state (intent in).</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">ocean</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing various publicly visible ocean surface fields.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">name</parametername>
</parameternamelist>
<parameterdescription>
<para>The name of the field to extract</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">array2d</parametername>
</parameternamelist>
<parameterdescription>
<para>The values of the named field, it must cover only the computational domain</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">isc</parametername>
</parameternamelist>
<parameterdescription>
<para>The starting i-index of array2D</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">jsc</parametername>
</parameternamelist>
<parameterdescription>
<para>The starting j-index of array2D </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/ocean_model_MOM.F90" line="1012" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/ocean_model_MOM.F90" bodystart="1013" bodyend="1070"/>
        <references refid="namespacemom__constants_1a8387a4d118a6e39dbb4f4894cbb2956b" compoundref="MOM__constants_8F90" startline="11" endline="11">mom_constants::celsius_kelvin_offset</references>
      </memberdef>
      <memberdef kind="function" id="namespaceocean__model__mod_1a1ce15d13f4617f5f660164a7eb210f32" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine ocean_model_mod::ocean_model_data1d_get</definition>
        <argsstring>(OS, Ocean, name, value)</argsstring>
        <name>ocean_model_data1d_get</name>
        <param>
          <type>OS</type>
          <defname>OS</defname>
        </param>
        <param>
          <type>Ocean</type>
          <defname>Ocean</defname>
        </param>
        <param>
          <type>name</type>
          <defname>name</defname>
        </param>
        <param>
          <type>value</type>
          <defname>value</defname>
        </param>
        <briefdescription>
<para>This subroutine extracts a named scalar field from the ocean surface or public type. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>os</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer to the structure containing the internal ocean state (intent in).</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">ocean</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing various publicly visible ocean surface fields.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">name</parametername>
</parameternamelist>
<parameterdescription>
<para>The name of the field to extract</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">value</parametername>
</parameternamelist>
<parameterdescription>
<para>The value of the named field </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/ocean_model_MOM.F90" line="1074" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/ocean_model_MOM.F90" bodystart="1075" bodyend="1091"/>
      </memberdef>
      <memberdef kind="function" id="namespaceocean__model__mod_1a3f7b5b40926d545a117274993924c9ee" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public ocean_model_mod::ocean_public_type_chksum</definition>
        <argsstring>(id, timestep, ocn)</argsstring>
        <name>ocean_public_type_chksum</name>
        <param>
          <type>id</type>
          <defname>id</defname>
        </param>
        <param>
          <type>timestep</type>
          <defname>timestep</defname>
        </param>
        <param>
          <type>ocn</type>
          <defname>ocn</defname>
        </param>
        <briefdescription>
<para>Write out FMS-format checsums on fields from the ocean surface state. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">id</parametername>
</parameternamelist>
<parameterdescription>
<para>An identifying string for this call</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">timestep</parametername>
</parameternamelist>
<parameterdescription>
<para>The number of elapsed timesteps</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">ocn</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing various publicly visible ocean surface fields. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/ocean_model_MOM.F90" line="1095" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/ocean_model_MOM.F90" bodystart="1096" bodyend="1115"/>
      </memberdef>
      <memberdef kind="function" id="namespaceocean__model__mod_1a4279c231d36022ce0862a7316d4ef1d4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public ocean_model_mod::get_ocean_grid</definition>
        <argsstring>(OS, Gridp)</argsstring>
        <name>get_ocean_grid</name>
        <param>
          <type>OS</type>
          <defname>OS</defname>
        </param>
        <param>
          <type>Gridp</type>
          <defname>Gridp</defname>
        </param>
        <briefdescription>
<para>This subroutine gives a handle to the grid from ocean state. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>os</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing the internal ocean state</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>gridp</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s grid structure </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/ocean_model_MOM.F90" line="1119" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/ocean_model_MOM.F90" bodystart="1120" bodyend="1126"/>
      </memberdef>
      <memberdef kind="function" id="namespaceocean__model__mod_1a87b816a55d210aafbf9d04b38fc49bfd" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public ocean_model_mod::ocean_model_get_uv_surf</definition>
        <argsstring>(OS, Ocean, name, array2D, isc, jsc)</argsstring>
        <name>ocean_model_get_uv_surf</name>
        <param>
          <type>OS</type>
          <defname>OS</defname>
        </param>
        <param>
          <type>Ocean</type>
          <defname>Ocean</defname>
        </param>
        <param>
          <type>name</type>
          <defname>name</defname>
        </param>
        <param>
          <type>array2D</type>
          <defname>array2D</defname>
        </param>
        <param>
          <type>isc</type>
          <defname>isc</defname>
        </param>
        <param>
          <type>jsc</type>
          <defname>jsc</defname>
        </param>
        <briefdescription>
<para>This subroutine extracts a named (u- or v-) 2-D surface current from ocean internal state. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>os</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer to the structure containing the internal ocean state (intent in).</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">ocean</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing various publicly visible ocean surface fields.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">name</parametername>
</parameternamelist>
<parameterdescription>
<para>The name of the current (ua or va) to extract</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">array2d</parametername>
</parameternamelist>
<parameterdescription>
<para>The values of the named field, it must cover only the computational domain</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">isc</parametername>
</parameternamelist>
<parameterdescription>
<para>The starting i-index of array2D</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">jsc</parametername>
</parameternamelist>
<parameterdescription>
<para>The starting j-index of array2D </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/ocean_model_MOM.F90" line="1130" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/ocean_model_MOM.F90" bodystart="1131" bodyend="1187"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>Top-level module for the MOM6 ocean model in coupled mode. </para>    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <location file="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/ocean_model_MOM.F90" line="2" column="1"/>
  </compounddef>
</doxygen>
