\hypertarget{interfacemom__checksums_1_1chk__sum__msg}{}\section{mom\+\_\+checksums\+:\+:chk\+\_\+sum\+\_\+msg Interface Reference}
\label{interfacemom__checksums_1_1chk__sum__msg}\index{mom\+\_\+checksums\+::chk\+\_\+sum\+\_\+msg@{mom\+\_\+checksums\+::chk\+\_\+sum\+\_\+msg}}


\subsection{Detailed Description}
Write a message with either checksums or numerical statistics of arrays. 

Definition at line 69 of file M\+O\+M\+\_\+checksums.\+F90.

\subsection*{Private functions}
\begin{DoxyCompactItemize}
\item 
subroutine \mbox{\hyperlink{interfacemom__checksums_1_1chk__sum__msg_a63f1873587a3c6c0aecfde0a1148d34c}{chk\+\_\+sum\+\_\+msg1}} (fmsg, bc0, mesg, iounit)
\begin{DoxyCompactList}\small\item\em Write a message including the checksum of the non-\/shifted array. \end{DoxyCompactList}\item 
subroutine \mbox{\hyperlink{interfacemom__checksums_1_1chk__sum__msg_a7d0eb46685d5195e872be38584c25892}{chk\+\_\+sum\+\_\+msg2}} (fmsg, bc0, bc\+SW, mesg, iounit)
\begin{DoxyCompactList}\small\item\em Write a message including checksums of non-\/shifted and southwestward shifted arrays. \end{DoxyCompactList}\item 
subroutine \mbox{\hyperlink{interfacemom__checksums_1_1chk__sum__msg_a78e205827f68de5aa6c86bb02038a49b}{chk\+\_\+sum\+\_\+msg3}} (fmsg, a\+Mean, a\+Min, a\+Max, mesg, iounit)
\begin{DoxyCompactList}\small\item\em Write a message including the global mean, maximum and minimum of an array. \end{DoxyCompactList}\item 
subroutine \mbox{\hyperlink{interfacemom__checksums_1_1chk__sum__msg_a16f849a35f6fe6e76783f2662ff75155}{chk\+\_\+sum\+\_\+msg5}} (fmsg, bc0, bc\+SW, bc\+SE, bc\+NW, bc\+NE, mesg, iounit)
\begin{DoxyCompactList}\small\item\em Write a message including checksums of non-\/shifted and diagonally shifted arrays. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Write a message with either checksums or numerical statistics of arrays. 

Definition at line 69 of file M\+O\+M\+\_\+checksums.\+F90.



