<?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__gfdl" kind="namespace" language="Fortran">
    <compoundname>mom_surface_forcing_gfdl</compoundname>
    <innerclass refid="structmom__surface__forcing__gfdl_1_1ice__ocean__boundary__type" prot="public">mom_surface_forcing_gfdl::ice_ocean_boundary_type</innerclass>
    <innerclass refid="structmom__surface__forcing__gfdl_1_1surface__forcing__cs" prot="public">mom_surface_forcing_gfdl::surface_forcing_cs</innerclass>
      <sectiondef kind="var">
      <memberdef kind="variable" id="namespacemom__surface__forcing__gfdl_1a491b7f4965fe86f99b393d3edf78dde0" prot="public" static="no" mutable="no">
        <type>integer</type>
        <definition>integer mom_surface_forcing_gfdl::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/coupled_driver/MOM_surface_forcing_gfdl.F90" line="201" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/MOM_surface_forcing_gfdl.F90" bodystart="201" bodyend="201"/>
        <referencedby refid="namespacemom__surface__forcing__gfdl_1a2fe7a51ec437d6d93c6f1108b7bb9fea" compoundref="MOM__surface__forcing__gfdl_8F90" startline="209" endline="644">convert_iob_to_fluxes</referencedby>
        <referencedby refid="namespacemom__surface__forcing__gfdl_1ab3bd6a4a21720d3f0a853dd87828a86d" compoundref="MOM__surface__forcing__gfdl_8F90" startline="651" endline="866">convert_iob_to_forces</referencedby>
        <referencedby refid="namespacemom__surface__forcing__gfdl_1a25a6cb8f96867efc90dc0f4e79802c6e" compoundref="MOM__surface__forcing__gfdl_8F90" startline="1233" endline="1601">surface_forcing_init</referencedby>
      </memberdef>
      </sectiondef>
      <sectiondef kind="func">
      <memberdef kind="function" id="namespacemom__surface__forcing__gfdl_1a2fe7a51ec437d6d93c6f1108b7bb9fea" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_surface_forcing_gfdl::convert_iob_to_fluxes</definition>
        <argsstring>(IOB, fluxes, index_bounds, Time, valid_time, G, US, CS, sfc_state)</argsstring>
        <name>convert_iob_to_fluxes</name>
        <param>
          <type>IOB</type>
          <defname>IOB</defname>
        </param>
        <param>
          <type>fluxes</type>
          <defname>fluxes</defname>
        </param>
        <param>
          <type>index_bounds</type>
          <defname>index_bounds</defname>
        </param>
        <param>
          <type>Time</type>
          <defname>Time</defname>
        </param>
        <param>
          <type>valid_time</type>
          <defname>valid_time</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>
        <param>
          <type>sfc_state</type>
          <defname>sfc_state</defname>
        </param>
        <briefdescription>
