\hypertarget{interfacemom__debugging_1_1vec__chksum__b}{}\section{mom\+\_\+debugging\+:\+:vec\+\_\+chksum\+\_\+b Interface Reference}
\label{interfacemom__debugging_1_1vec__chksum__b}\index{mom\+\_\+debugging\+::vec\+\_\+chksum\+\_\+b@{mom\+\_\+debugging\+::vec\+\_\+chksum\+\_\+b}}


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

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

\subsection*{Private functions}
\begin{DoxyCompactItemize}
\item 
subroutine \mbox{\hyperlink{interfacemom__debugging_1_1vec__chksum__b_a614206a8663cc831e860651d90590b38}{chksum\+\_\+vec\+\_\+b3d}} (mesg, u\+\_\+comp, v\+\_\+comp, G, halos, scalars)
\begin{DoxyCompactList}\small\item\em Do a checksum and redundant point check on a 3d B-\/grid vector. \end{DoxyCompactList}\item 
subroutine \mbox{\hyperlink{interfacemom__debugging_1_1vec__chksum__b_af0037bec4a5c931dd1f3ee7b94ca5bfa}{chksum\+\_\+vec\+\_\+b2d}} (mesg, u\+\_\+comp, v\+\_\+comp, G, halos, scalars, symmetric)
\end{DoxyCompactItemize}


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

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



