<?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="namespacemom__surface__forcing" kind="namespace" language="Fortran">
    <compoundname>mom_surface_forcing</compoundname>
    <innerclass refid="structmom__surface__forcing_1_1surface__forcing__cs" prot="public">mom_surface_forcing::surface_forcing_cs</innerclass>
      <sectiondef kind="var">
      <memberdef kind="variable" id="namespacemom__surface__forcing_1a9aef55fceb662e4fca82a5c95c8eeaad" prot="public" static="no" mutable="no">
        <type>integer</type>
        <definition>integer mom_surface_forcing::id_clock_forcing</definition>
        <argsstring></argsstring>
        <name>id_clock_forcing</name>
        <briefdescription>
<para>A CPU time clock. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" line="214" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" bodystart="214" bodyend="214"/>
        <referencedby refid="namespacemom__surface__forcing_1a8bf2faba72a8fbe4a187981d50c99337" compoundref="MOM__surface__forcing_8F90" startline="223" endline="366">set_forcing</referencedby>
        <referencedby refid="namespacemom__surface__forcing_1a791cb2bd2daa4fd3f036b121995bfb6c" compoundref="MOM__surface__forcing_8F90" startline="1540" endline="1961">surface_forcing_init</referencedby>
      </memberdef>
      </sectiondef>
      <sectiondef kind="func">
      <memberdef kind="function" id="namespacemom__surface__forcing_1a8bf2faba72a8fbe4a187981d50c99337" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_surface_forcing::set_forcing</definition>
        <argsstring>(sfc_state, forces, fluxes, day_start, day_interval, G, US, CS)</argsstring>
        <name>set_forcing</name>
        <param>
          <type>sfc_state</type>
          <defname>sfc_state</defname>
        </param>
        <param>
          <type>forces</type>
          <defname>forces</defname>
        </param>
        <param>
          <type>fluxes</type>
          <defname>fluxes</defname>
        </param>
        <param>
          <type>day_start</type>
          <defname>day_start</defname>
        </param>
        <param>
          <type>day_interval</type>
          <defname>day_interval</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <briefdescription>
<para>Calls subroutines in this file to get surface forcing fields. </para>        </briefdescription>
        <detaileddescription>
