\hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs}{}\section{mom\+\_\+surface\+\_\+forcing\+\_\+gfdl\+:\+:surface\+\_\+forcing\+\_\+cs Type Reference}
\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs}\index{mom\+\_\+surface\+\_\+forcing\+\_\+gfdl\+::surface\+\_\+forcing\+\_\+cs@{mom\+\_\+surface\+\_\+forcing\+\_\+gfdl\+::surface\+\_\+forcing\+\_\+cs}}


\subsection{Detailed Description}
surface\+\_\+forcing\+\_\+\+CS is a structure containing pointers to the forcing fields which may be used to drive M\+OM. All fluxes are positive downward. 

Definition at line 59 of file M\+O\+M\+\_\+surface\+\_\+forcing\+\_\+gfdl.\+F90.



Collaboration diagram for mom\+\_\+surface\+\_\+forcing\+\_\+gfdl\+:\+:surface\+\_\+forcing\+\_\+cs\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{structmom__surface__forcing__gfdl_1_1surface__forcing__cs__coll__graph}
\end{center}
\end{figure}
\subsection*{Public variables and constants}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a74a9213d9abaa72374ee88f8736655c5}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a74a9213d9abaa72374ee88f8736655c5}} 
integer \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a74a9213d9abaa72374ee88f8736655c5}{wind\+\_\+stagger}
\begin{DoxyCompactList}\small\item\em A\+G\+R\+ID, B\+G\+R\+I\+D\+\_\+\+NE, or C\+G\+R\+I\+D\+\_\+\+NE (integer values from M\+O\+M\+\_\+domains) to indicate the staggering of the winds that are being provided in calls to update\+\_\+ocean\+\_\+model. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a2aebba46c924148aaf87dcb58826d3a7}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a2aebba46c924148aaf87dcb58826d3a7}} 
logical \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a2aebba46c924148aaf87dcb58826d3a7}{use\+\_\+temperature}
\begin{DoxyCompactList}\small\item\em If true, temp and saln used as state variables. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a5a3e588516fe537ae8a1744d0b0c17e6}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a5a3e588516fe537ae8a1744d0b0c17e6}} 
real \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a5a3e588516fe537ae8a1744d0b0c17e6}{wind\+\_\+stress\+\_\+multiplier}
\begin{DoxyCompactList}\small\item\em A multiplier applied to incoming wind stress \mbox{[}nondim\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a31cf09e7d3ba61caebc6eecf64d12761}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a31cf09e7d3ba61caebc6eecf64d12761}} 
real \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a31cf09e7d3ba61caebc6eecf64d12761}{rho0}
\begin{DoxyCompactList}\small\item\em Boussinesq reference density \mbox{[}R $\sim$$>$ kg m-\/3\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_ae6a3617f08cb1aff99454f70bd4066c0}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_ae6a3617f08cb1aff99454f70bd4066c0}} 
real \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_ae6a3617f08cb1aff99454f70bd4066c0}{area\+\_\+surf} = -\/1.\+0
\begin{DoxyCompactList}\small\item\em Total ocean surface area \mbox{[}m2\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a585f0677383edc6e82d8fc04e0e2e973}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a585f0677383edc6e82d8fc04e0e2e973}} 
real \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a585f0677383edc6e82d8fc04e0e2e973}{latent\+\_\+heat\+\_\+fusion}
\begin{DoxyCompactList}\small\item\em Latent heat of fusion \mbox{[}J kg-\/1\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a4f521681aed1fef258ee1a7eb1002fd0}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a4f521681aed1fef258ee1a7eb1002fd0}} 
real \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a4f521681aed1fef258ee1a7eb1002fd0}{latent\+\_\+heat\+\_\+vapor}
\begin{DoxyCompactList}\small\item\em Latent heat of vaporization \mbox{[}J kg-\/1\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_afb7947adfe7672df15911a17b6780ae7}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_afb7947adfe7672df15911a17b6780ae7}} 
real \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_afb7947adfe7672df15911a17b6780ae7}{max\+\_\+p\+\_\+surf}
\begin{DoxyCompactList}\small\item\em The maximum surface pressure that can be exerted by the atmosphere and floating sea-\/ice \mbox{[}R L2 T-\/2 $\sim$$>$ Pa\mbox{]}. This is needed because the F\+MS coupling structure does not limit the water that can be frozen out of the ocean and the ice-\/ocean heat fluxes are treated explicitly. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_aa7ede7a3dcffe2f1632de1e3461ba949}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_aa7ede7a3dcffe2f1632de1e3461ba949}} 
logical \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_aa7ede7a3dcffe2f1632de1e3461ba949}{use\+\_\+limited\+\_\+p\+\_\+ssh}
\begin{DoxyCompactList}\small\item\em If true, return the sea surface height with the correction for the atmospheric (and sea-\/ice) pressure limited by max\+\_\+p\+\_\+surf instead of the full atmospheric pressure. The default is true. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_ad3427975267a29e5b603be9b683464d7}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_ad3427975267a29e5b603be9b683464d7}} 
logical \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_ad3427975267a29e5b603be9b683464d7}{approx\+\_\+net\+\_\+mass\+\_\+src}
\begin{DoxyCompactList}\small\item\em If true, use the net mass sources from the ice-\/ocean boundary type without any further adjustments to drive the ocean dynamics. The actual net mass source may differ due to corrections. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_af5910c2024918a9621f276dbd9f792a7}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_af5910c2024918a9621f276dbd9f792a7}} 
real \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_af5910c2024918a9621f276dbd9f792a7}{gust\+\_\+const}
\begin{DoxyCompactList}\small\item\em Constant unresolved background gustiness for ustar \mbox{[}R L Z T-\/1 $\sim$$>$ Pa\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_aa9b4c0872af42614f3ae89964b18c36f}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_aa9b4c0872af42614f3ae89964b18c36f}} 
logical \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_aa9b4c0872af42614f3ae89964b18c36f}{read\+\_\+gust\+\_\+2d}
\begin{DoxyCompactList}\small\item\em If true, use a 2-\/dimensional gustiness supplied from an input file. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a0fe578102e5825f4f0a2fd99d6363e69}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a0fe578102e5825f4f0a2fd99d6363e69}} 
real, dimension(\+:,\+:), pointer \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a0fe578102e5825f4f0a2fd99d6363e69}{tke\+\_\+tidal} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em Turbulent kinetic energy introduced to the bottom boundary layer. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a0bc54104716169efe83fe4bb5784de09}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a0bc54104716169efe83fe4bb5784de09}} 
real, dimension(\+:,\+:), pointer \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a0bc54104716169efe83fe4bb5784de09}{gust} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em A spatially varying unresolved background gustiness that. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_ac06409ec3999359fcd6cea809481268d}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_ac06409ec3999359fcd6cea809481268d}} 
real, dimension(\+:,\+:), pointer \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_ac06409ec3999359fcd6cea809481268d}{ustar\+\_\+tidal} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em Tidal contribution to the bottom friction velocity \mbox{[}Z T-\/1 $\sim$$>$ m s-\/1\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a14ec8cd0738dbfeb1022c03b9a4fec4d}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a14ec8cd0738dbfeb1022c03b9a4fec4d}} 
real \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a14ec8cd0738dbfeb1022c03b9a4fec4d}{cd\+\_\+tides}
\begin{DoxyCompactList}\small\item\em Drag coefficient that applies to the tides (nondimensional) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_ab8249ca0c6902532dbcbb27015362007}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_ab8249ca0c6902532dbcbb27015362007}} 
real \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_ab8249ca0c6902532dbcbb27015362007}{utide}
\begin{DoxyCompactList}\small\item\em Constant tidal velocity to use if read\+\_\+tideamp is false \mbox{[}Z T-\/1 $\sim$$>$ m s-\/1\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a77752cff6300a4660519ff05343443d9}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a77752cff6300a4660519ff05343443d9}} 
logical \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a77752cff6300a4660519ff05343443d9}{read\+\_\+tideamp}
\begin{DoxyCompactList}\small\item\em If true, spatially varying tidal amplitude read from a file. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_acb9fe4da4cbde8f3fb507c24761585a0}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_acb9fe4da4cbde8f3fb507c24761585a0}} 
logical \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_acb9fe4da4cbde8f3fb507c24761585a0}{rigid\+\_\+sea\+\_\+ice}
\begin{DoxyCompactList}\small\item\em If true, sea-\/ice exerts a rigidity that acts to damp surface deflections (especially surface gravity waves). The default is false. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a8a2b7d759abdf88d013637d8ca6cb15f}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a8a2b7d759abdf88d013637d8ca6cb15f}} 
real \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a8a2b7d759abdf88d013637d8ca6cb15f}{g\+\_\+earth}
\begin{DoxyCompactList}\small\item\em Gravitational acceleration \mbox{[}L2 Z-\/1 T-\/2 $\sim$$>$ m s-\/2\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a978c1be793efd7e63425f8c040a22306}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a978c1be793efd7e63425f8c040a22306}} 
real \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a978c1be793efd7e63425f8c040a22306}{kv\+\_\+sea\+\_\+ice}
\begin{DoxyCompactList}\small\item\em Viscosity in sea-\/ice that resists sheared vertical motions \mbox{[}L4 Z-\/2 T-\/1 $\sim$$>$ m2 s-\/1\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a7f013cef9745a61dd6133a77d0625fb5}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a7f013cef9745a61dd6133a77d0625fb5}} 
real \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a7f013cef9745a61dd6133a77d0625fb5}{density\+\_\+sea\+\_\+ice}
\begin{DoxyCompactList}\small\item\em Typical density of sea-\/ice \mbox{[}R $\sim$$>$ kg m-\/3\mbox{]}. The value is only used to convert the ice pressure into appropriate units for use with Kv\+\_\+sea\+\_\+ice. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a3ddda5451f80b6e669e0aef750d23209}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a3ddda5451f80b6e669e0aef750d23209}} 
real \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a3ddda5451f80b6e669e0aef750d23209}{rigid\+\_\+sea\+\_\+ice\+\_\+mass}
\begin{DoxyCompactList}\small\item\em A mass per unit area of sea-\/ice beyond which sea-\/ice viscosity becomes effective \mbox{[}R Z $\sim$$>$ kg m-\/2\mbox{]}, typically of order 1000 kg m-\/2. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a8a88aae5b92844196f043d8040801094}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a8a88aae5b92844196f043d8040801094}} 
logical \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a8a88aae5b92844196f043d8040801094}{allow\+\_\+flux\+\_\+adjustments}
\begin{DoxyCompactList}\small\item\em If true, use data\+\_\+override to obtain flux adjustments. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a1e7bd0e876028fbd827e133dba43e608}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a1e7bd0e876028fbd827e133dba43e608}} 
logical \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a1e7bd0e876028fbd827e133dba43e608}{restore\+\_\+salt}
\begin{DoxyCompactList}\small\item\em If true, the coupled M\+OM driver adds a term to restore surface salinity to a specified value. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a56c84c344f8cb2ba1a996595915c2eb9}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a56c84c344f8cb2ba1a996595915c2eb9}} 
logical \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a56c84c344f8cb2ba1a996595915c2eb9}{restore\+\_\+temp}
\begin{DoxyCompactList}\small\item\em If true, the coupled M\+OM driver adds a term to restore sea surface temperature to a specified value. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_ad859cef618cdf48d91f2334036030128}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_ad859cef618cdf48d91f2334036030128}} 
real \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_ad859cef618cdf48d91f2334036030128}{flux\+\_\+const}
\begin{DoxyCompactList}\small\item\em Piston velocity for surface restoring \mbox{[}Z T-\/1 $\sim$$>$ m s-\/1\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a07a871b3331274eede62123e773eaea2}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a07a871b3331274eede62123e773eaea2}} 
logical \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a07a871b3331274eede62123e773eaea2}{salt\+\_\+restore\+\_\+as\+\_\+sflux}
\begin{DoxyCompactList}\small\item\em If true, S\+SS restore as salt flux instead of water flux. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a2ee7bfa3d4e4c95166be5641039f1800}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a2ee7bfa3d4e4c95166be5641039f1800}} 
logical \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a2ee7bfa3d4e4c95166be5641039f1800}{adjust\+\_\+net\+\_\+srestore\+\_\+to\+\_\+zero}
\begin{DoxyCompactList}\small\item\em Adjust srestore to zero (for both salt\+\_\+flux or vprec) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a646de6579a7b5f3ce1eb6a93ec5b0318}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a646de6579a7b5f3ce1eb6a93ec5b0318}} 
logical \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a646de6579a7b5f3ce1eb6a93ec5b0318}{adjust\+\_\+net\+\_\+srestore\+\_\+by\+\_\+scaling}
\begin{DoxyCompactList}\small\item\em Adjust srestore w/o moving zero contour. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a33eb07261553e5ab15b4b2ffdf2a3e5f}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a33eb07261553e5ab15b4b2ffdf2a3e5f}} 
logical \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a33eb07261553e5ab15b4b2ffdf2a3e5f}{adjust\+\_\+net\+\_\+fresh\+\_\+water\+\_\+to\+\_\+zero}
\begin{DoxyCompactList}\small\item\em Adjust net surface fresh-\/water (with restoring) to zero. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a6c87cb741c81ca30956c5316e79ffc0e}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a6c87cb741c81ca30956c5316e79ffc0e}} 
logical \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a6c87cb741c81ca30956c5316e79ffc0e}{use\+\_\+net\+\_\+fw\+\_\+adjustment\+\_\+sign\+\_\+bug}
\begin{DoxyCompactList}\small\item\em Use the wrong sign when adjusting net FW. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a3d44c06564a8d2ce686d7f58e6a6ee64}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a3d44c06564a8d2ce686d7f58e6a6ee64}} 
logical \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a3d44c06564a8d2ce686d7f58e6a6ee64}{adjust\+\_\+net\+\_\+fresh\+\_\+water\+\_\+by\+\_\+scaling}
\begin{DoxyCompactList}\small\item\em Adjust net surface fresh-\/water w/o moving zero contour. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_ac0a0b35348dc615ac87605b0b5a6b575}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_ac0a0b35348dc615ac87605b0b5a6b575}} 
logical \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_ac0a0b35348dc615ac87605b0b5a6b575}{mask\+\_\+srestore\+\_\+under\+\_\+ice}
\begin{DoxyCompactList}\small\item\em If true, use an ice mask defined by frazil criteria for salinity restoring. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a0304f8c883e481aea8fcbc97bd558325}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a0304f8c883e481aea8fcbc97bd558325}} 
real \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a0304f8c883e481aea8fcbc97bd558325}{ice\+\_\+salt\+\_\+concentration}
\begin{DoxyCompactList}\small\item\em Salt concentration for sea ice \mbox{[}kg/kg\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a91856d9b100de4f78e9d4eda480e7ff2}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a91856d9b100de4f78e9d4eda480e7ff2}} 
logical \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a91856d9b100de4f78e9d4eda480e7ff2}{mask\+\_\+srestore\+\_\+marginal\+\_\+seas}
\begin{DoxyCompactList}\small\item\em If true, then mask S\+SS restoring in marginal seas. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a64d6715704b03c890a833435d5a6ec8b}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a64d6715704b03c890a833435d5a6ec8b}} 
real \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a64d6715704b03c890a833435d5a6ec8b}{max\+\_\+delta\+\_\+srestore}
\begin{DoxyCompactList}\small\item\em Maximum delta salinity used for restoring. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a66e9140c2296d5768fcf08b70b32b707}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a66e9140c2296d5768fcf08b70b32b707}} 
real \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a66e9140c2296d5768fcf08b70b32b707}{max\+\_\+delta\+\_\+trestore}
\begin{DoxyCompactList}\small\item\em Maximum delta sst used for restoring. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a10f316f5383c5999cf558ac626c16c15}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a10f316f5383c5999cf558ac626c16c15}} 
real, dimension(\+:,\+:), pointer \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a10f316f5383c5999cf558ac626c16c15}{basin\+\_\+mask} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em Mask for surface salinity restoring by basin. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a5a69d51ba04048074906d4af8e3e7545}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a5a69d51ba04048074906d4af8e3e7545}} 
logical \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a5a69d51ba04048074906d4af8e3e7545}{answers\+\_\+2018}
\begin{DoxyCompactList}\small\item\em If true, use the order of arithmetic and expressions that recover the answers from the end of 2018. Otherwise, use a simpler expression to calculate gustiness. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a6c3d3613274d66a0c9542570e5c9c08b}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a6c3d3613274d66a0c9542570e5c9c08b}} 
logical \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a6c3d3613274d66a0c9542570e5c9c08b}{fix\+\_\+ustar\+\_\+gustless\+\_\+bug}
\begin{DoxyCompactList}\small\item\em If true correct a bug in the time-\/averaging of the gustless wind friction velocity. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a04c4d6536a91ece76942042ba33d8d9e}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a04c4d6536a91ece76942042ba33d8d9e}} 
logical \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a04c4d6536a91ece76942042ba33d8d9e}{check\+\_\+no\+\_\+land\+\_\+fluxes}
\begin{DoxyCompactList}\small\item\em Return warning if I\+OB flux over land is non-\/zero. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a89aecf0b339556c2b5f609cf0a80814e}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a89aecf0b339556c2b5f609cf0a80814e}} 
type(diag\+\_\+ctrl), pointer \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a89aecf0b339556c2b5f609cf0a80814e}{diag} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em Structure to regulate diagnostic output timing. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a74815851feb3a31eb957b12b91c9024b}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a74815851feb3a31eb957b12b91c9024b}} 
character(len=200) \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a74815851feb3a31eb957b12b91c9024b}{inputdir}
\begin{DoxyCompactList}\small\item\em Directory where Net\+C\+DF input files are. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a0ac2c9a1b6624e10f893efa8e6b31afa}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a0ac2c9a1b6624e10f893efa8e6b31afa}} 
character(len=200) \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a0ac2c9a1b6624e10f893efa8e6b31afa}{salt\+\_\+restore\+\_\+file}
\begin{DoxyCompactList}\small\item\em Filename for salt restoring data. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a0b346d2c737c35ca239732f92e9abe0d}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a0b346d2c737c35ca239732f92e9abe0d}} 
character(len=30) \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a0b346d2c737c35ca239732f92e9abe0d}{salt\+\_\+restore\+\_\+var\+\_\+name}
\begin{DoxyCompactList}\small\item\em Name of surface salinity in salt\+\_\+restore\+\_\+file. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_adc5a1221e82113b2dee54ab74d0a8dd3}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_adc5a1221e82113b2dee54ab74d0a8dd3}} 
logical \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_adc5a1221e82113b2dee54ab74d0a8dd3}{mask\+\_\+srestore}
\begin{DoxyCompactList}\small\item\em If true, apply a 2-\/dimensional mask to the surface salinity restoring fluxes. The masking file should be in inputdir/salt\+\_\+restore\+\_\+mask.\+nc and the field should be named \textquotesingle{}mask\textquotesingle{}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a26d06614fbd98d3144514851edb76486}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a26d06614fbd98d3144514851edb76486}} 
real, dimension(\+:,\+:), pointer \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a26d06614fbd98d3144514851edb76486}{srestore\+\_\+mask} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em mask for S\+SS restoring \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a2b48a57f1f8d1c1c9f0efe201e4c59e3}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a2b48a57f1f8d1c1c9f0efe201e4c59e3}} 
character(len=200) \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a2b48a57f1f8d1c1c9f0efe201e4c59e3}{temp\+\_\+restore\+\_\+file}
\begin{DoxyCompactList}\small\item\em Filename for sst restoring data. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_ac86cecc1d32eeb1058a5edbc7d992d50}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_ac86cecc1d32eeb1058a5edbc7d992d50}} 
character(len=30) \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_ac86cecc1d32eeb1058a5edbc7d992d50}{temp\+\_\+restore\+\_\+var\+\_\+name}
\begin{DoxyCompactList}\small\item\em Name of surface temperature in temp\+\_\+restore\+\_\+file. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a7e1cee5817a3bd8138100e95c7757e05}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a7e1cee5817a3bd8138100e95c7757e05}} 
logical \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a7e1cee5817a3bd8138100e95c7757e05}{mask\+\_\+trestore}
\begin{DoxyCompactList}\small\item\em If true, apply a 2-\/dimensional mask to the surface temperature restoring fluxes. The masking file should be in inputdir/temp\+\_\+restore\+\_\+mask.\+nc and the field should be named \textquotesingle{}mask\textquotesingle{}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a1ec683df35aa0dada54de1959881753e}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a1ec683df35aa0dada54de1959881753e}} 
real, dimension(\+:,\+:), pointer \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a1ec683df35aa0dada54de1959881753e}{trestore\+\_\+mask} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em Mask for S\+ST restoring. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a7deaf90815945c29d69f57ccc0a09277}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a7deaf90815945c29d69f57ccc0a09277}} 
integer \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a7deaf90815945c29d69f57ccc0a09277}{id\+\_\+srestore} = -\/1
\begin{DoxyCompactList}\small\item\em An id number for time\+\_\+interp\+\_\+external. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a2acdda12236202a9e8bb8cf1f9e165f1}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a2acdda12236202a9e8bb8cf1f9e165f1}} 
integer \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a2acdda12236202a9e8bb8cf1f9e165f1}{id\+\_\+trestore} = -\/1
\begin{DoxyCompactList}\small\item\em An id number for time\+\_\+interp\+\_\+external. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_aee4aff1faa320fa9323d72844f2d33e1}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_aee4aff1faa320fa9323d72844f2d33e1}} 
type(forcing\+\_\+diags), public \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_aee4aff1faa320fa9323d72844f2d33e1}{handles}
\begin{DoxyCompactList}\small\item\em Diagnostics handles. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_aea31faced28b3453588b34742ed6b115}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_aea31faced28b3453588b34742ed6b115}} 
type(mom\+\_\+restart\+\_\+cs), pointer \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_aea31faced28b3453588b34742ed6b115}{restart\+\_\+csp} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em A pointer to the restart control structure. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a39e8dca2e4a3915167996d51bacbaacb}\label{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a39e8dca2e4a3915167996d51bacbaacb}} 
type(user\+\_\+revise\+\_\+forcing\+\_\+cs), pointer \hyperlink{structmom__surface__forcing__gfdl_1_1surface__forcing__cs_a39e8dca2e4a3915167996d51bacbaacb}{urf\+\_\+cs} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em A control structure for user forcing revisions. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
surface\+\_\+forcing\+\_\+\+CS is a structure containing pointers to the forcing fields which may be used to drive M\+OM. All fluxes are positive downward. 

Definition at line 59 of file M\+O\+M\+\_\+surface\+\_\+forcing\+\_\+gfdl.\+F90.



The documentation for this type was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
/home/cermak/src/\+M\+O\+M6.\+devrob/config\+\_\+src/coupled\+\_\+driver/M\+O\+M\+\_\+surface\+\_\+forcing\+\_\+gfdl.\+F90\end{DoxyCompactItemize}