\subsection{Functions and subroutines}
\mbox{\Hypertarget{interfacemom__debugging_1_1vec__chksum__b_af0037bec4a5c931dd1f3ee7b94ca5bfa}\label{interfacemom__debugging_1_1vec__chksum__b_af0037bec4a5c931dd1f3ee7b94ca5bfa}} 
\index{mom\+\_\+debugging\+::vec\+\_\+chksum\+\_\+b@{mom\+\_\+debugging\+::vec\+\_\+chksum\+\_\+b}!chksum\+\_\+vec\+\_\+b2d@{chksum\+\_\+vec\+\_\+b2d}}
\index{chksum\+\_\+vec\+\_\+b2d@{chksum\+\_\+vec\+\_\+b2d}!mom\+\_\+debugging\+::vec\+\_\+chksum\+\_\+b@{mom\+\_\+debugging\+::vec\+\_\+chksum\+\_\+b}}
\subsubsection{\texorpdfstring{chksum\+\_\+vec\+\_\+b2d()}{chksum\_vec\_b2d()}}
{\footnotesize\ttfamily subroutine mom\+\_\+debugging\+::vec\+\_\+chksum\+\_\+b\+::chksum\+\_\+vec\+\_\+b2d (\begin{DoxyParamCaption}\item[{character(len=$\ast$), intent(in)}]{mesg,  }\item[{real, dimension(g\%isdb\+:,g\%jsdb\+:), intent(in)}]{u\+\_\+comp,  }\item[{real, dimension(g\%isdb\+:,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,  }\item[{logical, intent(in), optional}]{symmetric }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}


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


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


\begin{DoxyCode}
643   \textcolor{keywordtype}{character(len=*)},                 \textcolor{keywordtype}{intent(in)}    :: mesg\textcolor{comment}{   !< An identifying message}
644   \textcolor{keywordtype}{type}(ocean\_grid\_type),            \textcolor{keywordtype}{intent(inout)} :: G\textcolor{comment}{      !< The ocean's grid structure}
645   \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(G%IsdB:,G%JsdB:)}, \textcolor{keywordtype}{intent(in)}    :: u\_comp\textcolor{comment}{ !< The u-component of the vector}
646   \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(G%IsdB:,G%JsdB:)}, \textcolor{keywordtype}{intent(in)}    :: v\_comp\textcolor{comment}{ !< The v-component of the vector}
647   \textcolor{keywordtype}{integer},                \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)}    :: halos\textcolor{comment}{  !< The width of halos to check (default 0)}
648   \textcolor{keywordtype}{logical},                \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)}    :: scalars\textcolor{comment}{ !< If true this is a pair of}
649 \textcolor{comment}{                                                            !! scalars that are being checked.}
650   \textcolor{keywordtype}{logical},                \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)}    :: symmetric\textcolor{comment}{ !< If true, do the checksums on the}
651 \textcolor{comment}{                                                            !! full symmetric computational domain.}
652   \textcolor{comment}{! Local variables}
653   \textcolor{keywordtype}{logical} :: are\_scalars
654   are\_scalars = .false. ; \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(scalars)) are\_scalars = scalars
655 
656   \textcolor{keywordflow}{if} (debug\_chksums) \textcolor{keywordflow}{then}
657     \textcolor{keyword}{call }bchksum(u\_comp, mesg//\textcolor{stringliteral}{"(u)"}, g%HI, halos, symmetric=symmetric)
658     \textcolor{keyword}{call }bchksum(v\_comp, mesg//\textcolor{stringliteral}{"(v)"}, g%HI, halos, symmetric=symmetric)
659 \textcolor{keywordflow}{  endif}
660   \textcolor{keywordflow}{if} (debug\_redundant) \textcolor{keywordflow}{then}
661     \textcolor{keywordflow}{if} (are\_scalars) \textcolor{keywordflow}{then}
662       \textcolor{keyword}{call }check\_redundant\_b(mesg, u\_comp, v\_comp, g, direction=to\_all+scalar\_pair)
663     \textcolor{keywordflow}{else}
664       \textcolor{keyword}{call }check\_redundant\_b(mesg, u\_comp, v\_comp, g)
665 \textcolor{keywordflow}{    endif}
666 \textcolor{keywordflow}{  endif}
667 
\end{DoxyCode}
\mbox{\Hypertarget{interfacemom__debugging_1_1vec__chksum__b_a614206a8663cc831e860651d90590b38}\label{interfacemom__debugging_1_1vec__chksum__b_a614206a8663cc831e860651d90590b38}} 
\index{mom\+\_\+debugging\+::vec\+\_\+chksum\+\_\+b@{mom\+\_\+debugging\+::vec\+\_\+chksum\+\_\+b}!chksum\+\_\+vec\+\_\+b3d@{chksum\+\_\+vec\+\_\+b3d}}
\index{chksum\+\_\+vec\+\_\+b3d@{chksum\+\_\+vec\+\_\+b3d}!mom\+\_\+debugging\+::vec\+\_\+chksum\+\_\+b@{mom\+\_\+debugging\+::vec\+\_\+chksum\+\_\+b}}
\subsubsection{\texorpdfstring{chksum\+\_\+vec\+\_\+b3d()}{chksum\_vec\_b3d()}}
{\footnotesize\ttfamily subroutine mom\+\_\+debugging\+::vec\+\_\+chksum\+\_\+b\+::chksum\+\_\+vec\+\_\+b3d (\begin{DoxyParamCaption}\item[{character(len=$\ast$), intent(in)}]{mesg,  }\item[{real, dimension(g\%isdb\+:,g\%jsdb\+:,\+:), intent(in)}]{u\+\_\+comp,  }\item[{real, dimension(g\%isdb\+:,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 B-\/grid vector. 


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


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


\begin{DoxyCode}
616   \textcolor{keywordtype}{character(len=*)},                   \textcolor{keywordtype}{intent(in)}    :: mesg\textcolor{comment}{   !< An identifying message}
617   \textcolor{keywordtype}{type}(ocean\_grid\_type),              \textcolor{keywordtype}{intent(inout)} :: G\textcolor{comment}{      !< The ocean's grid structure}
618   \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(G%IsdB:,G%JsdB:,:)}, \textcolor{keywordtype}{intent(in)}    :: u\_comp\textcolor{comment}{ !< The u-component of the vector}
619   \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(G%IsdB:,G%JsdB:,:)}, \textcolor{keywordtype}{intent(in)}    :: v\_comp\textcolor{comment}{ !< The v-component of the vector}
620   \textcolor{keywordtype}{integer},                  \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)}    :: halos\textcolor{comment}{  !< The width of halos to check (default 0)}
621   \textcolor{keywordtype}{logical},                  \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)}    :: scalars\textcolor{comment}{ !< If true this is a pair of}
622 \textcolor{comment}{                                                              !! scalars that are being checked.}
623   \textcolor{comment}{! Local variables}
624   \textcolor{keywordtype}{logical} :: are\_scalars
625   are\_scalars = .false. ; \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(scalars)) are\_scalars = scalars
626 
627   \textcolor{keywordflow}{if} (debug\_chksums) \textcolor{keywordflow}{then}
628     \textcolor{keyword}{call }bchksum(u\_comp, mesg//\textcolor{stringliteral}{"(u)"}, g%HI, halos)
629     \textcolor{keyword}{call }bchksum(v\_comp, mesg//\textcolor{stringliteral}{"(v)"}, g%HI, halos)
630 \textcolor{keywordflow}{  endif}
631   \textcolor{keywordflow}{if} (debug\_redundant) \textcolor{keywordflow}{then}
632     \textcolor{keywordflow}{if} (are\_scalars) \textcolor{keywordflow}{then}
633       \textcolor{keyword}{call }check\_redundant\_b(mesg, u\_comp, v\_comp, g, direction=to\_all+scalar\_pair)
634     \textcolor{keywordflow}{else}
635       \textcolor{keyword}{call }check\_redundant\_b(mesg, u\_comp, v\_comp, g)
636 \textcolor{keywordflow}{    endif}
637 \textcolor{keywordflow}{  endif}
638 
\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}
