\hypertarget{interfacemom__safe__alloc_1_1safe__alloc__alloc}{}\section{mom\+\_\+safe\+\_\+alloc\+:\+:safe\+\_\+alloc\+\_\+alloc Interface Reference}
\label{interfacemom__safe__alloc_1_1safe__alloc__alloc}\index{mom\+\_\+safe\+\_\+alloc\+::safe\+\_\+alloc\+\_\+alloc@{mom\+\_\+safe\+\_\+alloc\+::safe\+\_\+alloc\+\_\+alloc}}


\subsection{Detailed Description}
Allocate a 2-\/d or 3-\/d allocatable array. 

Definition at line 18 of file M\+O\+M\+\_\+safe\+\_\+alloc.\+F90.

\subsection*{Private functions}
\begin{DoxyCompactItemize}
\item 
subroutine \hyperlink{interfacemom__safe__alloc_1_1safe__alloc__alloc_abdf6bc92f2d4da6b7c10a797dc3256d4}{safe\+\_\+alloc\+\_\+allocatable\+\_\+3d} (ptr, is, ie, js, je, nk)
\begin{DoxyCompactList}\small\item\em Allocate a 3-\/d allocatable array based on its index starting and ending values and k-\/index size. \end{DoxyCompactList}\item 
subroutine \hyperlink{interfacemom__safe__alloc_1_1safe__alloc__alloc_ab75c2e234298e38b8bd113f83ef1796d}{safe\+\_\+alloc\+\_\+allocatable\+\_\+2d} (ptr, is, ie, js, je)
\begin{DoxyCompactList}\small\item\em Allocate a 2-\/d allocatable array based on its index starting and ending values. \end{DoxyCompactList}\item 
subroutine \hyperlink{interfacemom__safe__alloc_1_1safe__alloc__alloc_ac8b67bbe358629f00a3a708a65aaa91c}{safe\+\_\+alloc\+\_\+allocatable\+\_\+3d\+\_\+6arg} (ptr, is, ie, js, je, ks, ke)
\begin{DoxyCompactList}\small\item\em Allocate a 3-\/d allocatable array based on its 6 index starting and ending values. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Allocate a 2-\/d or 3-\/d allocatable array. 

Definition at line 18 of file M\+O\+M\+\_\+safe\+\_\+alloc.\+F90.



