\hypertarget{namespacemom__ice__shelf__state}{}\doxysection{mom\+\_\+ice\+\_\+shelf\+\_\+state Module Reference}
\label{namespacemom__ice__shelf__state}\index{mom\_ice\_shelf\_state@{mom\_ice\_shelf\_state}}


\doxysubsection{Detailed Description}
Implements the thermodynamic aspects of ocean / ice-\/shelf interactions, along with a crude placeholder for a later implementation of full ice shelf dynamics, all using the M\+OM framework and coding style. \doxysubsection*{Data Types}
\begin{DoxyCompactItemize}
\item 
type \mbox{\hyperlink{structmom__ice__shelf__state_1_1ice__shelf__state}{ice\+\_\+shelf\+\_\+state}}
\begin{DoxyCompactList}\small\item\em Structure that describes the ice shelf state. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Functions/\+Subroutines}
\begin{DoxyCompactItemize}
\item 
subroutine, public \mbox{\hyperlink{namespacemom__ice__shelf__state_a8d567511be122c8312c1efae11ce2fe2}{ice\+\_\+shelf\+\_\+state\+\_\+init}} (I\+SS, G)
\begin{DoxyCompactList}\small\item\em Deallocates all memory associated with this module. \end{DoxyCompactList}\item 
subroutine, public \mbox{\hyperlink{namespacemom__ice__shelf__state_a8b1a83b8efb864a70ef9028b28dc1fcb}{ice\+\_\+shelf\+\_\+state\+\_\+end}} (I\+SS)
\begin{DoxyCompactList}\small\item\em Deallocates all memory associated with this module. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Function/\+Subroutine Documentation}
\mbox{\Hypertarget{namespacemom__ice__shelf__state_a8b1a83b8efb864a70ef9028b28dc1fcb}\label{namespacemom__ice__shelf__state_a8b1a83b8efb864a70ef9028b28dc1fcb}} 
\index{mom\_ice\_shelf\_state@{mom\_ice\_shelf\_state}!ice\_shelf\_state\_end@{ice\_shelf\_state\_end}}
\index{ice\_shelf\_state\_end@{ice\_shelf\_state\_end}!mom\_ice\_shelf\_state@{mom\_ice\_shelf\_state}}
\doxysubsubsection{\texorpdfstring{ice\_shelf\_state\_end()}{ice\_shelf\_state\_end()}}
{\footnotesize\ttfamily subroutine, public mom\+\_\+ice\+\_\+shelf\+\_\+state\+::ice\+\_\+shelf\+\_\+state\+\_\+end (\begin{DoxyParamCaption}\item[{type(\mbox{\hyperlink{structmom__ice__shelf__state_1_1ice__shelf__state}{ice\+\_\+shelf\+\_\+state}}), pointer}]{I\+SS }\end{DoxyParamCaption})}



Deallocates all memory associated with this module. 


\begin{DoxyParams}{Parameters}
{\em iss} & A pointer to the ice shelf state structure \\
\hline
\end{DoxyParams}


Definition at line 85 of file M\+O\+M\+\_\+ice\+\_\+shelf\+\_\+state.\+F90.


\begin{DoxyCode}{0}
\DoxyCodeLine{86   \textcolor{keywordtype}{type}(ice\_shelf\_state), \textcolor{keywordtype}{pointer} :: ISS\textcolor{comment}{ !< A pointer to the ice shelf state structure}}
\DoxyCodeLine{87 }
\DoxyCodeLine{88   \textcolor{keywordflow}{if} (.not.\textcolor{keyword}{associated}(iss)) \textcolor{keywordflow}{return}}
\DoxyCodeLine{89 }
\DoxyCodeLine{90   \textcolor{keyword}{deallocate}(iss\%mass\_shelf, iss\%area\_shelf\_h, iss\%h\_shelf, iss\%hmask)}
\DoxyCodeLine{91 }
\DoxyCodeLine{92   \textcolor{keyword}{deallocate}(iss\%tflux\_ocn, iss\%water\_flux, iss\%salt\_flux, iss\%tflux\_shelf)}
\DoxyCodeLine{93   \textcolor{keyword}{deallocate}(iss\%tfreeze)}
\DoxyCodeLine{94 }
\DoxyCodeLine{95   \textcolor{keyword}{deallocate}(iss)}
\DoxyCodeLine{96 }