\subsection{Functions and subroutines}
\mbox{\Hypertarget{interfacemom__checksums_1_1chk__sum__msg_a63f1873587a3c6c0aecfde0a1148d34c}\label{interfacemom__checksums_1_1chk__sum__msg_a63f1873587a3c6c0aecfde0a1148d34c}} 
\index{mom\+\_\+checksums\+::chk\+\_\+sum\+\_\+msg@{mom\+\_\+checksums\+::chk\+\_\+sum\+\_\+msg}!chk\+\_\+sum\+\_\+msg1@{chk\+\_\+sum\+\_\+msg1}}
\index{chk\+\_\+sum\+\_\+msg1@{chk\+\_\+sum\+\_\+msg1}!mom\+\_\+checksums\+::chk\+\_\+sum\+\_\+msg@{mom\+\_\+checksums\+::chk\+\_\+sum\+\_\+msg}}
\subsubsection{\texorpdfstring{chk\+\_\+sum\+\_\+msg1()}{chk\_sum\_msg1()}}
{\footnotesize\ttfamily subroutine mom\+\_\+checksums\+::chk\+\_\+sum\+\_\+msg\+::chk\+\_\+sum\+\_\+msg1 (\begin{DoxyParamCaption}\item[{character(len=$\ast$), intent(in)}]{fmsg,  }\item[{integer, intent(in)}]{bc0,  }\item[{character(len=$\ast$), intent(in)}]{mesg,  }\item[{integer, intent(in)}]{iounit }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Write a message including the checksum of the non-\/shifted array. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em fmsg} & A checksum code-\/location specific preamble\\
\hline
\mbox{\tt in}  & {\em mesg} & An identifying message supplied by top-\/level caller\\
\hline
\mbox{\tt in}  & {\em bc0} & The bitcount of the non-\/shifted array\\
\hline
\mbox{\tt in}  & {\em iounit} & Checksum logger IO unit \\
\hline
\end{DoxyParams}


Definition at line 2077 of file M\+O\+M\+\_\+checksums.\+F90.


\begin{DoxyCode}
2077   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{intent(in)} :: fmsg\textcolor{comment}{ !< A checksum code-location specific preamble}
2078   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{intent(in)} :: mesg\textcolor{comment}{ !< An identifying message supplied by top-level caller}
2079   \textcolor{keywordtype}{integer},          \textcolor{keywordtype}{intent(in)} :: bc0\textcolor{comment}{  !< The bitcount of the non-shifted array}
2080   \textcolor{keywordtype}{integer},          \textcolor{keywordtype}{intent(in)} :: iounit\textcolor{comment}{ !< Checksum logger IO unit}
2081 
2082   \textcolor{keywordflow}{if} (is\_root\_pe()) &
2083     \textcolor{keyword}{write}(iounit, \textcolor{stringliteral}{'(A,1(A,I10,X),A)'}) fmsg, \textcolor{stringliteral}{" c="}, bc0, trim(mesg)
\end{DoxyCode}
\mbox{\Hypertarget{interfacemom__checksums_1_1chk__sum__msg_a7d0eb46685d5195e872be38584c25892}\label{interfacemom__checksums_1_1chk__sum__msg_a7d0eb46685d5195e872be38584c25892}} 
\index{mom\+\_\+checksums\+::chk\+\_\+sum\+\_\+msg@{mom\+\_\+checksums\+::chk\+\_\+sum\+\_\+msg}!chk\+\_\+sum\+\_\+msg2@{chk\+\_\+sum\+\_\+msg2}}
\index{chk\+\_\+sum\+\_\+msg2@{chk\+\_\+sum\+\_\+msg2}!mom\+\_\+checksums\+::chk\+\_\+sum\+\_\+msg@{mom\+\_\+checksums\+::chk\+\_\+sum\+\_\+msg}}
\subsubsection{\texorpdfstring{chk\+\_\+sum\+\_\+msg2()}{chk\_sum\_msg2()}}
{\footnotesize\ttfamily subroutine mom\+\_\+checksums\+::chk\+\_\+sum\+\_\+msg\+::chk\+\_\+sum\+\_\+msg2 (\begin{DoxyParamCaption}\item[{character(len=$\ast$), intent(in)}]{fmsg,  }\item[{integer, intent(in)}]{bc0,  }\item[{integer, intent(in)}]{bc\+SW,  }\item[{character(len=$\ast$), intent(in)}]{mesg,  }\item[{integer, intent(in)}]{iounit }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Write a message including checksums of non-\/shifted and southwestward shifted arrays. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em fmsg} & A checksum code-\/location specific preamble\\
\hline
\mbox{\tt in}  & {\em mesg} & An identifying message supplied by top-\/level caller\\
\hline
\mbox{\tt in}  & {\em bc0} & The bitcount of the non-\/shifted array\\
\hline
\mbox{\tt in}  & {\em bcsw} & The bitcount of the southwest-\/shifted array\\
\hline
\mbox{\tt in}  & {\em iounit} & Checksum logger IO unit \\
\hline
\end{DoxyParams}


Definition at line 2142 of file M\+O\+M\+\_\+checksums.\+F90.


\begin{DoxyCode}
2142   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{intent(in)} :: fmsg\textcolor{comment}{ !< A checksum code-location specific preamble}
2143   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{intent(in)} :: mesg\textcolor{comment}{ !< An identifying message supplied by top-level caller}
2144   \textcolor{keywordtype}{integer},          \textcolor{keywordtype}{intent(in)} :: bc0\textcolor{comment}{  !< The bitcount of the non-shifted array}
2145   \textcolor{keywordtype}{integer},          \textcolor{keywordtype}{intent(in)} :: bcSW\textcolor{comment}{ !< The bitcount of the southwest-shifted array}
2146   \textcolor{keywordtype}{integer},          \textcolor{keywordtype}{intent(in)} :: iounit\textcolor{comment}{ !< Checksum logger IO unit}
2147 
2148   \textcolor{keywordflow}{if} (is\_root\_pe()) \textcolor{keyword}{write}(iounit, \textcolor{stringliteral}{'(A,2(A,I9,1X),A)'}) &
2149     fmsg, \textcolor{stringliteral}{" c="}, bc0, \textcolor{stringliteral}{"s/w="}, bcsw, trim(mesg)
\end{DoxyCode}
\mbox{\Hypertarget{interfacemom__checksums_1_1chk__sum__msg_a78e205827f68de5aa6c86bb02038a49b}\label{interfacemom__checksums_1_1chk__sum__msg_a78e205827f68de5aa6c86bb02038a49b}} 
\index{mom\+\_\+checksums\+::chk\+\_\+sum\+\_\+msg@{mom\+\_\+checksums\+::chk\+\_\+sum\+\_\+msg}!chk\+\_\+sum\+\_\+msg3@{chk\+\_\+sum\+\_\+msg3}}
\index{chk\+\_\+sum\+\_\+msg3@{chk\+\_\+sum\+\_\+msg3}!mom\+\_\+checksums\+::chk\+\_\+sum\+\_\+msg@{mom\+\_\+checksums\+::chk\+\_\+sum\+\_\+msg}}
\subsubsection{\texorpdfstring{chk\+\_\+sum\+\_\+msg3()}{chk\_sum\_msg3()}}
{\footnotesize\ttfamily subroutine mom\+\_\+checksums\+::chk\+\_\+sum\+\_\+msg\+::chk\+\_\+sum\+\_\+msg3 (\begin{DoxyParamCaption}\item[{character(len=$\ast$), intent(in)}]{fmsg,  }\item[{real, intent(in)}]{a\+Mean,  }\item[{real, intent(in)}]{a\+Min,  }\item[{real, intent(in)}]{a\+Max,  }\item[{character(len=$\ast$), intent(in)}]{mesg,  }\item[{integer, intent(in)}]{iounit }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Write a message including the global mean, maximum and minimum of an array. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em fmsg} & A checksum code-\/location specific preamble\\
\hline
\mbox{\tt in}  & {\em mesg} & An identifying message supplied by top-\/level caller\\
\hline
\mbox{\tt in}  & {\em amean} & The mean value of the array\\
\hline
\mbox{\tt in}  & {\em amin} & The minimum value of the array\\
\hline
\mbox{\tt in}  & {\em amax} & The maximum value of the array\\
\hline
\mbox{\tt in}  & {\em iounit} & Checksum logger IO unit \\
\hline
\end{DoxyParams}


Definition at line 2154 of file M\+O\+M\+\_\+checksums.\+F90.


\begin{DoxyCode}
2154   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{intent(in)} :: fmsg\textcolor{comment}{ !< A checksum code-location specific preamble}
2155   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{intent(in)} :: mesg\textcolor{comment}{ !< An identifying message supplied by top-level caller}
2156   \textcolor{keywordtype}{real},             \textcolor{keywordtype}{intent(in)} :: aMean\textcolor{comment}{ !< The mean value of the array}
2157   \textcolor{keywordtype}{real},             \textcolor{keywordtype}{intent(in)} :: aMin\textcolor{comment}{ !< The minimum value of the array}
2158   \textcolor{keywordtype}{real},             \textcolor{keywordtype}{intent(in)} :: aMax\textcolor{comment}{ !< The maximum value of the array}
2159   \textcolor{keywordtype}{integer},          \textcolor{keywordtype}{intent(in)} :: iounit\textcolor{comment}{ !< Checksum logger IO unit}
2160 
2161   \textcolor{comment}{! NOTE: We add zero to aMin and aMax to remove any negative zeros.}
2162   \textcolor{comment}{! This is due to inconsistencies of signed zero in local vs MPI calculations.}
2163 
2164   \textcolor{keywordflow}{if} (is\_root\_pe()) \textcolor{keyword}{write}(iounit, \textcolor{stringliteral}{'(A,3(A,ES25.16,1X),A)'}) &
2165     fmsg, \textcolor{stringliteral}{" mean="}, amean, \textcolor{stringliteral}{"min="}, (0. + amin), \textcolor{stringliteral}{"max="}, (0. + amax), trim(mesg)
\end{DoxyCode}
\mbox{\Hypertarget{interfacemom__checksums_1_1chk__sum__msg_a16f849a35f6fe6e76783f2662ff75155}\label{interfacemom__checksums_1_1chk__sum__msg_a16f849a35f6fe6e76783f2662ff75155}} 
\index{mom\+\_\+checksums\+::chk\+\_\+sum\+\_\+msg@{mom\+\_\+checksums\+::chk\+\_\+sum\+\_\+msg}!chk\+\_\+sum\+\_\+msg5@{chk\+\_\+sum\+\_\+msg5}}
\index{chk\+\_\+sum\+\_\+msg5@{chk\+\_\+sum\+\_\+msg5}!mom\+\_\+checksums\+::chk\+\_\+sum\+\_\+msg@{mom\+\_\+checksums\+::chk\+\_\+sum\+\_\+msg}}
\subsubsection{\texorpdfstring{chk\+\_\+sum\+\_\+msg5()}{chk\_sum\_msg5()}}
{\footnotesize\ttfamily subroutine mom\+\_\+checksums\+::chk\+\_\+sum\+\_\+msg\+::chk\+\_\+sum\+\_\+msg5 (\begin{DoxyParamCaption}\item[{character(len=$\ast$), intent(in)}]{fmsg,  }\item[{integer, intent(in)}]{bc0,  }\item[{integer, intent(in)}]{bc\+SW,  }\item[{integer, intent(in)}]{bc\+SE,  }\item[{integer, intent(in)}]{bc\+NW,  }\item[{integer, intent(in)}]{bc\+NE,  }\item[{character(len=$\ast$), intent(in)}]{mesg,  }\item[{integer, intent(in)}]{iounit }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Write a message including checksums of non-\/shifted and diagonally shifted arrays. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em fmsg} & A checksum code-\/location specific preamble\\
\hline
\mbox{\tt in}  & {\em mesg} & An identifying message supplied by top-\/level caller\\
\hline
\mbox{\tt in}  & {\em bc0} & The bitcount of the non-\/shifted array\\
\hline
\mbox{\tt in}  & {\em bcsw} & The bitcount for SW shifted array\\
\hline
\mbox{\tt in}  & {\em bcse} & The bitcount for SE shifted array\\
\hline
\mbox{\tt in}  & {\em bcnw} & The bitcount for NW shifted array\\
\hline
\mbox{\tt in}  & {\em bcne} & The bitcount for NE shifted array\\
\hline
\mbox{\tt in}  & {\em iounit} & Checksum logger IO unit \\
\hline
\end{DoxyParams}


Definition at line 2088 of file M\+O\+M\+\_\+checksums.\+F90.


\begin{DoxyCode}
2088   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{intent(in)} :: fmsg\textcolor{comment}{ !< A checksum code-location specific preamble}
2089   \textcolor{keywordtype}{character(len=*)}, \textcolor{keywordtype}{intent(in)} :: mesg\textcolor{comment}{ !< An identifying message supplied by top-level caller}
2090   \textcolor{keywordtype}{integer},          \textcolor{keywordtype}{intent(in)} :: bc0\textcolor{comment}{  !< The bitcount of the non-shifted array}
2091   \textcolor{keywordtype}{integer},          \textcolor{keywordtype}{intent(in)} :: bcSW\textcolor{comment}{ !< The bitcount for SW shifted array}
2092   \textcolor{keywordtype}{integer},          \textcolor{keywordtype}{intent(in)} :: bcSE\textcolor{comment}{ !< The bitcount for SE shifted array}
2093   \textcolor{keywordtype}{integer},          \textcolor{keywordtype}{intent(in)} :: bcNW\textcolor{comment}{ !< The bitcount for NW shifted array}
2094   \textcolor{keywordtype}{integer},          \textcolor{keywordtype}{intent(in)} :: bcNE\textcolor{comment}{ !< The bitcount for NE shifted array}
2095   \textcolor{keywordtype}{integer},          \textcolor{keywordtype}{intent(in)} :: iounit\textcolor{comment}{ !< Checksum logger IO unit}
2096 
2097   \textcolor{keywordflow}{if} (is\_root\_pe()) \textcolor{keyword}{write}(iounit, \textcolor{stringliteral}{'(A,5(A,I10,1X),A)'}) &
2098     fmsg, \textcolor{stringliteral}{" c="}, bc0, \textcolor{stringliteral}{"sw="}, bcsw, \textcolor{stringliteral}{"se="}, bcse, \textcolor{stringliteral}{"nw="}, bcnw, \textcolor{stringliteral}{"ne="}, bcne, trim(mesg)
\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\+\_\+checksums.\+F90\end{DoxyCompactItemize}
