\hypertarget{interfacemom__debugging_1_1vec__chksum__a}{}\doxysection{mom\+\_\+debugging\+::vec\+\_\+chksum\+\_\+a Interface Reference}
\label{interfacemom__debugging_1_1vec__chksum__a}\index{mom\_debugging::vec\_chksum\_a@{mom\_debugging::vec\_chksum\_a}}


\doxysubsection{Detailed Description}
Do checksums on the components of an A-\/grid vector. 

Definition at line 64 of file M\+O\+M\+\_\+debugging.\+F90.

\doxysubsection*{Private functions}
\begin{DoxyCompactItemize}
\item 
subroutine \mbox{\hyperlink{interfacemom__debugging_1_1vec__chksum__a_a558e6d2492743a1829e80a05994ccc28}{chksum\+\_\+vec\+\_\+a3d}} (mesg, u\+\_\+comp, v\+\_\+comp, G, halos, scalars)
\begin{DoxyCompactList}\small\item\em Do a checksum and redundant point check on a 3d C-\/grid vector. \end{DoxyCompactList}\item 
subroutine \mbox{\hyperlink{interfacemom__debugging_1_1vec__chksum__a_a98ce4c76b25ab1255243b28f1c1b9a43}{chksum\+\_\+vec\+\_\+a2d}} (mesg, u\+\_\+comp, v\+\_\+comp, G, halos, scalars)
\begin{DoxyCompactList}\small\item\em Do a checksum and redundant point check on a 2d C-\/grid vector. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Do checksums on the components of an A-\/grid vector. 

Definition at line 64 of file M\+O\+M\+\_\+debugging.\+F90.