<para>It also allocates and initializes the fields in the forcing and mech_forcing types the first time it is called.</para><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">forces</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure with the driving mechanical forces</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">fluxes</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing thermodynamic forcing fields</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">day_start</parametername>
</parameternamelist>
<parameterdescription>
<para>The start time of the fluxes</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">day_interval</parametername>
</parameternamelist>
<parameterdescription>
<para>Length of time over which these fluxes applied</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>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>pointer to control struct returned by a previous surface_forcing_init call </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" line="222" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" bodystart="223" bodyend="366"/>
        <references refid="namespacemom__surface__forcing_1aa656580ba5659f6cdb203799312eaa35" compoundref="MOM__surface__forcing_8F90" startline="1396" endline="1433">buoyancy_forcing_const</references>
        <references refid="namespacemom__surface__forcing_1aae90a5a100863b1c2cb4e930e6bf22a9" compoundref="MOM__surface__forcing_8F90" startline="1170" endline="1348">buoyancy_forcing_from_data_override</references>
        <references refid="namespacemom__surface__forcing_1a01a06028c87fa3567748652c91de39fe" compoundref="MOM__surface__forcing_8F90" startline="892" endline="1165">buoyancy_forcing_from_files</references>
        <references refid="namespacemom__surface__forcing_1aad38755ede5df899000281e73b1c3075" compoundref="MOM__surface__forcing_8F90" startline="1439" endline="1515">buoyancy_forcing_linear</references>
        <references refid="namespacemom__surface__forcing_1aa898503e8349fda86bc2568b8cce95f3" compoundref="MOM__surface__forcing_8F90" startline="1353" endline="1390">buoyancy_forcing_zero</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="namespacedumbbell__surface__forcing_1afe54ddb38a7f5b3fa914cd6abc9865e3" compoundref="dumbbell__surface__forcing_8F90" startline="49" endline="126">dumbbell_surface_forcing::dumbbell_buoyancy_forcing</references>
        <references refid="namespacemom__surface__forcing_1a9aef55fceb662e4fca82a5c95c8eeaad" compoundref="MOM__surface__forcing_8F90" startline="214" endline="214">id_clock_forcing</references>
        <references refid="namespacemom__surface__forcing_1a192b142ae856c166e8d821f5ee71dc82" compoundref="MOM__surface__forcing_8F90" startline="538" endline="598">neverworld_wind_forcing</references>
        <references refid="namespacemom__surface__forcing_1a3d61abc8488ee22667089efcf49bdfc8" compoundref="MOM__surface__forcing_8F90" startline="603" endline="653">scurve_wind_forcing</references>
        <references refid="namespacemom__surface__forcing_1a8981e402dd77c42fdd3dbc9322c1d575" compoundref="MOM__surface__forcing_8F90" startline="452" endline="480">wind_forcing_1gyre</references>
        <references refid="namespacemom__surface__forcing_1a845d75d43ebb4695675548aeb2c88b99" compoundref="MOM__surface__forcing_8F90" startline="418" endline="446">wind_forcing_2gyre</references>
        <references refid="namespacemom__surface__forcing_1a55cfedbce92592fa4a8b1947bcaa69da" compoundref="MOM__surface__forcing_8F90" startline="823" endline="886">wind_forcing_by_data_override</references>
        <references refid="namespacemom__surface__forcing_1a5b732920d6d30c41b67686388775470e" compoundref="MOM__surface__forcing_8F90" startline="371" endline="412">wind_forcing_const</references>
        <references refid="namespacemom__surface__forcing_1a874e58e3fe4113ff8faa728eaa0735f5" compoundref="MOM__surface__forcing_8F90" startline="668" endline="817">wind_forcing_from_file</references>
        <references refid="namespacemom__surface__forcing_1a0b914b24fbfe91a3138e94f284fd359b" compoundref="MOM__surface__forcing_8F90" startline="485" endline="532">wind_forcing_gyres</references>
        <referencedby refid="MOM__driver_8F90_1a08fffeb2d8e8acbf9ed4609be6d258c6" compoundref="MOM__driver_8F90" startline="1">mom_main</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__surface__forcing_1a5b732920d6d30c41b67686388775470e" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_surface_forcing::wind_forcing_const</definition>
        <argsstring>(sfc_state, forces, tau_x0, tau_y0, day, G, US, CS)</argsstring>
        <name>wind_forcing_const</name>
        <param>
          <type>sfc_state</type>
          <defname>sfc_state</defname>
        </param>
        <param>
          <type>forces</type>
          <defname>forces</defname>
        </param>
        <param>
          <type>tau_x0</type>
          <defname>tau_x0</defname>
        </param>
        <param>
          <type>tau_y0</type>
          <defname>tau_y0</defname>
        </param>
        <param>
          <type>day</type>
          <defname>day</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <briefdescription>
<para>Sets the surface wind stresses to constant values. </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">forces</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure with the driving mechanical forces</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">tau_x0</parametername>
</parameternamelist>
<parameterdescription>
<para>The zonal wind stress [Pa]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">tau_y0</parametername>
</parameternamelist>
<parameterdescription>
<para>The meridional wind stress [Pa]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">day</parametername>
</parameternamelist>
<parameterdescription>
<para>The time of the fluxes</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s grid structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>pointer to control struct returned by a previous surface_forcing_init call </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" line="370" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" bodystart="371" bodyend="412"/>
        <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__surface__forcing_1a8bf2faba72a8fbe4a187981d50c99337" compoundref="MOM__surface__forcing_8F90" startline="223" endline="366">set_forcing</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__surface__forcing_1a845d75d43ebb4695675548aeb2c88b99" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_surface_forcing::wind_forcing_2gyre</definition>
        <argsstring>(sfc_state, forces, day, G, US, CS)</argsstring>
        <name>wind_forcing_2gyre</name>
        <param>
          <type>sfc_state</type>
          <defname>sfc_state</defname>
        </param>
        <param>
          <type>forces</type>
          <defname>forces</defname>
        </param>
        <param>
          <type>day</type>
          <defname>day</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <briefdescription>
