\hypertarget{interfacemom__safe__alloc_1_1safe__alloc__alloc}{}\doxysection{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}}


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

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

\doxysubsection*{Private functions}
\begin{DoxyCompactItemize}
\item 
subroutine \mbox{\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 \mbox{\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 \mbox{\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}


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

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



\doxysubsection{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}}
\doxysubsubsection{\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{\texttt{ in}}  & {\em is} & The start index to allocate for the 1st dimension \\
\hline
\mbox{\texttt{ in}}  & {\em ie} & The end index to allocate for the 1st dimension \\
\hline
\mbox{\texttt{ in}}  & {\em js} & The start index to allocate for the 2nd dimension \\
\hline
\mbox{\texttt{ in}}  & {\em je} & The end index to allocate for the 2nd dimension \\
\hline
\end{DoxyParams}


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


\begin{DoxyCode}{0}
\DoxyCodeLine{117 \textcolor{keywordtype}{  real}, \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{allocatable} :: ptr\textcolor{comment}{ !< An allocatable array to allocate}}
\DoxyCodeLine{118   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)} :: is\textcolor{comment}{ !< The start index to allocate for the 1st dimension}}
\DoxyCodeLine{119   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)} :: ie\textcolor{comment}{ !< The end index to allocate for the 1st dimension}}
\DoxyCodeLine{120   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)} :: js\textcolor{comment}{ !< The start index to allocate for the 2nd dimension}}
\DoxyCodeLine{121   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)} :: je\textcolor{comment}{ !< The end index to allocate for the 2nd dimension}}
\DoxyCodeLine{122   \textcolor{keywordflow}{if} (.not.\textcolor{keyword}{allocated}(ptr)) \textcolor{keywordflow}{then}}
\DoxyCodeLine{123     \textcolor{keyword}{allocate}(ptr(is:ie,js:je))}
\DoxyCodeLine{124     ptr(:,:) = 0.0}
\DoxyCodeLine{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}}
\doxysubsubsection{\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{\texttt{ in}}  & {\em is} & The start index to allocate for the 1st dimension \\
\hline
\mbox{\texttt{ in}}  & {\em ie} & The end index to allocate for the 1st dimension \\
\hline
\mbox{\texttt{ in}}  & {\em js} & The start index to allocate for the 2nd dimension \\
\hline
\mbox{\texttt{ in}}  & {\em je} & The end index to allocate for the 2nd dimension \\
\hline
\mbox{\texttt{ in}}  & {\em nk} & The size to allocate for the 3rd dimension \\
\hline
\end{DoxyParams}


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


\begin{DoxyCode}{0}
\DoxyCodeLine{131 \textcolor{keywordtype}{  real}, \textcolor{keywordtype}{dimension(:,:,:)}, \textcolor{keywordtype}{allocatable} :: ptr\textcolor{comment}{ !< An allocatable array to allocate}}
\DoxyCodeLine{132   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)} :: is\textcolor{comment}{ !< The start index to allocate for the 1st dimension}}
\DoxyCodeLine{133   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)} :: ie\textcolor{comment}{ !< The end index to allocate for the 1st dimension}}
\DoxyCodeLine{134   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)} :: js\textcolor{comment}{ !< The start index to allocate for the 2nd dimension}}
\DoxyCodeLine{135   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)} :: je\textcolor{comment}{ !< The end index to allocate for the 2nd dimension}}
\DoxyCodeLine{136   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)} :: nk\textcolor{comment}{ !< The size to allocate for the 3rd dimension}}
\DoxyCodeLine{137   \textcolor{keywordflow}{if} (.not.\textcolor{keyword}{allocated}(ptr)) \textcolor{keywordflow}{then}}
\DoxyCodeLine{138     \textcolor{keyword}{allocate}(ptr(is:ie,js:je,nk))}
\DoxyCodeLine{139     ptr(:,:,:) = 0.0}
\DoxyCodeLine{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}}
\doxysubsubsection{\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{\texttt{ in}}  & {\em is} & The start index to allocate for the 1st dimension \\
\hline
\mbox{\texttt{ in}}  & {\em ie} & The end index to allocate for the 1st dimension \\
\hline
\mbox{\texttt{ in}}  & {\em js} & The start index to allocate for the 2nd dimension \\
\hline
\mbox{\texttt{ in}}  & {\em je} & The end index to allocate for the 2nd dimension \\
\hline
\mbox{\texttt{ in}}  & {\em ks} & The start index to allocate for the 3rd dimension \\
\hline
\mbox{\texttt{ in}}  & {\em ke} & The end index to allocate for the 3rd dimension \\
\hline
\end{DoxyParams}


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


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