\doxysubsection{Functions and subroutines}
\mbox{\Hypertarget{interfacemom__debugging_1_1vec__chksum__a_a98ce4c76b25ab1255243b28f1c1b9a43}\label{interfacemom__debugging_1_1vec__chksum__a_a98ce4c76b25ab1255243b28f1c1b9a43}} 
\index{mom\_debugging::vec\_chksum\_a@{mom\_debugging::vec\_chksum\_a}!chksum\_vec\_a2d@{chksum\_vec\_a2d}}
\index{chksum\_vec\_a2d@{chksum\_vec\_a2d}!mom\_debugging::vec\_chksum\_a@{mom\_debugging::vec\_chksum\_a}}
\doxysubsubsection{\texorpdfstring{chksum\_vec\_a2d()}{chksum\_vec\_a2d()}}
{\footnotesize\ttfamily subroutine mom\+\_\+debugging\+::vec\+\_\+chksum\+\_\+a\+::chksum\+\_\+vec\+\_\+a2d (\begin{DoxyParamCaption}\item[{character(len=$\ast$), intent(in)}]{mesg,  }\item[{real, dimension(g\%isd\+:,g\%jsd\+:), intent(in)}]{u\+\_\+comp,  }\item[{real, dimension(g\%isd\+:,g\%jsd\+:), intent(in)}]{v\+\_\+comp,  }\item[{type(\mbox{\hyperlink{structmom__grid_1_1ocean__grid__type}{ocean\+\_\+grid\+\_\+type}}), intent(inout)}]{G,  }\item[{integer, intent(in), optional}]{halos,  }\item[{logical, intent(in), optional}]{scalars }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Do a checksum and redundant point check on a 2d C-\/grid vector. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em mesg} & An identifying message \\
\hline
\mbox{\texttt{ in,out}}  & {\em g} & The ocean\textquotesingle{}s grid structure \\
\hline
\mbox{\texttt{ in}}  & {\em u\+\_\+comp} & The u-\/component of the vector \\
\hline
\mbox{\texttt{ in}}  & {\em v\+\_\+comp} & The v-\/component of the vector \\
\hline
\mbox{\texttt{ in}}  & {\em halos} & The width of halos to check (default 0) \\
\hline
\mbox{\texttt{ in}}  & {\em scalars} & If true this is a pair of scalars that are being checked. \\
\hline
\end{DoxyParams}


Definition at line 698 of file M\+O\+M\+\_\+debugging.\+F90.


\begin{DoxyCode}{0}
\DoxyCodeLine{699   \textcolor{keywordtype}{character(len=*)},               \textcolor{keywordtype}{intent(in)}    :: mesg\textcolor{comment}{   !< An identifying message}}
\DoxyCodeLine{700   \textcolor{keywordtype}{type}(ocean\_grid\_type),          \textcolor{keywordtype}{intent(inout)} :: G\textcolor{comment}{      !< The ocean's grid structure}}
\DoxyCodeLine{701 \textcolor{keywordtype}{  real}, \textcolor{keywordtype}{dimension(G\%isd:,G\%jsd:)}, \textcolor{keywordtype}{intent(in)}    :: u\_comp\textcolor{comment}{ !< The u-\/component of the vector}}
\DoxyCodeLine{702 \textcolor{keywordtype}{  real}, \textcolor{keywordtype}{dimension(G\%isd:,G\%jsd:)}, \textcolor{keywordtype}{intent(in)}    :: v\_comp\textcolor{comment}{ !< The v-\/component of the vector}}
\DoxyCodeLine{703   \textcolor{keywordtype}{integer},              \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)}    :: halos\textcolor{comment}{  !< The width of halos to check (default 0)}}
\DoxyCodeLine{704   \textcolor{keywordtype}{logical},              \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)}    :: scalars\textcolor{comment}{ !< If true this is a pair of}}
\DoxyCodeLine{705 \textcolor{comment}{                                                          !! scalars that are being checked.}}
\DoxyCodeLine{706   \textcolor{comment}{! Local variables}}
\DoxyCodeLine{707   \textcolor{keywordtype}{logical} :: are\_scalars}
\DoxyCodeLine{708   are\_scalars = .false. ; \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(scalars)) are\_scalars = scalars}
\DoxyCodeLine{709 }
\DoxyCodeLine{710   \textcolor{keywordflow}{if} (debug\_chksums) \textcolor{keywordflow}{then}}
\DoxyCodeLine{711     \textcolor{keyword}{call }hchksum(u\_comp, mesg//\textcolor{stringliteral}{"{}(u)"{}}, g\%HI, halos)}
\DoxyCodeLine{712     \textcolor{keyword}{call }hchksum(v\_comp, mesg//\textcolor{stringliteral}{"{}(v)"{}}, g\%HI, halos)}
\DoxyCodeLine{713 \textcolor{keywordflow}{  endif}}
\DoxyCodeLine{714   \textcolor{keywordflow}{if} (debug\_redundant) \textcolor{keywordflow}{then}}
\DoxyCodeLine{715     \textcolor{keywordflow}{if} (are\_scalars) \textcolor{keywordflow}{then}}
\DoxyCodeLine{716       \textcolor{keyword}{call }check\_redundant\_t(mesg, u\_comp, v\_comp, g, direction=to\_all+scalar\_pair)}
\DoxyCodeLine{717     \textcolor{keywordflow}{else}}
\DoxyCodeLine{718       \textcolor{keyword}{call }check\_redundant\_t(mesg, u\_comp, v\_comp, g)}
\DoxyCodeLine{719 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{720 \textcolor{keywordflow}{  endif}}
\DoxyCodeLine{721 }

\end{DoxyCode}
\mbox{\Hypertarget{interfacemom__debugging_1_1vec__chksum__a_a558e6d2492743a1829e80a05994ccc28}\label{interfacemom__debugging_1_1vec__chksum__a_a558e6d2492743a1829e80a05994ccc28}} 
\index{mom\_debugging::vec\_chksum\_a@{mom\_debugging::vec\_chksum\_a}!chksum\_vec\_a3d@{chksum\_vec\_a3d}}
\index{chksum\_vec\_a3d@{chksum\_vec\_a3d}!mom\_debugging::vec\_chksum\_a@{mom\_debugging::vec\_chksum\_a}}
\doxysubsubsection{\texorpdfstring{chksum\_vec\_a3d()}{chksum\_vec\_a3d()}}
{\footnotesize\ttfamily subroutine mom\+\_\+debugging\+::vec\+\_\+chksum\+\_\+a\+::chksum\+\_\+vec\+\_\+a3d (\begin{DoxyParamCaption}\item[{character(len=$\ast$), intent(in)}]{mesg,  }\item[{real, dimension(g\%isd\+:,g\%jsd\+:,\+:), intent(in)}]{u\+\_\+comp,  }\item[{real, dimension(g\%isd\+:,g\%jsd\+:,\+:), intent(in)}]{v\+\_\+comp,  }\item[{type(\mbox{\hyperlink{structmom__grid_1_1ocean__grid__type}{ocean\+\_\+grid\+\_\+type}}), intent(inout)}]{G,  }\item[{integer, intent(in), optional}]{halos,  }\item[{logical, intent(in), optional}]{scalars }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Do a checksum and redundant point check on a 3d C-\/grid vector. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em mesg} & An identifying message \\
\hline
\mbox{\texttt{ in,out}}  & {\em g} & The ocean\textquotesingle{}s grid structure \\
\hline
\mbox{\texttt{ in}}  & {\em u\+\_\+comp} & The u-\/component of the vector \\
\hline
\mbox{\texttt{ in}}  & {\em v\+\_\+comp} & The v-\/component of the vector \\
\hline
\mbox{\texttt{ in}}  & {\em halos} & The width of halos to check (default 0) \\
\hline
\mbox{\texttt{ in}}  & {\em scalars} & If true this is a pair of scalars that are being checked. \\
\hline
\end{DoxyParams}


Definition at line 671 of file M\+O\+M\+\_\+debugging.\+F90.


\begin{DoxyCode}{0}
\DoxyCodeLine{672   \textcolor{keywordtype}{character(len=*)},                 \textcolor{keywordtype}{intent(in)}    :: mesg\textcolor{comment}{   !< An identifying message}}
\DoxyCodeLine{673   \textcolor{keywordtype}{type}(ocean\_grid\_type),            \textcolor{keywordtype}{intent(inout)} :: G\textcolor{comment}{      !< The ocean's grid structure}}
\DoxyCodeLine{674 \textcolor{keywordtype}{  real}, \textcolor{keywordtype}{dimension(G\%isd:,G\%jsd:,:)}, \textcolor{keywordtype}{intent(in)}    :: u\_comp\textcolor{comment}{ !< The u-\/component of the vector}}
\DoxyCodeLine{675 \textcolor{keywordtype}{  real}, \textcolor{keywordtype}{dimension(G\%isd:,G\%jsd:,:)}, \textcolor{keywordtype}{intent(in)}    :: v\_comp\textcolor{comment}{ !< The v-\/component of the vector}}
\DoxyCodeLine{676   \textcolor{keywordtype}{integer},                \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)}    :: halos\textcolor{comment}{  !< The width of halos to check (default 0)}}
\DoxyCodeLine{677   \textcolor{keywordtype}{logical},                \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)}    :: scalars\textcolor{comment}{ !< If true this is a pair of}}
\DoxyCodeLine{678 \textcolor{comment}{                                                            !! scalars that are being checked.}}
\DoxyCodeLine{679   \textcolor{comment}{! Local variables}}
\DoxyCodeLine{680   \textcolor{keywordtype}{logical} :: are\_scalars}
\DoxyCodeLine{681   are\_scalars = .false. ; \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(scalars)) are\_scalars = scalars}
\DoxyCodeLine{682 }
\DoxyCodeLine{683   \textcolor{keywordflow}{if} (debug\_chksums) \textcolor{keywordflow}{then}}
\DoxyCodeLine{684     \textcolor{keyword}{call }hchksum(u\_comp, mesg//\textcolor{stringliteral}{"{}(u)"{}}, g\%HI, halos)}
\DoxyCodeLine{685     \textcolor{keyword}{call }hchksum(v\_comp, mesg//\textcolor{stringliteral}{"{}(v)"{}}, g\%HI, halos)}
\DoxyCodeLine{686 \textcolor{keywordflow}{  endif}}
\DoxyCodeLine{687   \textcolor{keywordflow}{if} (debug\_redundant) \textcolor{keywordflow}{then}}
\DoxyCodeLine{688     \textcolor{keywordflow}{if} (are\_scalars) \textcolor{keywordflow}{then}}
\DoxyCodeLine{689       \textcolor{keyword}{call }check\_redundant\_t(mesg, u\_comp, v\_comp, g, direction=to\_all+scalar\_pair)}
\DoxyCodeLine{690     \textcolor{keywordflow}{else}}
\DoxyCodeLine{691       \textcolor{keyword}{call }check\_redundant\_t(mesg, u\_comp, v\_comp, g)}
\DoxyCodeLine{692 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{693 \textcolor{keywordflow}{  endif}}
\DoxyCodeLine{694 }

\end{DoxyCode}


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