<para>Sets the surface wind stresses to set up two idealized gyres. </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">forces</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure with the driving mechanical forces</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">day</parametername>
</parameternamelist>
<parameterdescription>
<para>The time of the fluxes</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s grid structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>pointer to control struct returned by a previous surface_forcing_init call </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" line="417" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" bodystart="418" bodyend="446"/>
        <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__surface__forcing_1a8bf2faba72a8fbe4a187981d50c99337" compoundref="MOM__surface__forcing_8F90" startline="223" endline="366">set_forcing</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__surface__forcing_1a8981e402dd77c42fdd3dbc9322c1d575" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_surface_forcing::wind_forcing_1gyre</definition>
        <argsstring>(sfc_state, forces, day, G, US, CS)</argsstring>
        <name>wind_forcing_1gyre</name>
        <param>
          <type>sfc_state</type>
          <defname>sfc_state</defname>
        </param>
        <param>
          <type>forces</type>
          <defname>forces</defname>
        </param>
        <param>
          <type>day</type>
          <defname>day</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <briefdescription>
<para>Sets the surface wind stresses to set up a single idealized gyre. </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">forces</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure with the driving mechanical forces</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">day</parametername>
</parameternamelist>
<parameterdescription>
<para>The time of the fluxes</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s grid structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>pointer to control struct returned by a previous surface_forcing_init call </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" line="451" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" bodystart="452" bodyend="480"/>
        <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__surface__forcing_1a8bf2faba72a8fbe4a187981d50c99337" compoundref="MOM__surface__forcing_8F90" startline="223" endline="366">set_forcing</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__surface__forcing_1a0b914b24fbfe91a3138e94f284fd359b" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_surface_forcing::wind_forcing_gyres</definition>
        <argsstring>(sfc_state, forces, day, G, US, CS)</argsstring>
        <name>wind_forcing_gyres</name>
        <param>
          <type>sfc_state</type>
          <defname>sfc_state</defname>
        </param>
        <param>
          <type>forces</type>
          <defname>forces</defname>
        </param>
        <param>
          <type>day</type>
          <defname>day</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <briefdescription>
<para>Sets the surface wind stresses to set up idealized gyres. </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">forces</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure with the driving mechanical forces</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">day</parametername>
</parameternamelist>
<parameterdescription>
<para>The time of the fluxes</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s grid structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>pointer to control struct returned by a previous surface_forcing_init call </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" line="484" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" bodystart="485" bodyend="532"/>
        <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__surface__forcing_1a8bf2faba72a8fbe4a187981d50c99337" compoundref="MOM__surface__forcing_8F90" startline="223" endline="366">set_forcing</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__surface__forcing_1a192b142ae856c166e8d821f5ee71dc82" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_surface_forcing::neverworld_wind_forcing</definition>
        <argsstring>(sfc_state, forces, day, G, US, CS)</argsstring>
        <name>neverworld_wind_forcing</name>
        <param>
          <type>sfc_state</type>
          <defname>sfc_state</defname>
        </param>
        <param>
          <type>forces</type>
          <defname>forces</defname>
        </param>
        <param>
          <type>day</type>
          <defname>day</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <briefdescription>
<para>Sets the surface wind stresses, forcestaux and forcestauy for the Neverworld forcing configuration. </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">forces</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure with the driving mechanical forces</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">day</parametername>
</parameternamelist>
<parameterdescription>
<para>Time used for determining the fluxes.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">g</parametername>
</parameternamelist>
<parameterdescription>
<para>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>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>pointer to control struct returned by a previous surface_forcing_init call </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" line="537" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" bodystart="538" bodyend="598"/>
        <referencedby refid="namespacemom__surface__forcing_1a8bf2faba72a8fbe4a187981d50c99337" compoundref="MOM__surface__forcing_8F90" startline="223" endline="366">set_forcing</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__surface__forcing_1a3d61abc8488ee22667089efcf49bdfc8" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_surface_forcing::scurve_wind_forcing</definition>
        <argsstring>(sfc_state, forces, day, G, US, CS)</argsstring>
        <name>scurve_wind_forcing</name>
        <param>
          <type>sfc_state</type>
          <defname>sfc_state</defname>
        </param>
        <param>
          <type>forces</type>
          <defname>forces</defname>
        </param>
        <param>
          <type>day</type>
          <defname>day</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <briefdescription>