\subsection{Functions and subroutines}
\mbox{\Hypertarget{interfacemom__safe__alloc_1_1safe__alloc__alloc_ab75c2e234298e38b8bd113f83ef1796d}\label{interfacemom__safe__alloc_1_1safe__alloc__alloc_ab75c2e234298e38b8bd113f83ef1796d}} 
\index{mom\+\_\+safe\+\_\+alloc\+::safe\+\_\+alloc\+\_\+alloc@{mom\+\_\+safe\+\_\+alloc\+::safe\+\_\+alloc\+\_\+alloc}!safe\+\_\+alloc\+\_\+allocatable\+\_\+2d@{safe\+\_\+alloc\+\_\+allocatable\+\_\+2d}}
\index{safe\+\_\+alloc\+\_\+allocatable\+\_\+2d@{safe\+\_\+alloc\+\_\+allocatable\+\_\+2d}!mom\+\_\+safe\+\_\+alloc\+::safe\+\_\+alloc\+\_\+alloc@{mom\+\_\+safe\+\_\+alloc\+::safe\+\_\+alloc\+\_\+alloc}}
\subsubsection{\texorpdfstring{safe\+\_\+alloc\+\_\+allocatable\+\_\+2d()}{safe\_alloc\_allocatable\_2d()}}
{\footnotesize\ttfamily subroutine mom\+\_\+safe\+\_\+alloc\+::safe\+\_\+alloc\+\_\+alloc\+::safe\+\_\+alloc\+\_\+allocatable\+\_\+2d (\begin{DoxyParamCaption}\item[{real, dimension(\+:,\+:), allocatable}]{ptr,  }\item[{integer, intent(in)}]{is,  }\item[{integer, intent(in)}]{ie,  }\item[{integer, intent(in)}]{js,  }\item[{integer, intent(in)}]{je }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Allocate a 2-\/d allocatable array based on its index starting and ending values. 


\begin{DoxyParams}[1]{Parameters}
 & {\em ptr} & An allocatable array to allocate\\
\hline
\mbox{\tt in}  & {\em is} & The start index to allocate for the 1st dimension\\
\hline
\mbox{\tt in}  & {\em ie} & The end index to allocate for the 1st dimension\\
\hline
\mbox{\tt in}  & {\em js} & The start index to allocate for the 2nd dimension\\
\hline
\mbox{\tt in}  & {\em je} & The end index to allocate for the 2nd dimension \\
\hline
\end{DoxyParams}


Definition at line 117 of file M\+O\+M\+\_\+safe\+\_\+alloc.\+F90.


\begin{DoxyCode}
117   \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{allocatable} :: ptr\textcolor{comment}{ !< An allocatable array to allocate}
118   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)} :: is\textcolor{comment}{ !< The start index to allocate for the 1st dimension}
119   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)} :: ie\textcolor{comment}{ !< The end index to allocate for the 1st dimension}
120   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)} :: js\textcolor{comment}{ !< The start index to allocate for the 2nd dimension}
121   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)} :: je\textcolor{comment}{ !< The end index to allocate for the 2nd dimension}
122   \textcolor{keywordflow}{if} (.not.\textcolor{keyword}{allocated}(ptr)) \textcolor{keywordflow}{then}
123     \textcolor{keyword}{allocate}(ptr(is:ie,js:je))
124     ptr(:,:) = 0.0
125 \textcolor{keywordflow}{  endif}
\end{DoxyCode}
\mbox{\Hypertarget{interfacemom__safe__alloc_1_1safe__alloc__alloc_abdf6bc92f2d4da6b7c10a797dc3256d4}\label{interfacemom__safe__alloc_1_1safe__alloc__alloc_abdf6bc92f2d4da6b7c10a797dc3256d4}} 
\index{mom\+\_\+safe\+\_\+alloc\+::safe\+\_\+alloc\+\_\+alloc@{mom\+\_\+safe\+\_\+alloc\+::safe\+\_\+alloc\+\_\+alloc}!safe\+\_\+alloc\+\_\+allocatable\+\_\+3d@{safe\+\_\+alloc\+\_\+allocatable\+\_\+3d}}
\index{safe\+\_\+alloc\+\_\+allocatable\+\_\+3d@{safe\+\_\+alloc\+\_\+allocatable\+\_\+3d}!mom\+\_\+safe\+\_\+alloc\+::safe\+\_\+alloc\+\_\+alloc@{mom\+\_\+safe\+\_\+alloc\+::safe\+\_\+alloc\+\_\+alloc}}
\subsubsection{\texorpdfstring{safe\+\_\+alloc\+\_\+allocatable\+\_\+3d()}{safe\_alloc\_allocatable\_3d()}}
{\footnotesize\ttfamily subroutine mom\+\_\+safe\+\_\+alloc\+::safe\+\_\+alloc\+\_\+alloc\+::safe\+\_\+alloc\+\_\+allocatable\+\_\+3d (\begin{DoxyParamCaption}\item[{real, dimension(\+:,\+:,\+:), allocatable}]{ptr,  }\item[{integer, intent(in)}]{is,  }\item[{integer, intent(in)}]{ie,  }\item[{integer, intent(in)}]{js,  }\item[{integer, intent(in)}]{je,  }\item[{integer, intent(in)}]{nk }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Allocate a 3-\/d allocatable array based on its index starting and ending values and k-\/index size. 


\begin{DoxyParams}[1]{Parameters}
 & {\em ptr} & An allocatable array to allocate\\
\hline
\mbox{\tt in}  & {\em is} & The start index to allocate for the 1st dimension\\
\hline
\mbox{\tt in}  & {\em ie} & The end index to allocate for the 1st dimension\\
\hline
\mbox{\tt in}  & {\em js} & The start index to allocate for the 2nd dimension\\
\hline
\mbox{\tt in}  & {\em je} & The end index to allocate for the 2nd dimension\\
\hline
\mbox{\tt in}  & {\em nk} & The size to allocate for the 3rd dimension \\
\hline
\end{DoxyParams}


Definition at line 131 of file M\+O\+M\+\_\+safe\+\_\+alloc.\+F90.


\begin{DoxyCode}
131   \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(:,:,:)}, \textcolor{keywordtype}{allocatable} :: ptr\textcolor{comment}{ !< An allocatable array to allocate}
132   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)} :: is\textcolor{comment}{ !< The start index to allocate for the 1st dimension}
133   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)} :: ie\textcolor{comment}{ !< The end index to allocate for the 1st dimension}
134   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)} :: js\textcolor{comment}{ !< The start index to allocate for the 2nd dimension}
135   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)} :: je\textcolor{comment}{ !< The end index to allocate for the 2nd dimension}
136   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)} :: nk\textcolor{comment}{ !< The size to allocate for the 3rd dimension}
137   \textcolor{keywordflow}{if} (.not.\textcolor{keyword}{allocated}(ptr)) \textcolor{keywordflow}{then}
138     \textcolor{keyword}{allocate}(ptr(is:ie,js:je,nk))
139     ptr(:,:,:) = 0.0
140 \textcolor{keywordflow}{  endif}
\end{DoxyCode}
\mbox{\Hypertarget{interfacemom__safe__alloc_1_1safe__alloc__alloc_ac8b67bbe358629f00a3a708a65aaa91c}\label{interfacemom__safe__alloc_1_1safe__alloc__alloc_ac8b67bbe358629f00a3a708a65aaa91c}} 
\index{mom\+\_\+safe\+\_\+alloc\+::safe\+\_\+alloc\+\_\+alloc@{mom\+\_\+safe\+\_\+alloc\+::safe\+\_\+alloc\+\_\+alloc}!safe\+\_\+alloc\+\_\+allocatable\+\_\+3d\+\_\+6arg@{safe\+\_\+alloc\+\_\+allocatable\+\_\+3d\+\_\+6arg}}
\index{safe\+\_\+alloc\+\_\+allocatable\+\_\+3d\+\_\+6arg@{safe\+\_\+alloc\+\_\+allocatable\+\_\+3d\+\_\+6arg}!mom\+\_\+safe\+\_\+alloc\+::safe\+\_\+alloc\+\_\+alloc@{mom\+\_\+safe\+\_\+alloc\+::safe\+\_\+alloc\+\_\+alloc}}
\subsubsection{\texorpdfstring{safe\+\_\+alloc\+\_\+allocatable\+\_\+3d\+\_\+6arg()}{safe\_alloc\_allocatable\_3d\_6arg()}}
{\footnotesize\ttfamily subroutine mom\+\_\+safe\+\_\+alloc\+::safe\+\_\+alloc\+\_\+alloc\+::safe\+\_\+alloc\+\_\+allocatable\+\_\+3d\+\_\+6arg (\begin{DoxyParamCaption}\item[{real, dimension(\+:,\+:,\+:), allocatable}]{ptr,  }\item[{integer, intent(in)}]{is,  }\item[{integer, intent(in)}]{ie,  }\item[{integer, intent(in)}]{js,  }\item[{integer, intent(in)}]{je,  }\item[{integer, intent(in)}]{ks,  }\item[{integer, intent(in)}]{ke }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Allocate a 3-\/d allocatable array based on its 6 index starting and ending values. 


\begin{DoxyParams}[1]{Parameters}
 & {\em ptr} & An allocatable array to allocate\\
\hline
\mbox{\tt in}  & {\em is} & The start index to allocate for the 1st dimension\\
\hline
\mbox{\tt in}  & {\em ie} & The end index to allocate for the 1st dimension\\
\hline
\mbox{\tt in}  & {\em js} & The start index to allocate for the 2nd dimension\\
\hline
\mbox{\tt in}  & {\em je} & The end index to allocate for the 2nd dimension\\
\hline
\mbox{\tt in}  & {\em ks} & The start index to allocate for the 3rd dimension\\
\hline
\mbox{\tt in}  & {\em ke} & The end index to allocate for the 3rd dimension \\
\hline
\end{DoxyParams}


Definition at line 145 of file M\+O\+M\+\_\+safe\+\_\+alloc.\+F90.


\begin{DoxyCode}
145   \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(:,:,:)}, \textcolor{keywordtype}{allocatable} :: ptr\textcolor{comment}{ !< An allocatable array to allocate}
146   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)} :: is\textcolor{comment}{ !< The start index to allocate for the 1st dimension}
147   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)} :: ie\textcolor{comment}{ !< The end index to allocate for the 1st dimension}
148   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)} :: js\textcolor{comment}{ !< The start index to allocate for the 2nd dimension}
149   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)} :: je\textcolor{comment}{ !< The end index to allocate for the 2nd dimension}
150   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)} :: ks\textcolor{comment}{ !< The start index to allocate for the 3rd dimension}
151   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)} :: ke\textcolor{comment}{ !< The end index to allocate for the 3rd dimension}
152   \textcolor{keywordflow}{if} (.not.\textcolor{keyword}{allocated}(ptr)) \textcolor{keywordflow}{then}
153     \textcolor{keyword}{allocate}(ptr(is:ie,js:je,ks:ke))
154     ptr(:,:,:) = 0.0
155 \textcolor{keywordflow}{  endif}
\end{DoxyCode}


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