\hypertarget{structmom_1_1mom__control__struct}{}\section{mom\+:\+:mom\+\_\+control\+\_\+struct Type Reference}
\label{structmom_1_1mom__control__struct}\index{mom\+::mom\+\_\+control\+\_\+struct@{mom\+::mom\+\_\+control\+\_\+struct}}


\subsection{Detailed Description}
Control structure for the M\+OM module, including the variables that describe the state of the ocean. 

Definition at line 165 of file M\+O\+M.\+F90.



Collaboration diagram for mom\+:\+:mom\+\_\+control\+\_\+struct\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{structmom_1_1mom__control__struct__coll__graph}
\end{center}
\end{figure}
\subsection*{Public variables and constants}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a4eae021a57cf635b91bc6fdc66749e08}\label{structmom_1_1mom__control__struct_a4eae021a57cf635b91bc6fdc66749e08}} 
real, dimension(\+:, \+:, \+:), allocatable \mbox{\hyperlink{structmom_1_1mom__control__struct_a4eae021a57cf635b91bc6fdc66749e08}{h}}
\begin{DoxyCompactList}\small\item\em layer thickness \mbox{[}H $\sim$$>$ m or kg m-\/2\mbox{]} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a413f451f58de77fad58c1684f7219575}\label{structmom_1_1mom__control__struct_a413f451f58de77fad58c1684f7219575}} 
real, dimension(\+:, \+:, \+:), allocatable \mbox{\hyperlink{structmom_1_1mom__control__struct_a413f451f58de77fad58c1684f7219575}{t}}
\begin{DoxyCompactList}\small\item\em potential temperature \mbox{[}degC\mbox{]} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a21b602994bebf19ba2adcfc4c458c77f}\label{structmom_1_1mom__control__struct_a21b602994bebf19ba2adcfc4c458c77f}} 
real, dimension(\+:, \+:, \+:), allocatable \mbox{\hyperlink{structmom_1_1mom__control__struct_a21b602994bebf19ba2adcfc4c458c77f}{s}}
\begin{DoxyCompactList}\small\item\em salinity \mbox{[}ppt\mbox{]} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a41ff91aca9321f231fcf9468282866b2}\label{structmom_1_1mom__control__struct_a41ff91aca9321f231fcf9468282866b2}} 
real, dimension(\+:, \+:, \+:), allocatable \mbox{\hyperlink{structmom_1_1mom__control__struct_a41ff91aca9321f231fcf9468282866b2}{u}}
\begin{DoxyCompactList}\small\item\em zonal velocity component \mbox{[}L T-\/1 $\sim$$>$ m s-\/1\mbox{]} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_aa7f6dfc9ca546c868e5a1c5cc2edf695}\label{structmom_1_1mom__control__struct_aa7f6dfc9ca546c868e5a1c5cc2edf695}} 
real, dimension(\+:, \+:, \+:), allocatable \mbox{\hyperlink{structmom_1_1mom__control__struct_aa7f6dfc9ca546c868e5a1c5cc2edf695}{uh}}
\begin{DoxyCompactList}\small\item\em uh = u $\ast$ h $\ast$ dy at u grid points \mbox{[}H L2 T-\/1 $\sim$$>$ m3 s-\/1 or kg s-\/1\mbox{]} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a7b39d7e621c4859c87d7d81fa68b9534}\label{structmom_1_1mom__control__struct_a7b39d7e621c4859c87d7d81fa68b9534}} 
real, dimension(\+:, \+:, \+:), allocatable \mbox{\hyperlink{structmom_1_1mom__control__struct_a7b39d7e621c4859c87d7d81fa68b9534}{uhtr}}
\begin{DoxyCompactList}\small\item\em accumulated zonal thickness fluxes to advect tracers \mbox{[}H L2 $\sim$$>$ m3 or kg\mbox{]} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a10f5e9c1776e27ae1c2dd348c9556f77}\label{structmom_1_1mom__control__struct_a10f5e9c1776e27ae1c2dd348c9556f77}} 
real, dimension(\+:, \+:, \+:), allocatable \mbox{\hyperlink{structmom_1_1mom__control__struct_a10f5e9c1776e27ae1c2dd348c9556f77}{v}}
\begin{DoxyCompactList}\small\item\em meridional velocity \mbox{[}L T-\/1 $\sim$$>$ m s-\/1\mbox{]} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_aa598fc4c0c5f43e085f11b0d23175d10}\label{structmom_1_1mom__control__struct_aa598fc4c0c5f43e085f11b0d23175d10}} 
real, dimension(\+:, \+:, \+:), allocatable \mbox{\hyperlink{structmom_1_1mom__control__struct_aa598fc4c0c5f43e085f11b0d23175d10}{vh}}
\begin{DoxyCompactList}\small\item\em vh = v $\ast$ h $\ast$ dx at v grid points \mbox{[}H L2 T-\/1 $\sim$$>$ m3 s-\/1 or kg s-\/1\mbox{]} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_aa7c0a799de59e9cb4b5802033c74da35}\label{structmom_1_1mom__control__struct_aa7c0a799de59e9cb4b5802033c74da35}} 
real, dimension(\+:, \+:, \+:), allocatable \mbox{\hyperlink{structmom_1_1mom__control__struct_aa7c0a799de59e9cb4b5802033c74da35}{vhtr}}
\begin{DoxyCompactList}\small\item\em accumulated meridional thickness fluxes to advect tracers \mbox{[}H L2 $\sim$$>$ m3 or kg\mbox{]} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_aa436a1001e0aa8dfb091f6398c444452}\label{structmom_1_1mom__control__struct_aa436a1001e0aa8dfb091f6398c444452}} 
real, dimension(\+:, \+:), allocatable \mbox{\hyperlink{structmom_1_1mom__control__struct_aa436a1001e0aa8dfb091f6398c444452}{ssh\+\_\+rint}}
\begin{DoxyCompactList}\small\item\em A running time integral of the sea surface height \mbox{[}T m $\sim$$>$ s m\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a4814ada2b387f4449709b825ce56f8e4}\label{structmom_1_1mom__control__struct_a4814ada2b387f4449709b825ce56f8e4}} 
real, dimension(\+:, \+:), allocatable \mbox{\hyperlink{structmom_1_1mom__control__struct_a4814ada2b387f4449709b825ce56f8e4}{ave\+\_\+ssh\+\_\+ibc}}
\begin{DoxyCompactList}\small\item\em time-\/averaged (over a forcing time step) sea surface height with a correction for the inverse barometer \mbox{[}m\mbox{]} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_ae6201f764166d1e7fb5bc5a01ab6cd36}\label{structmom_1_1mom__control__struct_ae6201f764166d1e7fb5bc5a01ab6cd36}} 
real, dimension(\+:, \+:), allocatable \mbox{\hyperlink{structmom_1_1mom__control__struct_ae6201f764166d1e7fb5bc5a01ab6cd36}{eta\+\_\+av\+\_\+bc}}
\begin{DoxyCompactList}\small\item\em free surface height or column mass time averaged over the last baroclinic dynamics time step \mbox{[}H $\sim$$>$ m or kg m-\/2\mbox{]} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a4a54cf3cefeab1fcaee5ed33bd7d38ee}\label{structmom_1_1mom__control__struct_a4a54cf3cefeab1fcaee5ed33bd7d38ee}} 
real, dimension(\+:,\+:), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_a4a54cf3cefeab1fcaee5ed33bd7d38ee}{hml}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em active mixed layer depth \mbox{[}Z $\sim$$>$ m\mbox{]} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a8d2568366dbc4e291463a9e85887fc45}\label{structmom_1_1mom__control__struct_a8d2568366dbc4e291463a9e85887fc45}} 
real \mbox{\hyperlink{structmom_1_1mom__control__struct_a8d2568366dbc4e291463a9e85887fc45}{time\+\_\+in\+\_\+cycle}}
\begin{DoxyCompactList}\small\item\em The running time of the current time-\/stepping cycle in calls that step the dynamics, and also the length of the time integral of ssh\+\_\+rint \mbox{[}T $\sim$$>$ s\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a9b15fb018eb1d35d2b91235388d95f8a}\label{structmom_1_1mom__control__struct_a9b15fb018eb1d35d2b91235388d95f8a}} 
real \mbox{\hyperlink{structmom_1_1mom__control__struct_a9b15fb018eb1d35d2b91235388d95f8a}{time\+\_\+in\+\_\+thermo\+\_\+cycle}}
\begin{DoxyCompactList}\small\item\em The running time of the current time-\/stepping cycle in calls that step the thermodynamics \mbox{[}T $\sim$$>$ s\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_ab5ddc1c09b08d967824c8a7ae8e8acdf}\label{structmom_1_1mom__control__struct_ab5ddc1c09b08d967824c8a7ae8e8acdf}} 
type(ocean\+\_\+grid\+\_\+type) \mbox{\hyperlink{structmom_1_1mom__control__struct_ab5ddc1c09b08d967824c8a7ae8e8acdf}{g\+\_\+in}}
\begin{DoxyCompactList}\small\item\em Input grid metric. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a6dd5a43deff76a7c05cdfc68a9176910}\label{structmom_1_1mom__control__struct_a6dd5a43deff76a7c05cdfc68a9176910}} 
type(ocean\+\_\+grid\+\_\+type), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_a6dd5a43deff76a7c05cdfc68a9176910}{g}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em Model grid metric. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_ae5558224098abfaf731d63cfc9f33e6e}\label{structmom_1_1mom__control__struct_ae5558224098abfaf731d63cfc9f33e6e}} 
logical \mbox{\hyperlink{structmom_1_1mom__control__struct_ae5558224098abfaf731d63cfc9f33e6e}{rotate\+\_\+index}} = .false.
\begin{DoxyCompactList}\small\item\em True if index map is rotated. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_ab205c7b3f059710df49901a13d297d92}\label{structmom_1_1mom__control__struct_ab205c7b3f059710df49901a13d297d92}} 
type(verticalgrid\+\_\+type), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_ab205c7b3f059710df49901a13d297d92}{gv}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em structure containing vertical grid info \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a49d85380cefccee147f10996ac288b4c}\label{structmom_1_1mom__control__struct_a49d85380cefccee147f10996ac288b4c}} 
type(unit\+\_\+scale\+\_\+type), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_a49d85380cefccee147f10996ac288b4c}{us}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em structure containing various unit conversion factors \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_ab3fc3759e2063c33100069eae737b0a0}\label{structmom_1_1mom__control__struct_ab3fc3759e2063c33100069eae737b0a0}} 
type(thermo\+\_\+var\+\_\+ptrs) \mbox{\hyperlink{structmom_1_1mom__control__struct_ab3fc3759e2063c33100069eae737b0a0}{tv}}
\begin{DoxyCompactList}\small\item\em structure containing pointers to available thermodynamic fields \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a7873e23a6f09e8cc5dcda4af06b0d37c}\label{structmom_1_1mom__control__struct_a7873e23a6f09e8cc5dcda4af06b0d37c}} 
real \mbox{\hyperlink{structmom_1_1mom__control__struct_a7873e23a6f09e8cc5dcda4af06b0d37c}{t\+\_\+dyn\+\_\+rel\+\_\+adv}}
\begin{DoxyCompactList}\small\item\em The time of the dynamics relative to tracer advection and lateral mixing \mbox{[}T $\sim$$>$ s\mbox{]}, or equivalently the elapsed time since advectively updating the tracers. t\+\_\+dyn\+\_\+rel\+\_\+adv is invariably positive and may span multiple coupling timesteps. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a6157bdea12cdce1a886c41ff5862624d}\label{structmom_1_1mom__control__struct_a6157bdea12cdce1a886c41ff5862624d}} 
real \mbox{\hyperlink{structmom_1_1mom__control__struct_a6157bdea12cdce1a886c41ff5862624d}{t\+\_\+dyn\+\_\+rel\+\_\+thermo}}
\begin{DoxyCompactList}\small\item\em The time of the dynamics relative to diabatic processes and remapping \mbox{[}T $\sim$$>$ s\mbox{]}. t\+\_\+dyn\+\_\+rel\+\_\+thermo can be negative or positive depending on whether the diabatic processes are applied before or after the dynamics and may span multiple coupling timesteps. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_afc1b65ca9eeed960dc98034e5a5100fc}\label{structmom_1_1mom__control__struct_afc1b65ca9eeed960dc98034e5a5100fc}} 
real \mbox{\hyperlink{structmom_1_1mom__control__struct_afc1b65ca9eeed960dc98034e5a5100fc}{t\+\_\+dyn\+\_\+rel\+\_\+diag}}
\begin{DoxyCompactList}\small\item\em The time of the diagnostics relative to diabatic processes and remapping \mbox{[}T $\sim$$>$ s\mbox{]}. t\+\_\+dyn\+\_\+rel\+\_\+diag is always positive, since the diagnostics must lag. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a5096c261cb23ef8d3287bc13e588e190}\label{structmom_1_1mom__control__struct_a5096c261cb23ef8d3287bc13e588e190}} 
logical \mbox{\hyperlink{structmom_1_1mom__control__struct_a5096c261cb23ef8d3287bc13e588e190}{preadv\+\_\+h\+\_\+stored}} = .false.
\begin{DoxyCompactList}\small\item\em If true, the thicknesses from before the advective cycle have been stored for use in diagnostics. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_aec5da80b0ebe462abb2f46072077a677}\label{structmom_1_1mom__control__struct_aec5da80b0ebe462abb2f46072077a677}} 
type(diag\+\_\+ctrl) \mbox{\hyperlink{structmom_1_1mom__control__struct_aec5da80b0ebe462abb2f46072077a677}{diag}}
\begin{DoxyCompactList}\small\item\em structure to regulate diagnostic output timing \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a805132adc40078fd89ff9cafcc5be9d4}\label{structmom_1_1mom__control__struct_a805132adc40078fd89ff9cafcc5be9d4}} 
type(vertvisc\+\_\+type) \mbox{\hyperlink{structmom_1_1mom__control__struct_a805132adc40078fd89ff9cafcc5be9d4}{visc}}
\begin{DoxyCompactList}\small\item\em structure containing vertical viscosities, bottom drag viscosities, and related fields \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a1cf898780b418f2f6e8c1e020df13101}\label{structmom_1_1mom__control__struct_a1cf898780b418f2f6e8c1e020df13101}} 
type(meke\+\_\+type), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_a1cf898780b418f2f6e8c1e020df13101}{meke}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em structure containing fields related to the Mesoscale Eddy Kinetic Energy \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_acbd630d2c637e8a9b1c589ffd8a21a4c}\label{structmom_1_1mom__control__struct_acbd630d2c637e8a9b1c589ffd8a21a4c}} 
logical \mbox{\hyperlink{structmom_1_1mom__control__struct_acbd630d2c637e8a9b1c589ffd8a21a4c}{adiabatic}}
\begin{DoxyCompactList}\small\item\em If true, there are no diapycnal mass fluxes, and no calls to routines to calculate or apply diapycnal fluxes. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_ab946757ec7ac61cc5e8b86db28f75b71}\label{structmom_1_1mom__control__struct_ab946757ec7ac61cc5e8b86db28f75b71}} 
logical \mbox{\hyperlink{structmom_1_1mom__control__struct_ab946757ec7ac61cc5e8b86db28f75b71}{diabatic\+\_\+first}}
\begin{DoxyCompactList}\small\item\em If true, apply diabatic and thermodynamic processes before time stepping the dynamics. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a3da458f68d8939c9f3a99726b8a7cd3c}\label{structmom_1_1mom__control__struct_a3da458f68d8939c9f3a99726b8a7cd3c}} 
logical \mbox{\hyperlink{structmom_1_1mom__control__struct_a3da458f68d8939c9f3a99726b8a7cd3c}{use\+\_\+ale\+\_\+algorithm}}
\begin{DoxyCompactList}\small\item\em If true, use the A\+LE algorithm rather than layered isopycnal/stacked shallow water mode. This logical is set by calling the function use\+Regridding() from the M\+O\+M\+\_\+regridding module. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_ac4d6f003dee79f4aae0bcf3559fed974}\label{structmom_1_1mom__control__struct_ac4d6f003dee79f4aae0bcf3559fed974}} 
logical \mbox{\hyperlink{structmom_1_1mom__control__struct_ac4d6f003dee79f4aae0bcf3559fed974}{offline\+\_\+tracer\+\_\+mode}} = .false.
\begin{DoxyCompactList}\small\item\em If true, \mbox{\hyperlink{namespacemom_ade4f7557fcda73ffc12284d3cecf4182}{step\+\_\+offline()}} is called instead of step\+\_\+\+M\+O\+M(). This is intended for running M\+O\+M6 in offline tracer mode. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_abbd22c4b35df9fa53a98803a5e9733e4}\label{structmom_1_1mom__control__struct_abbd22c4b35df9fa53a98803a5e9733e4}} 
type(time\+\_\+type), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_abbd22c4b35df9fa53a98803a5e9733e4}{time}}
\begin{DoxyCompactList}\small\item\em pointer to the ocean clock \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_aa0ffc40dfa1896668a7f6a4ef184d23b}\label{structmom_1_1mom__control__struct_aa0ffc40dfa1896668a7f6a4ef184d23b}} 
real \mbox{\hyperlink{structmom_1_1mom__control__struct_aa0ffc40dfa1896668a7f6a4ef184d23b}{dt}}
\begin{DoxyCompactList}\small\item\em (baroclinic) dynamics time step \mbox{[}T $\sim$$>$ s\mbox{]} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a2ab46a5df0a650fd8f06f46a3d6245a5}\label{structmom_1_1mom__control__struct_a2ab46a5df0a650fd8f06f46a3d6245a5}} 
real \mbox{\hyperlink{structmom_1_1mom__control__struct_a2ab46a5df0a650fd8f06f46a3d6245a5}{dt\+\_\+therm}}
\begin{DoxyCompactList}\small\item\em thermodynamics time step \mbox{[}T $\sim$$>$ s\mbox{]} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_aac9d8ffe86c453a7fe640d49de48f26d}\label{structmom_1_1mom__control__struct_aac9d8ffe86c453a7fe640d49de48f26d}} 
logical \mbox{\hyperlink{structmom_1_1mom__control__struct_aac9d8ffe86c453a7fe640d49de48f26d}{thermo\+\_\+spans\+\_\+coupling}}
\begin{DoxyCompactList}\small\item\em If true, thermodynamic and tracer time steps can span multiple coupled time steps. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a04860c2f18792e2a9d758381209475f7}\label{structmom_1_1mom__control__struct_a04860c2f18792e2a9d758381209475f7}} 
integer \mbox{\hyperlink{structmom_1_1mom__control__struct_a04860c2f18792e2a9d758381209475f7}{nstep\+\_\+tot}} = 0
\begin{DoxyCompactList}\small\item\em The total number of dynamic timesteps tcaaken so far in this run segment. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_aeeb688df731886090ba880ab77546b86}\label{structmom_1_1mom__control__struct_aeeb688df731886090ba880ab77546b86}} 
logical \mbox{\hyperlink{structmom_1_1mom__control__struct_aeeb688df731886090ba880ab77546b86}{count\+\_\+calls}} = .false.
\begin{DoxyCompactList}\small\item\em If true, count the calls to step\+\_\+\+M\+OM, rather than the number of dynamics steps in nstep\+\_\+tot. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a2546b5ef81e24446eedaab7471775cc5}\label{structmom_1_1mom__control__struct_a2546b5ef81e24446eedaab7471775cc5}} 
logical \mbox{\hyperlink{structmom_1_1mom__control__struct_a2546b5ef81e24446eedaab7471775cc5}{debug}}
\begin{DoxyCompactList}\small\item\em If true, write verbose checksums for debugging purposes. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_aecb7bf1c6aa3a76b7a9ef4ad9fc21600}\label{structmom_1_1mom__control__struct_aecb7bf1c6aa3a76b7a9ef4ad9fc21600}} 
integer \mbox{\hyperlink{structmom_1_1mom__control__struct_aecb7bf1c6aa3a76b7a9ef4ad9fc21600}{ntrunc}}
\begin{DoxyCompactList}\small\item\em number u,v truncations since last call to write\+\_\+energy \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_aae0a66af192bca27a55e10f78936df8f}\label{structmom_1_1mom__control__struct_aae0a66af192bca27a55e10f78936df8f}} 
integer \mbox{\hyperlink{structmom_1_1mom__control__struct_aae0a66af192bca27a55e10f78936df8f}{cont\+\_\+stencil}}
\begin{DoxyCompactList}\small\item\em The stencil for thickness from the continuity solver. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a8b78ad039d8accc587e1632db96f8c50}\label{structmom_1_1mom__control__struct_a8b78ad039d8accc587e1632db96f8c50}} 
logical \mbox{\hyperlink{structmom_1_1mom__control__struct_a8b78ad039d8accc587e1632db96f8c50}{do\+\_\+dynamics}}
\begin{DoxyCompactList}\small\item\em If false, does not call step\+\_\+\+M\+O\+M\+\_\+dyn\+\_\+$\ast$. This is an undocumented run-\/time flag that is fragile. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_aeb79044bc3941fe1be7c0612227f931f}\label{structmom_1_1mom__control__struct_aeb79044bc3941fe1be7c0612227f931f}} 
logical \mbox{\hyperlink{structmom_1_1mom__control__struct_aeb79044bc3941fe1be7c0612227f931f}{split}}
\begin{DoxyCompactList}\small\item\em If true, use the split time stepping scheme. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a73e0ffc2be4b504f7126a2e256140b79}\label{structmom_1_1mom__control__struct_a73e0ffc2be4b504f7126a2e256140b79}} 
logical \mbox{\hyperlink{structmom_1_1mom__control__struct_a73e0ffc2be4b504f7126a2e256140b79}{use\+\_\+rk2}}
\begin{DoxyCompactList}\small\item\em If true, use R\+K2 instead of R\+K3 in unsplit mode (i.\+e., no split between barotropic and baroclinic). \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a4ea3807b7193541b13fb9e698a375991}\label{structmom_1_1mom__control__struct_a4ea3807b7193541b13fb9e698a375991}} 
logical \mbox{\hyperlink{structmom_1_1mom__control__struct_a4ea3807b7193541b13fb9e698a375991}{thickness\+\_\+diffuse}}
\begin{DoxyCompactList}\small\item\em If true, diffuse interface height w/ a diffusivity K\+H\+TH. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_ae656df189815ae80df88b5c3bd9af903}\label{structmom_1_1mom__control__struct_ae656df189815ae80df88b5c3bd9af903}} 
logical \mbox{\hyperlink{structmom_1_1mom__control__struct_ae656df189815ae80df88b5c3bd9af903}{thickness\+\_\+diffuse\+\_\+first}}
\begin{DoxyCompactList}\small\item\em If true, diffuse thickness before dynamics. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a32562ff6712350e219ce59fdb54f635d}\label{structmom_1_1mom__control__struct_a32562ff6712350e219ce59fdb54f635d}} 
logical \mbox{\hyperlink{structmom_1_1mom__control__struct_a32562ff6712350e219ce59fdb54f635d}{mixedlayer\+\_\+restrat}}
\begin{DoxyCompactList}\small\item\em If true, use submesoscale mixed layer restratifying scheme. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a7a5574f401322901f56a30f01c9a659e}\label{structmom_1_1mom__control__struct_a7a5574f401322901f56a30f01c9a659e}} 
logical \mbox{\hyperlink{structmom_1_1mom__control__struct_a7a5574f401322901f56a30f01c9a659e}{usemeke}}
\begin{DoxyCompactList}\small\item\em If true, call the M\+E\+KE parameterization. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_aba5ba389f5025b7b04df1cef7df6cf85}\label{structmom_1_1mom__control__struct_aba5ba389f5025b7b04df1cef7df6cf85}} 
logical \mbox{\hyperlink{structmom_1_1mom__control__struct_aba5ba389f5025b7b04df1cef7df6cf85}{usewaves}}
\begin{DoxyCompactList}\small\item\em If true, update Stokes drift. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_ae3c22fd3c4073450204ab1ed3025075a}\label{structmom_1_1mom__control__struct_ae3c22fd3c4073450204ab1ed3025075a}} 
logical \mbox{\hyperlink{structmom_1_1mom__control__struct_ae3c22fd3c4073450204ab1ed3025075a}{use\+\_\+p\+\_\+surf\+\_\+in\+\_\+eos}}
\begin{DoxyCompactList}\small\item\em If true, always include the surface pressure contributions in equation of state calculations. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_ae6167f203a12605da528d11efee9d884}\label{structmom_1_1mom__control__struct_ae6167f203a12605da528d11efee9d884}} 
real \mbox{\hyperlink{structmom_1_1mom__control__struct_ae6167f203a12605da528d11efee9d884}{dtbt\+\_\+reset\+\_\+period}}
\begin{DoxyCompactList}\small\item\em The time interval between dynamic recalculation of the barotropic time step \mbox{[}s\mbox{]}. If this is negative dtbt is never calculated, and if it is 0, dtbt is calculated every step. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_aee537bba989ecdcf2bbe653c0cfff25d}\label{structmom_1_1mom__control__struct_aee537bba989ecdcf2bbe653c0cfff25d}} 
type(time\+\_\+type) \mbox{\hyperlink{structmom_1_1mom__control__struct_aee537bba989ecdcf2bbe653c0cfff25d}{dtbt\+\_\+reset\+\_\+interval}}
\begin{DoxyCompactList}\small\item\em A time\+\_\+time representation of dtbt\+\_\+reset\+\_\+period. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_afacaed7a0bd96e00d85b4910a903092c}\label{structmom_1_1mom__control__struct_afacaed7a0bd96e00d85b4910a903092c}} 
type(time\+\_\+type) \mbox{\hyperlink{structmom_1_1mom__control__struct_afacaed7a0bd96e00d85b4910a903092c}{dtbt\+\_\+reset\+\_\+time}}
\begin{DoxyCompactList}\small\item\em The next time D\+T\+BT should be calculated. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a0d6345e464a6a372d5db8c2d45ad2699}\label{structmom_1_1mom__control__struct_a0d6345e464a6a372d5db8c2d45ad2699}} 
real, dimension(\+:,\+:,\+:), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_a0d6345e464a6a372d5db8c2d45ad2699}{h\+\_\+pre\+\_\+dyn}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em The thickness before the transports \mbox{[}H $\sim$$>$ m or kg m-\/2\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a79686d17b3078b97cadc5e86feedf66c}\label{structmom_1_1mom__control__struct_a79686d17b3078b97cadc5e86feedf66c}} 
real, dimension(\+:,\+:,\+:), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_a79686d17b3078b97cadc5e86feedf66c}{t\+\_\+pre\+\_\+dyn}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em Temperature before the transports \mbox{[}degC\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a3e61f183246c7621218f181a134b9259}\label{structmom_1_1mom__control__struct_a3e61f183246c7621218f181a134b9259}} 
real, dimension(\+:,\+:,\+:), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_a3e61f183246c7621218f181a134b9259}{s\+\_\+pre\+\_\+dyn}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em Salinity before the transports \mbox{[}ppt\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_aedfeaf76e50745e9c9b2b83123a23f82}\label{structmom_1_1mom__control__struct_aedfeaf76e50745e9c9b2b83123a23f82}} 
type(accel\+\_\+diag\+\_\+ptrs) \mbox{\hyperlink{structmom_1_1mom__control__struct_aedfeaf76e50745e9c9b2b83123a23f82}{adp}}
\begin{DoxyCompactList}\small\item\em structure containing pointers to accelerations, for derived diagnostics (e.\+g., energy budgets) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a4afeec8c4b37a043d92aade401ff9f9c}\label{structmom_1_1mom__control__struct_a4afeec8c4b37a043d92aade401ff9f9c}} 
type(cont\+\_\+diag\+\_\+ptrs) \mbox{\hyperlink{structmom_1_1mom__control__struct_a4afeec8c4b37a043d92aade401ff9f9c}{cdp}}
\begin{DoxyCompactList}\small\item\em structure containing pointers to continuity equation terms, for derived diagnostics (e.\+g., energy budgets) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a4ff33f6bd282d38f932ee28d3f304d38}\label{structmom_1_1mom__control__struct_a4ff33f6bd282d38f932ee28d3f304d38}} 
real, dimension(\+:,\+:,\+:), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_a4ff33f6bd282d38f932ee28d3f304d38}{u\+\_\+prev}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em previous value of u stored for diagnostics \mbox{[}L T-\/1 $\sim$$>$ m s-\/1\mbox{]} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_abbfa0c8349eb72d4dddfb316a451acbf}\label{structmom_1_1mom__control__struct_abbfa0c8349eb72d4dddfb316a451acbf}} 
real, dimension(\+:,\+:,\+:), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_abbfa0c8349eb72d4dddfb316a451acbf}{v\+\_\+prev}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em previous value of v stored for diagnostics \mbox{[}L T-\/1 $\sim$$>$ m s-\/1\mbox{]} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_aa846ef099ea4520d282c70ece10e2ac8}\label{structmom_1_1mom__control__struct_aa846ef099ea4520d282c70ece10e2ac8}} 
logical \mbox{\hyperlink{structmom_1_1mom__control__struct_aa846ef099ea4520d282c70ece10e2ac8}{interp\+\_\+p\+\_\+surf}}
\begin{DoxyCompactList}\small\item\em If true, linearly interpolate surface pressure over the coupling time step, using specified value at the end of the coupling step. False by default. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a8ae9343f18bba2d1e5c67762cc7ae21e}\label{structmom_1_1mom__control__struct_a8ae9343f18bba2d1e5c67762cc7ae21e}} 
logical \mbox{\hyperlink{structmom_1_1mom__control__struct_a8ae9343f18bba2d1e5c67762cc7ae21e}{p\+\_\+surf\+\_\+prev\+\_\+set}}
\begin{DoxyCompactList}\small\item\em If true, p\+\_\+surf\+\_\+prev has been properly set from a previous time-\/step or the ocean restart file. This is only valid when interp\+\_\+p\+\_\+surf is true. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a54c96a0a4178f50e04984b2938c6c673}\label{structmom_1_1mom__control__struct_a54c96a0a4178f50e04984b2938c6c673}} 
real, dimension(\+:,\+:), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_a54c96a0a4178f50e04984b2938c6c673}{p\+\_\+surf\+\_\+prev}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em surface pressure \mbox{[}R L2 T-\/2 $\sim$$>$ Pa\mbox{]} at end previous call to step\+\_\+\+M\+OM \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a2aa77f9fcb52d3e619ecd053c8f45d0a}\label{structmom_1_1mom__control__struct_a2aa77f9fcb52d3e619ecd053c8f45d0a}} 
real, dimension(\+:,\+:), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_a2aa77f9fcb52d3e619ecd053c8f45d0a}{p\+\_\+surf\+\_\+begin}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em surface pressure \mbox{[}R L2 T-\/2 $\sim$$>$ Pa\mbox{]} at start of step\+\_\+\+M\+O\+M\+\_\+dyn\+\_\+... \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a5f529e94a9b3e2c19ffa6dd42a44f9d3}\label{structmom_1_1mom__control__struct_a5f529e94a9b3e2c19ffa6dd42a44f9d3}} 
real, dimension(\+:,\+:), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_a5f529e94a9b3e2c19ffa6dd42a44f9d3}{p\+\_\+surf\+\_\+end}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em surface pressure \mbox{[}R L2 T-\/2 $\sim$$>$ Pa\mbox{]} at end of step\+\_\+\+M\+O\+M\+\_\+dyn\+\_\+... \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_ad499608d5706eeba8f48c7405e6da2a4}\label{structmom_1_1mom__control__struct_ad499608d5706eeba8f48c7405e6da2a4}} 
logical \mbox{\hyperlink{structmom_1_1mom__control__struct_ad499608d5706eeba8f48c7405e6da2a4}{write\+\_\+ic}}
\begin{DoxyCompactList}\small\item\em If true, then the initial conditions will be written to file. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_ad5fbeeb6e0ba13c72125bd1a3c0fc7e1}\label{structmom_1_1mom__control__struct_ad5fbeeb6e0ba13c72125bd1a3c0fc7e1}} 
character(len=120) \mbox{\hyperlink{structmom_1_1mom__control__struct_ad5fbeeb6e0ba13c72125bd1a3c0fc7e1}{ic\+\_\+file}}
\begin{DoxyCompactList}\small\item\em A file into which the initial conditions are written in a new run if S\+A\+V\+E\+\_\+\+I\+N\+I\+T\+I\+A\+L\+\_\+\+C\+O\+N\+DS is true. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a8b479a1786b90290e77ddf43ae15d5db}\label{structmom_1_1mom__control__struct_a8b479a1786b90290e77ddf43ae15d5db}} 
logical \mbox{\hyperlink{structmom_1_1mom__control__struct_a8b479a1786b90290e77ddf43ae15d5db}{calc\+\_\+rho\+\_\+for\+\_\+sea\+\_\+lev}}
\begin{DoxyCompactList}\small\item\em If true, calculate rho to convert pressure to sea level. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a89cc8335447212d841f70adb6d053ed7}\label{structmom_1_1mom__control__struct_a89cc8335447212d841f70adb6d053ed7}} 
real \mbox{\hyperlink{structmom_1_1mom__control__struct_a89cc8335447212d841f70adb6d053ed7}{hmix}}
\begin{DoxyCompactList}\small\item\em Diagnostic mixed layer thickness over which to average surface tracer properties when a bulk mixed layer is not used \mbox{[}Z $\sim$$>$ m\mbox{]}, or a negative value if a bulk mixed layer is being used. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a2048415f0007407a9c22ceef74e3ef36}\label{structmom_1_1mom__control__struct_a2048415f0007407a9c22ceef74e3ef36}} 
real \mbox{\hyperlink{structmom_1_1mom__control__struct_a2048415f0007407a9c22ceef74e3ef36}{hfrz}}
\begin{DoxyCompactList}\small\item\em If H\+Frz $>$ 0, the nominal depth over which melt potential is computed \mbox{[}Z $\sim$$>$ m\mbox{]}. The actual depth over which melt potential is computed is min(\+H\+Frz, O\+B\+L\+D), where O\+B\+LD is the boundary layer depth. If H\+Frz $<$= 0 (default), melt potential will not be computed. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_ae5a4f1d3c24bfe971530a1dc5db89a0d}\label{structmom_1_1mom__control__struct_ae5a4f1d3c24bfe971530a1dc5db89a0d}} 
real \mbox{\hyperlink{structmom_1_1mom__control__struct_ae5a4f1d3c24bfe971530a1dc5db89a0d}{hmix\+\_\+uv}}
\begin{DoxyCompactList}\small\item\em Depth scale over which to average surface flow to feedback to the coupler/driver \mbox{[}Z $\sim$$>$ m\mbox{]} when bulk mixed layer is not used, or a negative value if a bulk mixed layer is being used. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a6599c0ff775ab86ebfbb2903328de4d4}\label{structmom_1_1mom__control__struct_a6599c0ff775ab86ebfbb2903328de4d4}} 
logical \mbox{\hyperlink{structmom_1_1mom__control__struct_a6599c0ff775ab86ebfbb2903328de4d4}{check\+\_\+bad\+\_\+sfc\+\_\+vals}}
\begin{DoxyCompactList}\small\item\em If true, scan surface state for ridiculous values. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_ade2ba755a077383c8ac76291fb34113c}\label{structmom_1_1mom__control__struct_ade2ba755a077383c8ac76291fb34113c}} 
real \mbox{\hyperlink{structmom_1_1mom__control__struct_ade2ba755a077383c8ac76291fb34113c}{bad\+\_\+val\+\_\+ssh\+\_\+max}}
\begin{DoxyCompactList}\small\item\em Maximum S\+SH before triggering bad value message \mbox{[}Z $\sim$$>$ m\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a679e6c1a7d2c6a618440980d26ce8dce}\label{structmom_1_1mom__control__struct_a679e6c1a7d2c6a618440980d26ce8dce}} 
real \mbox{\hyperlink{structmom_1_1mom__control__struct_a679e6c1a7d2c6a618440980d26ce8dce}{bad\+\_\+val\+\_\+sst\+\_\+max}}
\begin{DoxyCompactList}\small\item\em Maximum S\+ST before triggering bad value message \mbox{[}degC\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a7492ac306c080e3233cc155e7d3f905b}\label{structmom_1_1mom__control__struct_a7492ac306c080e3233cc155e7d3f905b}} 
real \mbox{\hyperlink{structmom_1_1mom__control__struct_a7492ac306c080e3233cc155e7d3f905b}{bad\+\_\+val\+\_\+sst\+\_\+min}}
\begin{DoxyCompactList}\small\item\em Minimum S\+ST before triggering bad value message \mbox{[}degC\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a014435f3d7febde23643937f8c854a20}\label{structmom_1_1mom__control__struct_a014435f3d7febde23643937f8c854a20}} 
real \mbox{\hyperlink{structmom_1_1mom__control__struct_a014435f3d7febde23643937f8c854a20}{bad\+\_\+val\+\_\+sss\+\_\+max}}
\begin{DoxyCompactList}\small\item\em Maximum S\+SS before triggering bad value message \mbox{[}ppt\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a124046446815cd0f11bf062b37b3cf46}\label{structmom_1_1mom__control__struct_a124046446815cd0f11bf062b37b3cf46}} 
real \mbox{\hyperlink{structmom_1_1mom__control__struct_a124046446815cd0f11bf062b37b3cf46}{bad\+\_\+val\+\_\+col\+\_\+thick}}
\begin{DoxyCompactList}\small\item\em Minimum column thickness before triggering bad value message \mbox{[}Z $\sim$$>$ m\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a0c2845f20d7ddcd5098f0448fd1ef570}\label{structmom_1_1mom__control__struct_a0c2845f20d7ddcd5098f0448fd1ef570}} 
logical \mbox{\hyperlink{structmom_1_1mom__control__struct_a0c2845f20d7ddcd5098f0448fd1ef570}{answers\+\_\+2018}}
\begin{DoxyCompactList}\small\item\em If true, use expressions for the surface properties that recover the answers from the end of 2018. Otherwise, use more appropriate expressions that differ at roundoff for non-\/\+Boussinsq cases. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a165fdb422372e95b3ddf4a6728b3f300}\label{structmom_1_1mom__control__struct_a165fdb422372e95b3ddf4a6728b3f300}} 
type(\mbox{\hyperlink{structmom_1_1mom__diag__ids}{mom\+\_\+diag\+\_\+ids}}) \mbox{\hyperlink{structmom_1_1mom__control__struct_a165fdb422372e95b3ddf4a6728b3f300}{ids}}
\begin{DoxyCompactList}\small\item\em Handles used for diagnostics. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a06b14fc2dcb3976aa3a93c9df7c3721a}\label{structmom_1_1mom__control__struct_a06b14fc2dcb3976aa3a93c9df7c3721a}} 
type(transport\+\_\+diag\+\_\+ids) \mbox{\hyperlink{structmom_1_1mom__control__struct_a06b14fc2dcb3976aa3a93c9df7c3721a}{transport\+\_\+ids}}
\begin{DoxyCompactList}\small\item\em Handles used for transport diagnostics. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a95591a65cb9e7a0fdc75c1e2abed6301}\label{structmom_1_1mom__control__struct_a95591a65cb9e7a0fdc75c1e2abed6301}} 
type(surface\+\_\+diag\+\_\+ids) \mbox{\hyperlink{structmom_1_1mom__control__struct_a95591a65cb9e7a0fdc75c1e2abed6301}{sfc\+\_\+ids}}
\begin{DoxyCompactList}\small\item\em Handles used for surface diagnostics. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_abe34cc87bee937c550ba08c63e01b936}\label{structmom_1_1mom__control__struct_abe34cc87bee937c550ba08c63e01b936}} 
type(diag\+\_\+grid\+\_\+storage) \mbox{\hyperlink{structmom_1_1mom__control__struct_abe34cc87bee937c550ba08c63e01b936}{diag\+\_\+pre\+\_\+sync}}
\begin{DoxyCompactList}\small\item\em The grid (thicknesses) before remapping. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a7d5f3f992a70f3d7f916b0f0e54256a3}\label{structmom_1_1mom__control__struct_a7d5f3f992a70f3d7f916b0f0e54256a3}} 
type(diag\+\_\+grid\+\_\+storage) \mbox{\hyperlink{structmom_1_1mom__control__struct_a7d5f3f992a70f3d7f916b0f0e54256a3}{diag\+\_\+pre\+\_\+dyn}}
\begin{DoxyCompactList}\small\item\em The grid (thicknesses) before dynamics. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a3d0af6a54d5556053172230c22d3a3a9}\label{structmom_1_1mom__control__struct_a3d0af6a54d5556053172230c22d3a3a9}} 
type(mom\+\_\+dyn\+\_\+unsplit\+\_\+cs), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_a3d0af6a54d5556053172230c22d3a3a9}{dyn\+\_\+unsplit\+\_\+csp}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em Pointer to the control structure used for the unsplit dynamics. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_aeca38d3d757e76a33e3fc24eeaa9e912}\label{structmom_1_1mom__control__struct_aeca38d3d757e76a33e3fc24eeaa9e912}} 
type(mom\+\_\+dyn\+\_\+unsplit\+\_\+rk2\+\_\+cs), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_aeca38d3d757e76a33e3fc24eeaa9e912}{dyn\+\_\+unsplit\+\_\+rk2\+\_\+csp}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em Pointer to the control structure used for the unsplit R\+K2 dynamics. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_ac43561daef3db4d43ec7799647072094}\label{structmom_1_1mom__control__struct_ac43561daef3db4d43ec7799647072094}} 
type(mom\+\_\+dyn\+\_\+split\+\_\+rk2\+\_\+cs), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_ac43561daef3db4d43ec7799647072094}{dyn\+\_\+split\+\_\+rk2\+\_\+csp}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em Pointer to the control structure used for the mode-\/split R\+K2 dynamics. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_aa3c5973e28710cc4db2e90f192651752}\label{structmom_1_1mom__control__struct_aa3c5973e28710cc4db2e90f192651752}} 
type(thickness\+\_\+diffuse\+\_\+cs), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_aa3c5973e28710cc4db2e90f192651752}{thickness\+\_\+diffuse\+\_\+csp}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em Pointer to the control structure used for the isopycnal height diffusive transport. This is also common referred to as Gent-\/\+Mc\+Williams diffusion. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_abad22a3f431bfb96a1e3826a080c4543}\label{structmom_1_1mom__control__struct_abad22a3f431bfb96a1e3826a080c4543}} 
type(mixedlayer\+\_\+restrat\+\_\+cs), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_abad22a3f431bfb96a1e3826a080c4543}{mixedlayer\+\_\+restrat\+\_\+csp}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em Pointer to the control structure used for the mixed layer restratification. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a4420875a7644b0ac4aaa331f3eb828cf}\label{structmom_1_1mom__control__struct_a4420875a7644b0ac4aaa331f3eb828cf}} 
type(set\+\_\+visc\+\_\+cs), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_a4420875a7644b0ac4aaa331f3eb828cf}{set\+\_\+visc\+\_\+csp}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em Pointer to the control structure used to set viscosities. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_abe48a9cf3ef6e92d4ee2088ea680a165}\label{structmom_1_1mom__control__struct_abe48a9cf3ef6e92d4ee2088ea680a165}} 
type(diabatic\+\_\+cs), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_abe48a9cf3ef6e92d4ee2088ea680a165}{diabatic\+\_\+csp}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em Pointer to the control structure for the diabatic driver. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_ab40d39a5b4446372246cb055514db969}\label{structmom_1_1mom__control__struct_ab40d39a5b4446372246cb055514db969}} 
type(meke\+\_\+cs), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_ab40d39a5b4446372246cb055514db969}{meke\+\_\+csp}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em Pointer to the control structure for the M\+E\+KE updates. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a6ac3fdd39f7b29ccc1e388f6d8b18b41}\label{structmom_1_1mom__control__struct_a6ac3fdd39f7b29ccc1e388f6d8b18b41}} 
type(varmix\+\_\+cs), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_a6ac3fdd39f7b29ccc1e388f6d8b18b41}{varmix}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em Pointer to the control structure for the variable mixing module. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a5147086002c714b56a8edb35bd032319}\label{structmom_1_1mom__control__struct_a5147086002c714b56a8edb35bd032319}} 
type(barotropic\+\_\+cs), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_a5147086002c714b56a8edb35bd032319}{barotropic\+\_\+csp}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em Pointer to the control structure for the barotropic module. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_aa93ae415aa3c314d8972efe135a703f8}\label{structmom_1_1mom__control__struct_aa93ae415aa3c314d8972efe135a703f8}} 
type(tracer\+\_\+registry\+\_\+type), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_aa93ae415aa3c314d8972efe135a703f8}{tracer\+\_\+reg}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em Pointer to the M\+OM tracer registry. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a80073431d0fefcfdd02f4b3b027c2ccc}\label{structmom_1_1mom__control__struct_a80073431d0fefcfdd02f4b3b027c2ccc}} 
type(tracer\+\_\+advect\+\_\+cs), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_a80073431d0fefcfdd02f4b3b027c2ccc}{tracer\+\_\+adv\+\_\+csp}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em Pointer to the M\+OM tracer advection control structure. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_ab96ad70ebf5b49f04ccbe838250fd5a9}\label{structmom_1_1mom__control__struct_ab96ad70ebf5b49f04ccbe838250fd5a9}} 
type(tracer\+\_\+hor\+\_\+diff\+\_\+cs), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_ab96ad70ebf5b49f04ccbe838250fd5a9}{tracer\+\_\+diff\+\_\+csp}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em Pointer to the M\+OM along-\/isopycnal tracer diffusion control structure. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_ac54468719fa025b11defe09a4d4aadaa}\label{structmom_1_1mom__control__struct_ac54468719fa025b11defe09a4d4aadaa}} 
type(tracer\+\_\+flow\+\_\+control\+\_\+cs), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_ac54468719fa025b11defe09a4d4aadaa}{tracer\+\_\+flow\+\_\+csp}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em Pointer to the control structure that orchestrates the calling of tracer packages. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a133556146aca486aa24e33d12772b404}\label{structmom_1_1mom__control__struct_a133556146aca486aa24e33d12772b404}} 
type(update\+\_\+obc\+\_\+cs), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_a133556146aca486aa24e33d12772b404}{update\+\_\+obc\+\_\+csp}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em Pointer to the control structure for updating open boundary condition properties. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a1b73745290b8a8ce3fa292da754f2ddf}\label{structmom_1_1mom__control__struct_a1b73745290b8a8ce3fa292da754f2ddf}} 
type(ocean\+\_\+obc\+\_\+type), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_a1b73745290b8a8ce3fa292da754f2ddf}{obc}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em Pointer to the M\+OM open boundary condition type. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a621d3e8a368d22ce4f8f154d8cc39dda}\label{structmom_1_1mom__control__struct_a621d3e8a368d22ce4f8f154d8cc39dda}} 
type(sponge\+\_\+cs), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_a621d3e8a368d22ce4f8f154d8cc39dda}{sponge\+\_\+csp}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em Pointer to the layered-\/mode sponge control structure. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a2d5a6c9d7de318fba0b755ae35afc325}\label{structmom_1_1mom__control__struct_a2d5a6c9d7de318fba0b755ae35afc325}} 
type(ale\+\_\+sponge\+\_\+cs), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_a2d5a6c9d7de318fba0b755ae35afc325}{ale\+\_\+sponge\+\_\+csp}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em Pointer to the A\+L\+E-\/mode sponge control structure. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_aa8bfca4726c8b3762f449bd3c01db8cb}\label{structmom_1_1mom__control__struct_aa8bfca4726c8b3762f449bd3c01db8cb}} 
type(ale\+\_\+cs), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_aa8bfca4726c8b3762f449bd3c01db8cb}{ale\+\_\+csp}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em Pointer to the Arbitrary Lagrangian Eulerian (A\+LE) vertical coordinate control structure. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_ae3d681f0e5ced2371c04a34c32bcef82}\label{structmom_1_1mom__control__struct_ae3d681f0e5ced2371c04a34c32bcef82}} 
type(sum\+\_\+output\+\_\+cs), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_ae3d681f0e5ced2371c04a34c32bcef82}{sum\+\_\+output\+\_\+csp}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em Pointer to the globally summed output control structure. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a8bd90c3a06349959f8cae27a450ae434}\label{structmom_1_1mom__control__struct_a8bd90c3a06349959f8cae27a450ae434}} 
type(diagnostics\+\_\+cs), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_a8bd90c3a06349959f8cae27a450ae434}{diagnostics\+\_\+csp}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em Pointer to the M\+OM diagnostics control structure. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a87e8a4f63c309aef316b80272b9c75e1}\label{structmom_1_1mom__control__struct_a87e8a4f63c309aef316b80272b9c75e1}} 
type(offline\+\_\+transport\+\_\+cs), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_a87e8a4f63c309aef316b80272b9c75e1}{offline\+\_\+csp}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em Pointer to the offline tracer transport control structure. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a364a3b8bb72a28991320b2c104dac43b}\label{structmom_1_1mom__control__struct_a364a3b8bb72a28991320b2c104dac43b}} 
logical \mbox{\hyperlink{structmom_1_1mom__control__struct_a364a3b8bb72a28991320b2c104dac43b}{ensemble\+\_\+ocean}}
\begin{DoxyCompactList}\small\item\em if true, this run is part of a larger ensemble for the purpose of data assimilation or statistical analysis. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom_1_1mom__control__struct_a12bd01d4d3a314a5df5a7b098ac1ed1b}\label{structmom_1_1mom__control__struct_a12bd01d4d3a314a5df5a7b098ac1ed1b}} 
type(oda\+\_\+cs), pointer \mbox{\hyperlink{structmom_1_1mom__control__struct_a12bd01d4d3a314a5df5a7b098ac1ed1b}{odacs}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em a pointer to the control structure for handling ensemble model state vectors and data assimilation increments and priors \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Control structure for the M\+OM module, including the variables that describe the state of the ocean. 

Definition at line 165 of file M\+O\+M.\+F90.



The documentation for this type was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
/home/cermak/src/\+M\+O\+M6.\+devrob/src/core/M\+O\+M.\+F90\end{DoxyCompactItemize}