<para>Sets the zonal wind stresses to a piecewise series of s-curves. </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">forces</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure with the driving mechanical forces</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">day</parametername>
</parameternamelist>
<parameterdescription>
<para>Time used for determining the fluxes.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">g</parametername>
</parameternamelist>
<parameterdescription>
<para>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>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>pointer to control struct returned by a previous surface_forcing_init call </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" line="602" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" bodystart="603" bodyend="653"/>
        <references refid="namespacemom__surface__forcing_1aa9a029f1dfbb40b5e30428d545563388" compoundref="MOM__surface__forcing_8F90" startline="658" endline="663">scurve</references>
        <referencedby refid="namespacemom__surface__forcing_1a8bf2faba72a8fbe4a187981d50c99337" compoundref="MOM__surface__forcing_8F90" startline="223" endline="366">set_forcing</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__surface__forcing_1aa9a029f1dfbb40b5e30428d545563388" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>real function</type>
        <definition>real function mom_surface_forcing::scurve</definition>
        <argsstring>(x, L)</argsstring>
        <name>scurve</name>
        <param>
          <type>x</type>
          <defname>x</defname>
        </param>
        <param>
          <type>L</type>
          <defname>L</defname>
        </param>
        <briefdescription>
<para>Returns the value of a cosine-bell function evaluated at x/L. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">x</parametername>
</parameternamelist>
<parameterdescription>
<para>non-dimensional position</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">l</parametername>
</parameternamelist>
<parameterdescription>
<para>non-dimensional width </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" line="657" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" bodystart="658" bodyend="663"/>
        <referencedby refid="namespacemom__surface__forcing_1a3d61abc8488ee22667089efcf49bdfc8" compoundref="MOM__surface__forcing_8F90" startline="603" endline="653">scurve_wind_forcing</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__surface__forcing_1a874e58e3fe4113ff8faa728eaa0735f5" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_surface_forcing::wind_forcing_from_file</definition>
        <argsstring>(sfc_state, forces, day, G, US, CS)</argsstring>
        <name>wind_forcing_from_file</name>
        <param>
          <type>sfc_state</type>
          <defname>sfc_state</defname>
        </param>
        <param>
          <type>forces</type>
          <defname>forces</defname>
        </param>
        <param>
          <type>day</type>
          <defname>day</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <briefdescription>
        </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">forces</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure with the driving mechanical forces</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">day</parametername>
</parameternamelist>
<parameterdescription>
<para>The time of the fluxes</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>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>pointer to control struct returned by a previous surface_forcing_init call </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" line="667" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" bodystart="668" bodyend="817"/>
        <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__string__functions_1aca148baf726de2f028b7e7baad3c85d4" compoundref="MOM__string__functions_8F90" startline="44" endline="56">mom_string_functions::uppercase</references>
        <referencedby refid="namespacemom__surface__forcing_1a8bf2faba72a8fbe4a187981d50c99337" compoundref="MOM__surface__forcing_8F90" startline="223" endline="366">set_forcing</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__surface__forcing_1a55cfedbce92592fa4a8b1947bcaa69da" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_surface_forcing::wind_forcing_by_data_override</definition>
        <argsstring>(sfc_state, forces, day, G, US, CS)</argsstring>
        <name>wind_forcing_by_data_override</name>
        <param>
          <type>sfc_state</type>
          <defname>sfc_state</defname>
        </param>
        <param>
          <type>forces</type>
          <defname>forces</defname>
        </param>
        <param>
          <type>day</type>
          <defname>day</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <briefdescription>
        </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">forces</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure with the driving mechanical forces</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">day</parametername>
</parameternamelist>
<parameterdescription>
<para>The time of the fluxes</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>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>pointer to control struct returned by a previous surface_forcing_init call </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" line="822" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" bodystart="823" bodyend="886"/>
        <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__surface__forcing_1a8bf2faba72a8fbe4a187981d50c99337" compoundref="MOM__surface__forcing_8F90" startline="223" endline="366">set_forcing</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__surface__forcing_1a01a06028c87fa3567748652c91de39fe" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_surface_forcing::buoyancy_forcing_from_files</definition>
        <argsstring>(sfc_state, fluxes, day, dt, G, US, CS)</argsstring>
        <name>buoyancy_forcing_from_files</name>
        <param>
          <type>sfc_state</type>
          <defname>sfc_state</defname>
        </param>
        <param>
          <type>fluxes</type>
          <defname>fluxes</defname>
        </param>
        <param>
          <type>day</type>
          <defname>day</defname>
        </param>
        <param>
          <type>dt</type>
          <defname>dt</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <briefdescription>
