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


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

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

\doxysubsection*{Private functions}
\begin{DoxyCompactItemize}
\item 
subroutine \mbox{\hyperlink{interfacemom__debugging_1_1vec__chksum_a3a1e60a8e100279a60a801d806a65eef}{chksum\+\_\+vec\+\_\+c3d}} (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_a0ef33802a4def4ee9bec58e7a80a523e}{chksum\+\_\+vec\+\_\+c2d}} (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 a C-\/grid vector. 

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



\doxysubsection{Functions and subroutines}
\mbox{\Hypertarget{interfacemom__debugging_1_1vec__chksum_a0ef33802a4def4ee9bec58e7a80a523e}\label{interfacemom__debugging_1_1vec__chksum_a0ef33802a4def4ee9bec58e7a80a523e}} 
\index{mom\_debugging::vec\_chksum@{mom\_debugging::vec\_chksum}!chksum\_vec\_c2d@{chksum\_vec\_c2d}}
\index{chksum\_vec\_c2d@{chksum\_vec\_c2d}!mom\_debugging::vec\_chksum@{mom\_debugging::vec\_chksum}}
\doxysubsubsection{\texorpdfstring{chksum\_vec\_c2d()}{chksum\_vec\_c2d()}}
{\footnotesize\ttfamily subroutine mom\+\_\+debugging\+::vec\+\_\+chksum\+::chksum\+\_\+vec\+\_\+c2d (\begin{DoxyParamCaption}\item[{character(len=$\ast$), intent(in)}]{mesg,  }\item[{real, dimension(g\%isdb\+:,g\%jsd\+:), intent(in)}]{u\+\_\+comp,  }\item[{real, dimension(g\%isd\+:,g\%jsdb\+:), intent(in)}]{v\+\_\+comp,  }\item[{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 590 of file M\+O\+M\+\_\+debugging.\+F90.


\begin{DoxyCode}{0}
\DoxyCodeLine{590   \textcolor{keywordtype}{character(len=*)},                \textcolor{keywordtype}{intent(in)}    :: mesg\textcolor{comment}{   !< An identifying message}}
\DoxyCodeLine{591   \textcolor{keywordtype}{type}(ocean\_grid\_type),           \textcolor{keywordtype}{intent(inout)} :: G\textcolor{comment}{      !< The ocean's grid structure}}
\DoxyCodeLine{592 \textcolor{keywordtype}{  real}, \textcolor{keywordtype}{dimension(G\%IsdB:,G\%jsd:)}, \textcolor{keywordtype}{intent(in)}    :: u\_comp\textcolor{comment}{ !< The u-\/component of the vector}}
\DoxyCodeLine{593 \textcolor{keywordtype}{  real}, \textcolor{keywordtype}{dimension(G\%isd:,G\%JsdB:)}, \textcolor{keywordtype}{intent(in)}    :: v\_comp\textcolor{comment}{ !< The v-\/component of the vector}}
\DoxyCodeLine{594   \textcolor{keywordtype}{integer},               \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)}    :: halos\textcolor{comment}{  !< The width of halos to check (default 0)}}
\DoxyCodeLine{595   \textcolor{keywordtype}{logical},               \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)}    :: scalars\textcolor{comment}{ !< If true this is a pair of}}
\DoxyCodeLine{596 \textcolor{comment}{                                                           !! scalars that are being checked.}}
\DoxyCodeLine{597   \textcolor{comment}{! Local variables}}
\DoxyCodeLine{598   \textcolor{keywordtype}{logical} :: are\_scalars}
\DoxyCodeLine{599   are\_scalars = .false. ; \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(scalars)) are\_scalars = scalars}
\DoxyCodeLine{600 }
\DoxyCodeLine{601   \textcolor{keywordflow}{if} (debug\_chksums) \textcolor{keywordflow}{then}}
\DoxyCodeLine{602     \textcolor{keyword}{call }uvchksum(mesg, u\_comp, v\_comp, g\%HI, halos)}
\DoxyCodeLine{603 \textcolor{keywordflow}{  endif}}
\DoxyCodeLine{604   \textcolor{keywordflow}{if} (debug\_redundant) \textcolor{keywordflow}{then}}
\DoxyCodeLine{605     \textcolor{keywordflow}{if} (are\_scalars) \textcolor{keywordflow}{then}}
\DoxyCodeLine{606       \textcolor{keyword}{call }check\_redundant\_c(mesg, u\_comp, v\_comp, g, direction=to\_all+scalar\_pair)}
\DoxyCodeLine{607     \textcolor{keywordflow}{else}}
\DoxyCodeLine{608       \textcolor{keyword}{call }check\_redundant\_c(mesg, u\_comp, v\_comp, g)}
\DoxyCodeLine{609 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{610 \textcolor{keywordflow}{  endif}}
\DoxyCodeLine{611 }

\end{DoxyCode}
\mbox{\Hypertarget{interfacemom__debugging_1_1vec__chksum_a3a1e60a8e100279a60a801d806a65eef}\label{interfacemom__debugging_1_1vec__chksum_a3a1e60a8e100279a60a801d806a65eef}} 
\index{mom\_debugging::vec\_chksum@{mom\_debugging::vec\_chksum}!chksum\_vec\_c3d@{chksum\_vec\_c3d}}
\index{chksum\_vec\_c3d@{chksum\_vec\_c3d}!mom\_debugging::vec\_chksum@{mom\_debugging::vec\_chksum}}
\doxysubsubsection{\texorpdfstring{chksum\_vec\_c3d()}{chksum\_vec\_c3d()}}
{\footnotesize\ttfamily subroutine mom\+\_\+debugging\+::vec\+\_\+chksum\+::chksum\+\_\+vec\+\_\+c3d (\begin{DoxyParamCaption}\item[{character(len=$\ast$), intent(in)}]{mesg,  }\item[{real, dimension(g\%isdb\+:,g\%jsd\+:,\+:), intent(in)}]{u\+\_\+comp,  }\item[{real, dimension(g\%isd\+:,g\%jsdb\+:,\+:), intent(in)}]{v\+\_\+comp,  }\item[{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 564 of file M\+O\+M\+\_\+debugging.\+F90.


\begin{DoxyCode}{0}
\DoxyCodeLine{564   \textcolor{keywordtype}{character(len=*)},                  \textcolor{keywordtype}{intent(in)}    :: mesg\textcolor{comment}{   !< An identifying message}}
\DoxyCodeLine{565   \textcolor{keywordtype}{type}(ocean\_grid\_type),             \textcolor{keywordtype}{intent(inout)} :: G\textcolor{comment}{      !< The ocean's grid structure}}
\DoxyCodeLine{566 \textcolor{keywordtype}{  real}, \textcolor{keywordtype}{dimension(G\%IsdB:,G\%jsd:,:)}, \textcolor{keywordtype}{intent(in)}    :: u\_comp\textcolor{comment}{ !< The u-\/component of the vector}}
\DoxyCodeLine{567 \textcolor{keywordtype}{  real}, \textcolor{keywordtype}{dimension(G\%isd:,G\%JsdB:,:)}, \textcolor{keywordtype}{intent(in)}    :: v\_comp\textcolor{comment}{ !< The v-\/component of the vector}}
\DoxyCodeLine{568   \textcolor{keywordtype}{integer},                 \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)}    :: halos\textcolor{comment}{  !< The width of halos to check (default 0)}}
\DoxyCodeLine{569   \textcolor{keywordtype}{logical},                 \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)}    :: scalars\textcolor{comment}{ !< If true this is a pair of}}
\DoxyCodeLine{570 \textcolor{comment}{                                                             !! scalars that are being checked.}}
\DoxyCodeLine{571   \textcolor{comment}{! Local variables}}
\DoxyCodeLine{572   \textcolor{keywordtype}{logical} :: are\_scalars}
\DoxyCodeLine{573   are\_scalars = .false. ; \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(scalars)) are\_scalars = scalars}
\DoxyCodeLine{574 }
\DoxyCodeLine{575   \textcolor{keywordflow}{if} (debug\_chksums) \textcolor{keywordflow}{then}}
\DoxyCodeLine{576     \textcolor{keyword}{call }uvchksum(mesg, u\_comp, v\_comp, g\%HI, halos)}
\DoxyCodeLine{577 \textcolor{keywordflow}{  endif}}
\DoxyCodeLine{578   \textcolor{keywordflow}{if} (debug\_redundant) \textcolor{keywordflow}{then}}
\DoxyCodeLine{579     \textcolor{keywordflow}{if} (are\_scalars) \textcolor{keywordflow}{then}}
\DoxyCodeLine{580       \textcolor{keyword}{call }check\_redundant\_c(mesg, u\_comp, v\_comp, g, direction=to\_all+scalar\_pair)}
\DoxyCodeLine{581     \textcolor{keywordflow}{else}}
\DoxyCodeLine{582       \textcolor{keyword}{call }check\_redundant\_c(mesg, u\_comp, v\_comp, g)}
\DoxyCodeLine{583 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{584 \textcolor{keywordflow}{  endif}}
\DoxyCodeLine{585 }

\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}
