\hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs}{}\section{mom\+\_\+ice\+\_\+shelf\+\_\+dynamics\+:\+:ice\+\_\+shelf\+\_\+dyn\+\_\+cs Type Reference}
\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs}\index{mom\+\_\+ice\+\_\+shelf\+\_\+dynamics\+::ice\+\_\+shelf\+\_\+dyn\+\_\+cs@{mom\+\_\+ice\+\_\+shelf\+\_\+dynamics\+::ice\+\_\+shelf\+\_\+dyn\+\_\+cs}}


\subsection{Detailed Description}
The control structure for the ice shelf dynamics. 

Definition at line 41 of file M\+O\+M\+\_\+ice\+\_\+shelf\+\_\+dynamics.\+F90.



Collaboration diagram for mom\+\_\+ice\+\_\+shelf\+\_\+dynamics\+:\+:ice\+\_\+shelf\+\_\+dyn\+\_\+cs\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs__coll__graph}
\end{center}
\end{figure}
\subsection*{Public variables and constants}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_ad5bb23ad3dc7bd50fd5ecde8e82d0f0c}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_ad5bb23ad3dc7bd50fd5ecde8e82d0f0c}} 
real, dimension(\+:,\+:), pointer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_ad5bb23ad3dc7bd50fd5ecde8e82d0f0c}{u\+\_\+shelf}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em the zonal velocity of the ice shelf/sheet on q-\/points (B grid) \mbox{[}L T-\/1 $\sim$$>$ m s-\/1\mbox{]} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a9ea2befa09c0f010293d9a488494d1be}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a9ea2befa09c0f010293d9a488494d1be}} 
real, dimension(\+:,\+:), pointer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a9ea2befa09c0f010293d9a488494d1be}{v\+\_\+shelf}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em the meridional velocity of the ice shelf/sheet on q-\/points (B grid) \mbox{[}L T-\/1 $\sim$$>$ m s-\/1\mbox{]} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a35376e9fe2ab582ba4816cadefbfea33}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a35376e9fe2ab582ba4816cadefbfea33}} 
real, dimension(\+:,\+:), pointer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a35376e9fe2ab582ba4816cadefbfea33}{u\+\_\+face\+\_\+mask}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em mask for velocity boundary conditions on the C-\/grid u-\/face -\/ this is because the F\+EM cares about F\+A\+C\+ES T\+H\+AT G\+ET I\+N\+T\+E\+G\+R\+A\+T\+ED O\+V\+ER, not vertices. Will represent boundary conditions on computational boundary (or permanent boundary between fast-\/moving and near-\/stagnant ice F\+OR N\+OW\+: 1=interior bdry, 0=no-\/flow boundary, 2=stress bdry condition, 3=inhomogeneous Dirichlet boundary, 4=flux boundary\+: at these faces a flux will be specified which will override velocities; a homogeneous velocity condition will be specified (this seems to give the solver less difficulty) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a82be91fdbc4673f1565060f8fdbfa728}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a82be91fdbc4673f1565060f8fdbfa728}} 
real, dimension(\+:,\+:), pointer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a82be91fdbc4673f1565060f8fdbfa728}{v\+\_\+face\+\_\+mask}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em A mask for velocity boundary conditions on the C-\/grid v-\/face, with valued defined similarly to u\+\_\+face\+\_\+mask. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a8254691b8f975cd6faa24d1e75de8297}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a8254691b8f975cd6faa24d1e75de8297}} 
real, dimension(\+:,\+:), pointer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a8254691b8f975cd6faa24d1e75de8297}{u\+\_\+face\+\_\+mask\+\_\+bdry}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em A duplicate copy of u\+\_\+face\+\_\+mask? \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a79e68ac2330878fff02dd506b80a542f}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a79e68ac2330878fff02dd506b80a542f}} 
real, dimension(\+:,\+:), pointer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a79e68ac2330878fff02dd506b80a542f}{v\+\_\+face\+\_\+mask\+\_\+bdry}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em A duplicate copy of v\+\_\+face\+\_\+mask? \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a4f91e190f8c067078fde47032fc394e7}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a4f91e190f8c067078fde47032fc394e7}} 
real, dimension(\+:,\+:), pointer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a4f91e190f8c067078fde47032fc394e7}{u\+\_\+flux\+\_\+bdry\+\_\+val}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em The ice volume flux per unit face length into the cell through open boundary u-\/faces (where u\+\_\+face\+\_\+mask=4) \mbox{[}Z L T-\/1 $\sim$$>$ m2 s-\/1\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a6f64c3b8bac1db6f98a676859dacfd23}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a6f64c3b8bac1db6f98a676859dacfd23}} 
real, dimension(\+:,\+:), pointer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a6f64c3b8bac1db6f98a676859dacfd23}{v\+\_\+flux\+\_\+bdry\+\_\+val}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em The ice volume flux per unit face length into the cell through open boundary v-\/faces (where v\+\_\+face\+\_\+mask=4) \mbox{[}Z L T-\/1 $\sim$$>$ m2 s-\/1\mbox{]}?? \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_ae66dec39506fe98942d26b729228c02d}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_ae66dec39506fe98942d26b729228c02d}} 
real, dimension(\+:,\+:), pointer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_ae66dec39506fe98942d26b729228c02d}{umask}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em u-\/mask on the actual degrees of freedom (B grid) 1=normal node, 3=inhomogeneous boundary node, 0 -\/ no flow node (will also get ice-\/free nodes) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_acbb693bd28705d1cbf181bbe77001d99}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_acbb693bd28705d1cbf181bbe77001d99}} 
real, dimension(\+:,\+:), pointer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_acbb693bd28705d1cbf181bbe77001d99}{vmask}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em v-\/mask on the actual degrees of freedom (B grid) 1=normal node, 3=inhomogeneous boundary node, 0 -\/ no flow node (will also get ice-\/free nodes) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_ab673a06e64e1afd9de7720d6e706492d}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_ab673a06e64e1afd9de7720d6e706492d}} 
real, dimension(\+:,\+:), pointer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_ab673a06e64e1afd9de7720d6e706492d}{calve\+\_\+mask}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em a mask to prevent the ice shelf front from advancing past its initial position (but it may retreat) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a7e54aac9e80b227fe8fc826672f5ade7}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a7e54aac9e80b227fe8fc826672f5ade7}} 
real, dimension(\+:,\+:), pointer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a7e54aac9e80b227fe8fc826672f5ade7}{t\+\_\+shelf}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em Vertically integrated temperature in the ice shelf/stream, on corner-\/points (B grid) \mbox{[}degC\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a692615c3112bb43de36d4cdf6192024c}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a692615c3112bb43de36d4cdf6192024c}} 
real, dimension(\+:,\+:), pointer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a692615c3112bb43de36d4cdf6192024c}{tmask}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em A mask on tracer points that is 1 where there is ice. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a9b61fe7fde4abf3001aaaf55675a1ada}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a9b61fe7fde4abf3001aaaf55675a1ada}} 
real, dimension(\+:,\+:), pointer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a9b61fe7fde4abf3001aaaf55675a1ada}{ice\+\_\+visc}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em Glen\textquotesingle{}s law ice viscosity, often in \mbox{[}R L4 Z T-\/1 $\sim$$>$ kg m2 s-\/1\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a4930abd74c07e365b348dc85453aa85a}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a4930abd74c07e365b348dc85453aa85a}} 
real, dimension(\+:,\+:), pointer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a4930abd74c07e365b348dc85453aa85a}{thickness\+\_\+bdry\+\_\+val}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em The ice thickness at an inflowing boundary \mbox{[}Z $\sim$$>$ m\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_ab0be46cbb32570d85a0f072b295600e6}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_ab0be46cbb32570d85a0f072b295600e6}} 
real, dimension(\+:,\+:), pointer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_ab0be46cbb32570d85a0f072b295600e6}{u\+\_\+bdry\+\_\+val}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em The zonal ice velocity at inflowing boundaries \mbox{[}L yr-\/1 $\sim$$>$ m yr-\/1\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a9203b74d829d5fd80a6b47e8f20b88de}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a9203b74d829d5fd80a6b47e8f20b88de}} 
real, dimension(\+:,\+:), pointer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a9203b74d829d5fd80a6b47e8f20b88de}{v\+\_\+bdry\+\_\+val}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em The meridional ice velocity at inflowing boundaries \mbox{[}L yr-\/1 $\sim$$>$ m yr-\/1\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_af7d71a69153bf6952dc2ededafb48d99}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_af7d71a69153bf6952dc2ededafb48d99}} 
real, dimension(\+:,\+:), pointer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_af7d71a69153bf6952dc2ededafb48d99}{h\+\_\+bdry\+\_\+val}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em The ice thickness at inflowing boundaries \mbox{[}m\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_ae89eb6f02ca48dccef32e8ce7bbe907b}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_ae89eb6f02ca48dccef32e8ce7bbe907b}} 
real, dimension(\+:,\+:), pointer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_ae89eb6f02ca48dccef32e8ce7bbe907b}{t\+\_\+bdry\+\_\+val}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em The ice temperature at inflowing boundaries \mbox{[}degC\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a02a4921a704b20bea57ac6f6c546c6a3}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a02a4921a704b20bea57ac6f6c546c6a3}} 
real, dimension(\+:,\+:), pointer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a02a4921a704b20bea57ac6f6c546c6a3}{basal\+\_\+traction}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em The area integrated nonlinear part of \char`\"{}linearized\char`\"{} basal stress \mbox{[}R Z L2 T-\/1 $\sim$$>$ kg s-\/1\mbox{]}. The exact form depends on basal law exponent and/or whether flow is \char`\"{}hybridized\char`\"{} a la Goldberg 2011. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a0553a437bffde65a461a63c2a40df267}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a0553a437bffde65a461a63c2a40df267}} 
real, dimension(\+:,\+:), pointer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a0553a437bffde65a461a63c2a40df267}{od\+\_\+rt}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em A running total for calculating O\+D\+\_\+av. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a4b4dff203c28206329ea4ceba88c6186}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a4b4dff203c28206329ea4ceba88c6186}} 
real, dimension(\+:,\+:), pointer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a4b4dff203c28206329ea4ceba88c6186}{ground\+\_\+frac\+\_\+rt}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em A running total for calculating ground\+\_\+frac. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a88a8d0df50e039735cbaa0065681af2d}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a88a8d0df50e039735cbaa0065681af2d}} 
real, dimension(\+:,\+:), pointer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a88a8d0df50e039735cbaa0065681af2d}{od\+\_\+av}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em The time average open ocean depth \mbox{[}Z $\sim$$>$ m\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a0b48e292b02656a90da70324b59da4e0}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a0b48e292b02656a90da70324b59da4e0}} 
real, dimension(\+:,\+:), pointer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a0b48e292b02656a90da70324b59da4e0}{ground\+\_\+frac}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em Fraction of the time a cell is \char`\"{}exposed\char`\"{}, i.\+e. the column thickness is below a threshold and interacting with the rock \mbox{[}nondim\mbox{]}. When this is 1, the ice-\/shelf is grounded. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a0511efdf95e2f1cd009faafe61fe6db9}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a0511efdf95e2f1cd009faafe61fe6db9}} 
integer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a0511efdf95e2f1cd009faafe61fe6db9}{od\+\_\+rt\+\_\+counter}} = 0
\begin{DoxyCompactList}\small\item\em A counter of the number of contributions to O\+D\+\_\+rt. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_ac3465a9c79ad087b90de9e6a8680da43}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_ac3465a9c79ad087b90de9e6a8680da43}} 
real \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_ac3465a9c79ad087b90de9e6a8680da43}{velocity\+\_\+update\+\_\+time\+\_\+step}}
\begin{DoxyCompactList}\small\item\em The time interval over which to update the ice shelf velocity using the nonlinear elliptic equation, or 0 to update every timestep \mbox{[}T $\sim$$>$ s\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a327adfb187b657aa387b15168f871af3}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a327adfb187b657aa387b15168f871af3}} 
real \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a327adfb187b657aa387b15168f871af3}{elapsed\+\_\+velocity\+\_\+time}}
\begin{DoxyCompactList}\small\item\em The elapsed time since the ice velocities were last updated \mbox{[}T $\sim$$>$ s\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a5f146fc981b678ea55537d261ce3bdb5}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a5f146fc981b678ea55537d261ce3bdb5}} 
real \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a5f146fc981b678ea55537d261ce3bdb5}{g\+\_\+earth}}
\begin{DoxyCompactList}\small\item\em The gravitational acceleration \mbox{[}L2 Z-\/1 T-\/2 $\sim$$>$ m s-\/2\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a53a951540258b01d01a6228803b76503}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a53a951540258b01d01a6228803b76503}} 
real \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a53a951540258b01d01a6228803b76503}{density\+\_\+ice}}
\begin{DoxyCompactList}\small\item\em A typical density of ice \mbox{[}R $\sim$$>$ kg m-\/3\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_ae9fa09b16492722e5e461d2b32e9bb8e}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_ae9fa09b16492722e5e461d2b32e9bb8e}} 
logical \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_ae9fa09b16492722e5e461d2b32e9bb8e}{gl\+\_\+regularize}}
\begin{DoxyCompactList}\small\item\em Specifies whether to regularize the floatation condition at the grounding line as in Goldberg Holland Schoof 2009. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_af87dd9df2b50948bf282e311646ee071}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_af87dd9df2b50948bf282e311646ee071}} 
integer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_af87dd9df2b50948bf282e311646ee071}{n\+\_\+sub\+\_\+regularize}}
\begin{DoxyCompactList}\small\item\em partition of cell over which to integrate for interpolated grounding line the (rectangular) is divided into nxn equally-\/sized rectangles, over which basal contribution is integrated (iterative quadrature) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a9c28567deed061d7c71143ad202d691d}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a9c28567deed061d7c71143ad202d691d}} 
logical \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a9c28567deed061d7c71143ad202d691d}{gl\+\_\+couple}}
\begin{DoxyCompactList}\small\item\em whether to let the floatation condition be determined by ocean column thickness means update\+\_\+\+O\+D\+\_\+ffrac will be called (note\+: G\+L\+\_\+regularize and G\+L\+\_\+couple should be exclusive) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_aba76165639b7b99c2595faf788eff227}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_aba76165639b7b99c2595faf788eff227}} 
real \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_aba76165639b7b99c2595faf788eff227}{cfl\+\_\+factor}}
\begin{DoxyCompactList}\small\item\em A factor used to limit subcycled advective timestep in uncoupled runs i.\+e. dt $<$= C\+F\+L\+\_\+factor $\ast$ min(dx / u) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a54b8ae5baa4cc6c48b284ab8e5ba81b5}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a54b8ae5baa4cc6c48b284ab8e5ba81b5}} 
real \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a54b8ae5baa4cc6c48b284ab8e5ba81b5}{a\+\_\+glen\+\_\+isothermal}}
\begin{DoxyCompactList}\small\item\em Ice viscosity parameter in Glen\textquotesingle{}s Law, \mbox{[}Pa-\/3 s-\/1\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a5b83989e08b687153db7b2f31bf9f8a6}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a5b83989e08b687153db7b2f31bf9f8a6}} 
real \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a5b83989e08b687153db7b2f31bf9f8a6}{n\+\_\+glen}}
\begin{DoxyCompactList}\small\item\em Nonlinearity exponent in Glen\textquotesingle{}s Law. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a8bc60f4b29fe8d67ac4affb01298f8bf}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a8bc60f4b29fe8d67ac4affb01298f8bf}} 
real \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a8bc60f4b29fe8d67ac4affb01298f8bf}{eps\+\_\+glen\+\_\+min}}
\begin{DoxyCompactList}\small\item\em Min. strain rate to avoid infinite Glen\textquotesingle{}s law viscosity, \mbox{[}year-\/1\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_adcf3dbfeefc602a29e75f4ebf5871809}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_adcf3dbfeefc602a29e75f4ebf5871809}} 
real \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_adcf3dbfeefc602a29e75f4ebf5871809}{c\+\_\+basal\+\_\+friction}}
\begin{DoxyCompactList}\small\item\em Coefficient in sliding law tau\+\_\+b = C u$^\wedge$(n\+\_\+basal\+\_\+fric), in units= Pa (m yr-\/1)-\/(n\+\_\+basal\+\_\+fric) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a14da08740a0a9a512b1484779ed819a0}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a14da08740a0a9a512b1484779ed819a0}} 
real \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a14da08740a0a9a512b1484779ed819a0}{n\+\_\+basal\+\_\+fric}}
\begin{DoxyCompactList}\small\item\em Exponent in sliding law tau\+\_\+b = C u$^\wedge$(m\+\_\+slide) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_acaa4ae0c5166267e44534ecc08ebe2b5}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_acaa4ae0c5166267e44534ecc08ebe2b5}} 
real \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_acaa4ae0c5166267e44534ecc08ebe2b5}{density\+\_\+ocean\+\_\+avg}}
\begin{DoxyCompactList}\small\item\em A typical ocean density \mbox{[}R $\sim$$>$ kg m-\/3\mbox{]}. This does not affect ocean circulation or thermodynamics. It is used to estimate the gravitational driving force at the shelf front (until we think of a better way to do it, but any difference will be negligible). \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a191523f4ded1b14aa79bb7495bc62d8e}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a191523f4ded1b14aa79bb7495bc62d8e}} 
real \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a191523f4ded1b14aa79bb7495bc62d8e}{thresh\+\_\+float\+\_\+col\+\_\+depth}}
\begin{DoxyCompactList}\small\item\em The water column depth over which the shelf if considered to be floating. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a52f73536d65ff081124e098466ca8a9d}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a52f73536d65ff081124e098466ca8a9d}} 
logical \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a52f73536d65ff081124e098466ca8a9d}{moving\+\_\+shelf\+\_\+front}}
\begin{DoxyCompactList}\small\item\em Specify whether to advance shelf front (and calve). \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a11b810f70a7f04c79583ca60b71d52e7}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a11b810f70a7f04c79583ca60b71d52e7}} 
logical \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a11b810f70a7f04c79583ca60b71d52e7}{calve\+\_\+to\+\_\+mask}}
\begin{DoxyCompactList}\small\item\em If true, calve off the ice shelf when it passes the edge of a mask. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a539c21f39f19f8a3e08ee73b1ba37fb0}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a539c21f39f19f8a3e08ee73b1ba37fb0}} 
real \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a539c21f39f19f8a3e08ee73b1ba37fb0}{min\+\_\+thickness\+\_\+simple\+\_\+calve}}
\begin{DoxyCompactList}\small\item\em min. ice shelf thickness criteria for calving \mbox{[}Z $\sim$$>$ m\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a006abc99e88d95abc6e80a46d6fc7697}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a006abc99e88d95abc6e80a46d6fc7697}} 
real \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a006abc99e88d95abc6e80a46d6fc7697}{cg\+\_\+tolerance}}
\begin{DoxyCompactList}\small\item\em The tolerance in the CG solver, relative to initial residual, that determines when to stop the conjugate gradient iterations. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a97b44860c899beb4fbea52d08e507976}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a97b44860c899beb4fbea52d08e507976}} 
real \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a97b44860c899beb4fbea52d08e507976}{nonlinear\+\_\+tolerance}}
\begin{DoxyCompactList}\small\item\em The fractional nonlinear tolerance, relative to the initial error, that sets when to stop the iterative velocity solver. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_af828330ba2f9f1144d3b8a236f63b924}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_af828330ba2f9f1144d3b8a236f63b924}} 
integer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_af828330ba2f9f1144d3b8a236f63b924}{cg\+\_\+max\+\_\+iterations}}
\begin{DoxyCompactList}\small\item\em The maximum number of iterations that can be used in the CG solver. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a9648b7fb5af412b5631caa6ccaa05414}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a9648b7fb5af412b5631caa6ccaa05414}} 
integer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a9648b7fb5af412b5631caa6ccaa05414}{nonlin\+\_\+solve\+\_\+err\+\_\+mode}}
\begin{DoxyCompactList}\small\item\em 1\+: exit vel solve based on nonlin residual 2\+: exit based on \char`\"{}fixed point\char`\"{} metric ($\vert$u -\/ u\+\_\+last$\vert$ / $\vert$u$\vert$ $<$ tol) where $\vert$ $\vert$ is infty-\/norm \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_ac683aa977f5c38c588b1780e606ba0c6}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_ac683aa977f5c38c588b1780e606ba0c6}} 
logical \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_ac683aa977f5c38c588b1780e606ba0c6}{debug}}
\begin{DoxyCompactList}\small\item\em If true, write verbose checksums for debugging purposes and use reproducible sums. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_ac8deb03b40cb09c865a9cec64721d4c5}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_ac8deb03b40cb09c865a9cec64721d4c5}} 
logical \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_ac8deb03b40cb09c865a9cec64721d4c5}{module\+\_\+is\+\_\+initialized}} = .false.
\begin{DoxyCompactList}\small\item\em True if this module has been initialized. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a6a36158d371db2bb81261e3874d7260c}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a6a36158d371db2bb81261e3874d7260c}} 
type(diag\+\_\+ctrl), pointer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a6a36158d371db2bb81261e3874d7260c}{diag}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em A structure that is used to control diagnostic output. \end{DoxyCompactList}\end{DoxyCompactItemize}
\textbf{ }\par
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a37ddd6a87a98f85c22e93f1df9dd036a}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a37ddd6a87a98f85c22e93f1df9dd036a}} 
integer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a37ddd6a87a98f85c22e93f1df9dd036a}{id\+\_\+u\+\_\+shelf}} = -\/1
\begin{DoxyCompactList}\small\item\em Diagnostic handles. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a2b1ae633e32fe6b46c81097c9cd0489f}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a2b1ae633e32fe6b46c81097c9cd0489f}} 
integer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a2b1ae633e32fe6b46c81097c9cd0489f}{id\+\_\+v\+\_\+shelf}} = -\/1
\begin{DoxyCompactList}\small\item\em Diagnostic handles. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a1ed8d37a7190eb7b851f0233642d1b45}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a1ed8d37a7190eb7b851f0233642d1b45}} 
integer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a1ed8d37a7190eb7b851f0233642d1b45}{id\+\_\+t\+\_\+shelf}} = -\/1
\begin{DoxyCompactList}\small\item\em Diagnostic handles. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_ae71a85bda8810d5a53637786d40520d4}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_ae71a85bda8810d5a53637786d40520d4}} 
integer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_ae71a85bda8810d5a53637786d40520d4}{id\+\_\+ground\+\_\+frac}} = -\/1
\begin{DoxyCompactList}\small\item\em Diagnostic handles. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a3ef69416497e7ba014401ad0cda2785d}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a3ef69416497e7ba014401ad0cda2785d}} 
integer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a3ef69416497e7ba014401ad0cda2785d}{id\+\_\+col\+\_\+thick}} = -\/1
\begin{DoxyCompactList}\small\item\em Diagnostic handles. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a1dcf41fc851b9f5eb9a80158f477e49b}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a1dcf41fc851b9f5eb9a80158f477e49b}} 
integer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a1dcf41fc851b9f5eb9a80158f477e49b}{id\+\_\+od\+\_\+av}} = -\/1
\begin{DoxyCompactList}\small\item\em Diagnostic handles. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_ae3cb340faf5c0e78eaaeb8a7db30649f}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_ae3cb340faf5c0e78eaaeb8a7db30649f}} 
integer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_ae3cb340faf5c0e78eaaeb8a7db30649f}{id\+\_\+u\+\_\+mask}} = -\/1
\begin{DoxyCompactList}\small\item\em Diagnostic handles. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a06aa810070d38f140701d9cbe560d9bc}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a06aa810070d38f140701d9cbe560d9bc}} 
integer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a06aa810070d38f140701d9cbe560d9bc}{id\+\_\+v\+\_\+mask}} = -\/1
\begin{DoxyCompactList}\small\item\em Diagnostic handles. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a148ff975d149bc39c488f0df7742caa4}\label{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a148ff975d149bc39c488f0df7742caa4}} 
integer \mbox{\hyperlink{structmom__ice__shelf__dynamics_1_1ice__shelf__dyn__cs_a148ff975d149bc39c488f0df7742caa4}{id\+\_\+t\+\_\+mask}} = -\/1
\begin{DoxyCompactList}\small\item\em Diagnostic handles. \end{DoxyCompactList}\end{DoxyCompactItemize}



\subsection{Detailed Description}
The control structure for the ice shelf dynamics. 

Definition at line 41 of file M\+O\+M\+\_\+ice\+\_\+shelf\+\_\+dynamics.\+F90.



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