<para>Specifies zero surface bouyancy fluxes from input files. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">sfc_state</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing fields that describe the surface state of the ocean.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">fluxes</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing thermodynamic forcing fields</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">day</parametername>
</parameternamelist>
<parameterdescription>
<para>The time of the fluxes</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">dt</parametername>
</parameternamelist>
<parameterdescription>
<para>The amount of time over which the fluxes apply [s]</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>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>pointer to control struct returned by a previous surface_forcing_init call </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" line="891" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" bodystart="892" bodyend="1165"/>
        <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__surface__forcing_1a8bf2faba72a8fbe4a187981d50c99337" compoundref="MOM__surface__forcing_8F90" startline="223" endline="366">set_forcing</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__surface__forcing_1aae90a5a100863b1c2cb4e930e6bf22a9" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_surface_forcing::buoyancy_forcing_from_data_override</definition>
        <argsstring>(sfc_state, fluxes, day, dt, G, US, CS)</argsstring>
        <name>buoyancy_forcing_from_data_override</name>
        <param>
          <type>sfc_state</type>
          <defname>sfc_state</defname>
        </param>
        <param>
          <type>fluxes</type>
          <defname>fluxes</defname>
        </param>
        <param>
          <type>day</type>
          <defname>day</defname>
        </param>
        <param>
          <type>dt</type>
          <defname>dt</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <briefdescription>
<para>Specifies zero surface bouyancy fluxes from data over-ride. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">sfc_state</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing fields that describe the surface state of the ocean.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">fluxes</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing thermodynamic forcing fields</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">day</parametername>
</parameternamelist>
<parameterdescription>
<para>The time of the fluxes</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">dt</parametername>
</parameternamelist>
<parameterdescription>
<para>The amount of time over which the fluxes apply [s]</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>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>pointer to control struct returned by a previous surface_forcing_init call </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" line="1169" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" bodystart="1170" bodyend="1348"/>
        <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__surface__forcing_1a8bf2faba72a8fbe4a187981d50c99337" compoundref="MOM__surface__forcing_8F90" startline="223" endline="366">set_forcing</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__surface__forcing_1aa898503e8349fda86bc2568b8cce95f3" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_surface_forcing::buoyancy_forcing_zero</definition>
        <argsstring>(sfc_state, fluxes, day, dt, G, CS)</argsstring>
        <name>buoyancy_forcing_zero</name>
        <param>
          <type>sfc_state</type>
          <defname>sfc_state</defname>
        </param>
        <param>
          <type>fluxes</type>
          <defname>fluxes</defname>
        </param>
        <param>
          <type>day</type>
          <defname>day</defname>
        </param>
        <param>
          <type>dt</type>
          <defname>dt</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <briefdescription>
<para>This subroutine specifies zero surface bouyancy fluxes. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">sfc_state</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing fields that describe the surface state of the ocean.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">fluxes</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing thermodynamic forcing fields</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">day</parametername>
</parameternamelist>
<parameterdescription>
<para>The time of the fluxes</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">dt</parametername>
</parameternamelist>
<parameterdescription>
<para>The amount of time over which the fluxes apply [s]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s grid structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>pointer to control struct returned by a previous surface_forcing_init call </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" line="1352" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" bodystart="1353" bodyend="1390"/>
        <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__surface__forcing_1a8bf2faba72a8fbe4a187981d50c99337" compoundref="MOM__surface__forcing_8F90" startline="223" endline="366">set_forcing</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__surface__forcing_1aa656580ba5659f6cdb203799312eaa35" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_surface_forcing::buoyancy_forcing_const</definition>
        <argsstring>(sfc_state, fluxes, day, dt, G, US, CS)</argsstring>
        <name>buoyancy_forcing_const</name>
        <param>
          <type>sfc_state</type>
          <defname>sfc_state</defname>
        </param>
        <param>
          <type>fluxes</type>
          <defname>fluxes</defname>
        </param>
        <param>
          <type>day</type>
          <defname>day</defname>
        </param>
        <param>
          <type>dt</type>
          <defname>dt</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <briefdescription>