<para>This subroutine translates the Ice_ocean_boundary_type into a MOM thermodynamic forcing type, including changes of units, sign conventions, and putting the fields into arrays with MOM-standard halos. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">iob</parametername>
</parameternamelist>
<parameterdescription>
<para>An ice-ocean boundary type with fluxes to drive</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">fluxes</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing pointers to all possible mass, heat or salt flux forcing fields. Unused fields have NULL ptrs.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">index_bounds</parametername>
</parameternamelist>
<parameterdescription>
<para>The i- and j- size of the arrays in IOB.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">time</parametername>
</parameternamelist>
<parameterdescription>
<para>The time of the fluxes, used for interpolating the salinity to the right time, when it is being restored.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">valid_time</parametername>
</parameternamelist>
<parameterdescription>
<para>The amount of time over which these fluxes should be applied [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>A pointer to the control structure returned by a previous call to surface_forcing_init.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">sfc_state</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing fields that describe the surface state of the ocean. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/MOM_surface_forcing_gfdl.F90" line="208" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/MOM_surface_forcing_gfdl.F90" bodystart="209" bodyend="644"/>
        <references refid="namespacemom__spatial__means_1ad9473cfc35e049c8cd062b94a5acfc7a" compoundref="MOM__spatial__means_8F90" startline="368" endline="415">mom_spatial_means::adjust_area_mean_to_zero</references>
        <references refid="namespacemom__surface__forcing__gfdl_1a6f37c3ebf4074e7dff8cd4572659fa3f" compoundref="MOM__surface__forcing__gfdl_8F90" startline="1110" endline="1147">apply_flux_adjustments</references>
        <references refid="namespacemom__surface__forcing__gfdl_1ae0e22227d25f2b11fca5fdcf07e9c2ae" compoundref="MOM__surface__forcing__gfdl_8F90" startline="1664" endline="1688">check_mask_val_consistency</references>
        <references refid="namespacemom__surface__forcing__gfdl_1afec837452a10c23adf1363385f263a2f" compoundref="MOM__surface__forcing__gfdl_8F90" startline="875" endline="1099">extract_iob_stresses</references>
        <references refid="namespacemom__surface__forcing__gfdl_1a491b7f4965fe86f99b393d3edf78dde0" compoundref="MOM__surface__forcing__gfdl_8F90" startline="201" endline="201">id_clock_forcing</references>
      </memberdef>
      <memberdef kind="function" id="namespacemom__surface__forcing__gfdl_1ab3bd6a4a21720d3f0a853dd87828a86d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_surface_forcing_gfdl::convert_iob_to_forces</definition>
        <argsstring>(IOB, forces, index_bounds, Time, G, US, CS, dt_forcing, reset_avg)</argsstring>
        <name>convert_iob_to_forces</name>
        <param>
          <type>IOB</type>
          <defname>IOB</defname>
        </param>
        <param>
          <type>forces</type>
          <defname>forces</defname>
        </param>
        <param>
          <type>index_bounds</type>
          <defname>index_bounds</defname>
        </param>
        <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>CS</type>
          <defname>CS</defname>
        </param>
        <param>
          <type>dt_forcing</type>
          <defname>dt_forcing</defname>
        </param>
        <param>
          <type>reset_avg</type>
          <defname>reset_avg</defname>
        </param>
        <briefdescription>
<para>This subroutine translates the Ice_ocean_boundary_type into a MOM mechanical forcing type, including changes of units, sign conventions, and putting the fields into arrays with MOM-standard halos. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">iob</parametername>
</parameternamelist>
<parameterdescription>
<para>An ice-ocean boundary type with fluxes to drive</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">index_bounds</parametername>
</parameternamelist>
<parameterdescription>
<para>The i- and j- size of the arrays in IOB.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">time</parametername>
</parameternamelist>
<parameterdescription>
<para>The time of the fluxes, used for interpolating the salinity to the right time, when it is being restored.</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>A pointer to the control structure returned by a previous call to surface_forcing_init.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">dt_forcing</parametername>
</parameternamelist>
<parameterdescription>
<para>A time interval over which to apply the current value of ustar as a weighted running average [s], or if 0 do not average ustar. Missing is equivalent to 0.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">reset_avg</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, reset the time average. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/MOM_surface_forcing_gfdl.F90" line="650" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/MOM_surface_forcing_gfdl.F90" bodystart="651" bodyend="866"/>
        <references refid="namespacemom__surface__forcing__gfdl_1a5920ab8f1c6157706a0388b318fb0fc9" compoundref="MOM__surface__forcing__gfdl_8F90" startline="1156" endline="1208">apply_force_adjustments</references>
        <references refid="namespacemom__surface__forcing__gfdl_1afec837452a10c23adf1363385f263a2f" compoundref="MOM__surface__forcing__gfdl_8F90" startline="875" endline="1099">extract_iob_stresses</references>
        <references refid="namespacemom__surface__forcing__gfdl_1a491b7f4965fe86f99b393d3edf78dde0" compoundref="MOM__surface__forcing__gfdl_8F90" startline="201" endline="201">id_clock_forcing</references>
      </memberdef>
      <memberdef kind="function" id="namespacemom__surface__forcing__gfdl_1afec837452a10c23adf1363385f263a2f" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_surface_forcing_gfdl::extract_iob_stresses</definition>
        <argsstring>(IOB, index_bounds, Time, G, US, CS, taux, tauy, ustar, gustless_ustar, tau_halo)</argsstring>
        <name>extract_iob_stresses</name>
        <param>
          <type>IOB</type>
          <defname>IOB</defname>
        </param>
        <param>
          <type>index_bounds</type>
          <defname>index_bounds</defname>
        </param>
        <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>CS</type>
          <defname>CS</defname>
        </param>
        <param>
          <type>taux</type>
          <defname>taux</defname>
        </param>
        <param>
          <type>tauy</type>
          <defname>tauy</defname>
        </param>
        <param>
          <type>ustar</type>
          <defname>ustar</defname>
        </param>
        <param>
          <type>gustless_ustar</type>
          <defname>gustless_ustar</defname>
        </param>
        <param>
          <type>tau_halo</type>
          <defname>tau_halo</defname>
        </param>
        <briefdescription>
<para>This subroutine extracts the wind stresses and related fields like ustar from an Ice_ocean_boundary_type into optional argument arrays, including changes of units, sign conventions, and putting the fields into arrays with MOM-standard sized halos. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">iob</parametername>
</parameternamelist>
<parameterdescription>
<para>An ice-ocean boundary type with fluxes to drive</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">index_bounds</parametername>
</parameternamelist>
<parameterdescription>
<para>The i- and j- size of the arrays in IOB.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">time</parametername>
</parameternamelist>
<parameterdescription>
<para>The time of the fluxes, used for interpolating the salinity to the right time, when it is being restored.</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>A pointer to the control structure returned by a previous call to surface_forcing_init.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">taux</parametername>
</parameternamelist>
<parameterdescription>
<para>The zonal wind stresses on a C-grid [R Z L T-2 ~&gt; Pa].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">tauy</parametername>
</parameternamelist>
<parameterdescription>
<para>The meridional wind stresses on a C-grid [R Z L T-2 ~&gt; Pa].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">ustar</parametername>
</parameternamelist>
<parameterdescription>
<para>The surface friction velocity [Z T-1 ~&gt; m s-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">gustless_ustar</parametername>
</parameternamelist>
<parameterdescription>
<para>The surface friction velocity without</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">tau_halo</parametername>
</parameternamelist>
<parameterdescription>
<para>The halo size of wind stresses to set, 0 by default. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/MOM_surface_forcing_gfdl.F90" line="873" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/MOM_surface_forcing_gfdl.F90" bodystart="875" bodyend="1099"/>
        <references refid="namespacemom__error__handler_1a460cfb79a06c29fc249952c2a3710d67" compoundref="MOM__error__handler_8F90" startline="72" endline="92">mom_error_handler::mom_error</references>
        <referencedby refid="namespacemom__surface__forcing__gfdl_1a2fe7a51ec437d6d93c6f1108b7bb9fea" compoundref="MOM__surface__forcing__gfdl_8F90" startline="209" endline="644">convert_iob_to_fluxes</referencedby>
        <referencedby refid="namespacemom__surface__forcing__gfdl_1ab3bd6a4a21720d3f0a853dd87828a86d" compoundref="MOM__surface__forcing__gfdl_8F90" startline="651" endline="866">convert_iob_to_forces</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__surface__forcing__gfdl_1a6f37c3ebf4074e7dff8cd4572659fa3f" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_surface_forcing_gfdl::apply_flux_adjustments</definition>
        <argsstring>(G, US, CS, Time, fluxes)</argsstring>
        <name>apply_flux_adjustments</name>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <param>
          <type>Time</type>
          <defname>Time</defname>
        </param>
        <param>
          <type>fluxes</type>
          <defname>fluxes</defname>
        </param>
        <briefdescription>
<para>Adds thermodynamic flux adjustments obtained via data_override Component name is &apos;OCN&apos; Available adjustments are: </para>        </briefdescription>
        <detaileddescription>
<para><itemizedlist>
<listitem><para>hflx_adj (Heat flux into the ocean [W m-2])</para></listitem><listitem><para>sflx_adj (Salt flux into the ocean [kg salt m-2 s-1])</para></listitem><listitem><para>prcme_adj (Fresh water flux into the ocean [kg m-2 s-1])</para></listitem></itemizedlist>
</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">g</parametername>
</parameternamelist>
<parameterdescription>
<para>Ocean 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>Surface forcing control structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">time</parametername>
</parameternamelist>
<parameterdescription>
<para>Model time structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">fluxes</parametername>
</parameternamelist>
<parameterdescription>
<para>Surface fluxes structure </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/MOM_surface_forcing_gfdl.F90" line="1109" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/MOM_surface_forcing_gfdl.F90" bodystart="1110" bodyend="1147"/>
        <referencedby refid="namespacemom__surface__forcing__gfdl_1a2fe7a51ec437d6d93c6f1108b7bb9fea" compoundref="MOM__surface__forcing__gfdl_8F90" startline="209" endline="644">convert_iob_to_fluxes</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__surface__forcing__gfdl_1a5920ab8f1c6157706a0388b318fb0fc9" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_surface_forcing_gfdl::apply_force_adjustments</definition>
        <argsstring>(G, US, CS, Time, forces)</argsstring>
        <name>apply_force_adjustments</name>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <param>
          <type>Time</type>
          <defname>Time</defname>
        </param>
        <param>
          <type>forces</type>
          <defname>forces</defname>
        </param>
        <briefdescription>
<para>Adds mechanical forcing adjustments obtained via data_override Component name is &apos;OCN&apos; Available adjustments are: </para>        </briefdescription>
        <detaileddescription>
<para><itemizedlist>
<listitem><para>taux_adj (Zonal wind stress delta, positive to the east [Pa])</para></listitem><listitem><para>tauy_adj (Meridional wind stress delta, positive to the north [Pa])</para></listitem></itemizedlist>
</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">g</parametername>
</parameternamelist>
<parameterdescription>
<para>Ocean 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>Surface forcing control structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">time</parametername>
</parameternamelist>
<parameterdescription>
<para>Model time structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">forces</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure with the driving mechanical forces </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/MOM_surface_forcing_gfdl.F90" line="1155" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/MOM_surface_forcing_gfdl.F90" bodystart="1156" bodyend="1208"/>
        <references refid="namespacemom__error__handler_1a460cfb79a06c29fc249952c2a3710d67" compoundref="MOM__error__handler_8F90" startline="72" endline="92">mom_error_handler::mom_error</references>
        <referencedby refid="namespacemom__surface__forcing__gfdl_1ab3bd6a4a21720d3f0a853dd87828a86d" compoundref="MOM__surface__forcing__gfdl_8F90" startline="651" endline="866">convert_iob_to_forces</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__surface__forcing__gfdl_1a27cc0fbf6020477172db445d3d0f0ffc" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_surface_forcing_gfdl::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 any restart files associated with the surface forcing. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer to the control structure returned by a previous call to surface_forcing_init</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>The current model time</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">directory</parametername>
</parameternamelist>
<parameterdescription>
<para>The directory into which to write the 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>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/MOM_surface_forcing_gfdl.F90" line="1212" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/MOM_surface_forcing_gfdl.F90" bodystart="1214" bodyend="1228"/>
        <references refid="namespacemom__restart_1a7086116ef9be7656d32ef9c3a7c3f201" compoundref="MOM__restart_8F90" startline="853" endline="1062">mom_restart::save_restart</references>
        <referencedby refid="namespaceocean__model__mod_1a908a47d286b0257e91a253272926dc3d" compoundref="ocean__model__MOM_8F90" startline="673" endline="704">ocean_model_mod::ocean_model_restart</referencedby>
        <referencedby refid="namespaceocean__model__mod_1ad969c968b1133584b9dcf48d78f51c01" compoundref="ocean__model__MOM_8F90" startline="727" endline="757">ocean_model_mod::ocean_model_save_restart</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__surface__forcing__gfdl_1a25a6cb8f96867efc90dc0f4e79802c6e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_surface_forcing_gfdl::surface_forcing_init</definition>
        <argsstring>(Time, G, US, param_file, diag, CS, wind_stagger)</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>wind_stagger</type>
          <defname>wind_stagger</defname>
        </param>
        <briefdescription>
<para>Initialize the surface forcing, including setting parameters and allocating permanent memory. </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>A structure that is used to regulate diagnostic output</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer that is set to point to the control structure for this module</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>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/MOM_surface_forcing_gfdl.F90" line="1232" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/MOM_surface_forcing_gfdl.F90" bodystart="1233" bodyend="1601"/>
        <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__gfdl_1a491b7f4965fe86f99b393d3edf78dde0" compoundref="MOM__surface__forcing__gfdl_8F90" startline="201" endline="201">id_clock_forcing</references>
        <references refid="namespacemom__error__handler_1a460cfb79a06c29fc249952c2a3710d67" compoundref="MOM__error__handler_8F90" startline="72" endline="92">mom_error_handler::mom_error</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="namespacemom__string__functions_1aca148baf726de2f028b7e7baad3c85d4" compoundref="MOM__string__functions_8F90" startline="44" endline="56">mom_string_functions::uppercase</references>
      </memberdef>
      <memberdef kind="function" id="namespacemom__surface__forcing__gfdl_1a008ba1222eb83f418d6465804bd34986" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_surface_forcing_gfdl::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>Clean up and deallocate any memory associated with this module and its children. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer to the control structure returned by a previous call to surface_forcing_init, it will be deallocated here.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">fluxes</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing pointers to all possible mass, heat or salt flux forcing fields. If present, it will be deallocated here. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/MOM_surface_forcing_gfdl.F90" line="1605" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/MOM_surface_forcing_gfdl.F90" bodystart="1606" bodyend="1619"/>
      </memberdef>
      <memberdef kind="function" id="namespacemom__surface__forcing__gfdl_1abbffe0a2c55b8f90a3db1b3ce627b554" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_surface_forcing_gfdl::ice_ocn_bnd_type_chksum</definition>
        <argsstring>(id, timestep, iobt)</argsstring>
        <name>ice_ocn_bnd_type_chksum</name>
        <param>
          <type>id</type>
          <defname>id</defname>
        </param>
        <param>
          <type>timestep</type>
          <defname>timestep</defname>
        </param>
        <param>
          <type>iobt</type>
          <defname>iobt</defname>
        </param>
        <briefdescription>
<para>Write out a set of messages with checksums of the fields in an ice_ocen_boundary type. </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">iobt</parametername>
</parameternamelist>
<parameterdescription>
<para>An ice-ocean boundary type with fluxes to drive the </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/MOM_surface_forcing_gfdl.F90" line="1623" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/MOM_surface_forcing_gfdl.F90" bodystart="1624" bodyend="1659"/>
      </memberdef>
      <memberdef kind="function" id="namespacemom__surface__forcing__gfdl_1ae0e22227d25f2b11fca5fdcf07e9c2ae" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_surface_forcing_gfdl::check_mask_val_consistency</definition>
        <argsstring>(val, mask, i, j, varname, G)</argsstring>
        <name>check_mask_val_consistency</name>
        <param>
          <type>val</type>
          <defname>val</defname>
        </param>
        <param>
          <type>mask</type>
          <defname>mask</defname>
        </param>
        <param>
          <type>i</type>
          <defname>i</defname>
        </param>
        <param>
          <type>j</type>
          <defname>j</defname>
        </param>
        <param>
          <type>varname</type>
          <defname>varname</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <briefdescription>
<para>Check the values passed by IOB over land are zero. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">val</parametername>
</parameternamelist>
<parameterdescription>
<para>value of flux/variable passed by IOB</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">mask</parametername>
</parameternamelist>
<parameterdescription>
<para>value of ocean mask</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">i</parametername>
</parameternamelist>
<parameterdescription>
<para>model grid cell indices</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">j</parametername>
</parameternamelist>
<parameterdescription>
<para>model grid cell indices</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">varname</parametername>
</parameternamelist>
<parameterdescription>
<para>variable name</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">g</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/MOM_surface_forcing_gfdl.F90" line="1663" column="1" bodyfile="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/MOM_surface_forcing_gfdl.F90" bodystart="1664" bodyend="1688"/>
        <references refid="namespacemom__error__handler_1a460cfb79a06c29fc249952c2a3710d67" compoundref="MOM__error__handler_8F90" startline="72" endline="92">mom_error_handler::mom_error</references>
        <referencedby refid="namespacemom__surface__forcing__gfdl_1a2fe7a51ec437d6d93c6f1108b7bb9fea" compoundref="MOM__surface__forcing__gfdl_8F90" startline="209" endline="644">convert_iob_to_fluxes</referencedby>
      </memberdef>
      </sectiondef>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <location file="/home/cermak/src/MOM6.devrob/config_src/coupled_driver/MOM_surface_forcing_gfdl.F90" line="1" column="1"/>
  </compounddef>
</doxygen>