\end{DoxyCode}
\mbox{\Hypertarget{namespacemom__ice__shelf__state_a8d567511be122c8312c1efae11ce2fe2}\label{namespacemom__ice__shelf__state_a8d567511be122c8312c1efae11ce2fe2}} 
\index{mom\_ice\_shelf\_state@{mom\_ice\_shelf\_state}!ice\_shelf\_state\_init@{ice\_shelf\_state\_init}}
\index{ice\_shelf\_state\_init@{ice\_shelf\_state\_init}!mom\_ice\_shelf\_state@{mom\_ice\_shelf\_state}}
\doxysubsubsection{\texorpdfstring{ice\_shelf\_state\_init()}{ice\_shelf\_state\_init()}}
{\footnotesize\ttfamily subroutine, public mom\+\_\+ice\+\_\+shelf\+\_\+state\+::ice\+\_\+shelf\+\_\+state\+\_\+init (\begin{DoxyParamCaption}\item[{type(\mbox{\hyperlink{structmom__ice__shelf__state_1_1ice__shelf__state}{ice\+\_\+shelf\+\_\+state}}), pointer}]{I\+SS,  }\item[{type(ocean\+\_\+grid\+\_\+type), intent(in)}]{G }\end{DoxyParamCaption})}



Deallocates all memory associated with this module. 


\begin{DoxyParams}[1]{Parameters}
 & {\em iss} & A pointer to the ice shelf state structure \\
\hline
\mbox{\texttt{ in}}  & {\em g} & The grid structure used by the ice shelf. \\
\hline
\end{DoxyParams}


Definition at line 56 of file M\+O\+M\+\_\+ice\+\_\+shelf\+\_\+state.\+F90.


\begin{DoxyCode}{0}
\DoxyCodeLine{57   \textcolor{keywordtype}{type}(ice\_shelf\_state), \textcolor{keywordtype}{pointer}    :: ISS\textcolor{comment}{ !< A pointer to the ice shelf state structure}}
\DoxyCodeLine{58   \textcolor{keywordtype}{type}(ocean\_grid\_type), \textcolor{keywordtype}{intent(in)} :: G\textcolor{comment}{   !< The grid structure used by the ice shelf.}}
\DoxyCodeLine{59 }
\DoxyCodeLine{60   \textcolor{keywordtype}{integer} :: isd, ied, jsd, jed}
\DoxyCodeLine{61   isd = g\%isd ; jsd = g\%jsd ; ied = g\%ied ; jed = g\%jed}
\DoxyCodeLine{62 }
\DoxyCodeLine{63   \textcolor{keywordflow}{if} (\textcolor{keyword}{associated}(iss)) \textcolor{keywordflow}{then}}
\DoxyCodeLine{64     \textcolor{keyword}{call }mom\_error(fatal, \textcolor{stringliteral}{"MOM\_ice\_shelf\_state.F90, ice\_shelf\_state\_init: "}// \&}
\DoxyCodeLine{65                           \textcolor{stringliteral}{"called with an associated ice\_shelf\_state pointer."})}
\DoxyCodeLine{66     \textcolor{keywordflow}{return}}
\DoxyCodeLine{67 \textcolor{keywordflow}{  endif}}
\DoxyCodeLine{68   \textcolor{keyword}{allocate}(iss)}
\DoxyCodeLine{69 }
\DoxyCodeLine{70   \textcolor{keyword}{allocate}(iss\%mass\_shelf(isd:ied,jsd:jed) )   ; iss\%mass\_shelf(:,:) = 0.0}
\DoxyCodeLine{71   \textcolor{keyword}{allocate}(iss\%area\_shelf\_h(isd:ied,jsd:jed) ) ; iss\%area\_shelf\_h(:,:) = 0.0}
\DoxyCodeLine{72   \textcolor{keyword}{allocate}(iss\%h\_shelf(isd:ied,jsd:jed) )      ; iss\%h\_shelf(:,:) = 0.0}
\DoxyCodeLine{73   \textcolor{keyword}{allocate}(iss\%hmask(isd:ied,jsd:jed) )        ; iss\%hmask(:,:) = -\/2.0}
\DoxyCodeLine{74 }
\DoxyCodeLine{75   \textcolor{keyword}{allocate}(iss\%tflux\_ocn(isd:ied,jsd:jed) )    ; iss\%tflux\_ocn(:,:) = 0.0}
\DoxyCodeLine{76   \textcolor{keyword}{allocate}(iss\%water\_flux(isd:ied,jsd:jed) )   ; iss\%water\_flux(:,:) = 0.0}
\DoxyCodeLine{77   \textcolor{keyword}{allocate}(iss\%salt\_flux(isd:ied,jsd:jed) )    ; iss\%salt\_flux(:,:) = 0.0}
\DoxyCodeLine{78   \textcolor{keyword}{allocate}(iss\%tflux\_shelf(isd:ied,jsd:jed) )  ; iss\%tflux\_shelf(:,:) = 0.0}
\DoxyCodeLine{79   \textcolor{keyword}{allocate}(iss\%tfreeze(isd:ied,jsd:jed) )      ; iss\%tfreeze(:,:) = 0.0}
\DoxyCodeLine{80 }

\end{DoxyCode}