<para>Sets up spatially and temporally constant surface heat fluxes. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">sfc_state</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing fields that describe the surface state of the ocean.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">fluxes</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing thermodynamic forcing fields</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">day</parametername>
</parameternamelist>
<parameterdescription>
<para>The time of the fluxes</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">dt</parametername>
</parameternamelist>
<parameterdescription>
<para>The amount of time over which the fluxes apply [s]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s grid structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>pointer to control struct returned by a previous surface_forcing_init call </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" line="1395" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" bodystart="1396" bodyend="1433"/>
        <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__surface__forcing_1a8bf2faba72a8fbe4a187981d50c99337" compoundref="MOM__surface__forcing_8F90" startline="223" endline="366">set_forcing</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__surface__forcing_1aad38755ede5df899000281e73b1c3075" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_surface_forcing::buoyancy_forcing_linear</definition>
        <argsstring>(sfc_state, fluxes, day, dt, G, US, CS)</argsstring>
        <name>buoyancy_forcing_linear</name>
        <param>
          <type>sfc_state</type>
          <defname>sfc_state</defname>
        </param>
        <param>
          <type>fluxes</type>
          <defname>fluxes</defname>
        </param>
        <param>
          <type>day</type>
          <defname>day</defname>
        </param>
        <param>
          <type>dt</type>
          <defname>dt</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <briefdescription>
<para>Sets surface fluxes of heat and salinity by restoring to temperature and salinity profiles that vary linearly with latitude. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">sfc_state</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing fields that describe the surface state of the ocean.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">fluxes</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing thermodynamic forcing fields</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">day</parametername>
</parameternamelist>
<parameterdescription>
<para>The time of the fluxes</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">dt</parametername>
</parameternamelist>
<parameterdescription>
<para>The amount of time over which the fluxes apply [s]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s grid structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>pointer to control struct returned by a previous surface_forcing_init call </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" line="1438" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" bodystart="1439" bodyend="1515"/>
        <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__surface__forcing_1a8bf2faba72a8fbe4a187981d50c99337" compoundref="MOM__surface__forcing_8F90" startline="223" endline="366">set_forcing</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__surface__forcing_1a938b99b53ae2b01b468c9c4eaeb595d2" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_surface_forcing::forcing_save_restart</definition>
        <argsstring>(CS, G, Time, directory, time_stamped, filename_suffix)</argsstring>
        <name>forcing_save_restart</name>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>Time</type>
          <defname>Time</defname>
        </param>
        <param>
          <type>directory</type>
          <defname>directory</defname>
        </param>
        <param>
          <type>time_stamped</type>
          <defname>time_stamped</defname>
        </param>
        <param>
          <type>filename_suffix</type>
          <defname>filename_suffix</defname>
        </param>
        <briefdescription>
<para>Save a restart file for the forcing fields. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>pointer to control struct returned by a previous surface_forcing_init call</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">time</parametername>
</parameternamelist>
<parameterdescription>
<para>model time at this call; needed for mpp_write calls</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">directory</parametername>
</parameternamelist>
<parameterdescription>
<para>directory into which to write these restart files</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">time_stamped</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, the restart file names include a unique time stamp; the default is false.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">filename_suffix</parametername>
</parameternamelist>
<parameterdescription>
<para>optional suffix (e.g., a time-stamp) to append to the restart fname </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" line="1519" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" bodystart="1521" bodyend="1535"/>
        <references refid="namespacemom__restart_1a7086116ef9be7656d32ef9c3a7c3f201" compoundref="MOM__restart_8F90" startline="853" endline="1062">mom_restart::save_restart</references>
        <referencedby refid="MOM__driver_8F90_1a08fffeb2d8e8acbf9ed4609be6d258c6" compoundref="MOM__driver_8F90" startline="1">mom_main</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__surface__forcing_1a791cb2bd2daa4fd3f036b121995bfb6c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_surface_forcing::surface_forcing_init</definition>
        <argsstring>(Time, G, US, param_file, diag, CS, tracer_flow_CSp)</argsstring>
        <name>surface_forcing_init</name>
        <param>
          <type>Time</type>
          <defname>Time</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <param>
          <type>param_file</type>
          <defname>param_file</defname>
        </param>
        <param>
          <type>diag</type>
          <defname>diag</defname>
        </param>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <param>
          <type>tracer_flow_CSp</type>
          <defname>tracer_flow_CSp</defname>
        </param>
        <briefdescription>
<para>Initialize the surface forcing module. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">time</parametername>
</parameternamelist>
<parameterdescription>
<para>The current model time</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s grid structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">param_file</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure to parse for run-time parameters</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">diag</parametername>
</parameternamelist>
<parameterdescription>
<para>structure used to regulate diagnostic output</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>pointer to control struct returned by a previous surface_forcing_init call</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>tracer_flow_csp</parametername>
</parameternamelist>
<parameterdescription>
<para>Forcing for tracers? </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" line="1539" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" bodystart="1540" bodyend="1961"/>
        <references refid="namespacebfb__surface__forcing_1aaf77fa8e36d280fa2f3033f38417d7a0" compoundref="BFB__surface__forcing_8F90" startline="176" endline="239">bfb_surface_forcing::bfb_surface_forcing_init</references>
        <references refid="namespacemom__get__input_1a46e89b56d1317f17ccb44b3fa7694731" compoundref="MOM__get__input_8F90" startline="35" endline="116">mom_get_input::get_mom_input</references>
        <references refid="namespacemom__surface__forcing_1a9aef55fceb662e4fca82a5c95c8eeaad" compoundref="MOM__surface__forcing_8F90" startline="214" endline="214">id_clock_forcing</references>
        <references refid="namespacemeso__surface__forcing_1aff6ab2bfc61d73084c623d1654f85046" compoundref="MESO__surface__forcing_8F90" startline="209" endline="278">meso_surface_forcing::meso_surface_forcing_init</references>
        <references refid="namespacemom__io_1a79952045e028c6882f5b04ea5a1a83f7" compoundref="MOM__io_8F90" startline="478" endline="590">mom_io::num_timelevels</references>
        <references refid="namespacemom__restart_1a304183ab574d06ac810b41b1e82eb89c" compoundref="MOM__restart_8F90" startline="1592" endline="1597">mom_restart::restart_init_end</references>
        <references refid="namespacemom__restart_1aec60d8a437fc858db4a020f9985b449d" compoundref="MOM__restart_8F90" startline="1069" endline="1288">mom_restart::restore_state</references>
        <references refid="namespaceuser__surface__forcing_1aa2b1be0da515f2b1f2fecc000e85af74" compoundref="user__surface__forcing_8F90" startline="238" endline="287">user_surface_forcing::user_surface_forcing_init</references>
        <referencedby refid="MOM__driver_8F90_1a08fffeb2d8e8acbf9ed4609be6d258c6" compoundref="MOM__driver_8F90" startline="1">mom_main</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__surface__forcing_1a645590ad6b9208812337b6ccbed1d01a" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_surface_forcing::surface_forcing_end</definition>
        <argsstring>(CS, fluxes)</argsstring>
        <name>surface_forcing_end</name>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <param>
          <type>fluxes</type>
          <defname>fluxes</defname>
        </param>
        <briefdescription>
<para>Deallocate memory associated with the surface forcing module. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>pointer to control struct returned by a previous surface_forcing_init call</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">fluxes</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing thermodynamic forcing fields </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" line="1966" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" bodystart="1967" bodyend="1981"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>Functions that calculate the surface wind stresses and fluxes of buoyancy or temperature/salinity andfresh water, in ocean-only (solo) mode. </para>    </briefdescription>
    <detaileddescription>
<para>These functions are called every time step, even if the wind stresses or buoyancy fluxes are constant in time - in that case these routines return quickly without doing anything. In addition, any I/O of forcing fields is controlled by surface_forcing_init, located in this file. </para>    </detaileddescription>
    <location file="/home/cermak/src/MOM6.devrob/config_src/solo_driver/MOM_surface_forcing.F90" line="8" column="1"/>
  </compounddef>
</doxygen>
