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


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

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

\doxysubsection*{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}


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

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



\doxysubsection{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}}
\doxysubsubsection{\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(\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,  }\item[{logical, intent(in), optional}]{symmetric }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}


\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
\mbox{\texttt{ in}}  & {\em symmetric} & If true, do the checksums on the full symmetric computational domain. \\
\hline
\end{DoxyParams}


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


\begin{DoxyCode}{0}
\DoxyCodeLine{643   \textcolor{keywordtype}{character(len=*)},                 \textcolor{keywordtype}{intent(in)}    :: mesg\textcolor{comment}{   !< An identifying message}}
\DoxyCodeLine{644   \textcolor{keywordtype}{type}(ocean\_grid\_type),            \textcolor{keywordtype}{intent(inout)} :: G\textcolor{comment}{      !< The ocean's grid structure}}
\DoxyCodeLine{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}}
\DoxyCodeLine{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}}
\DoxyCodeLine{647   \textcolor{keywordtype}{integer},                \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)}    :: halos\textcolor{comment}{  !< The width of halos to check (default 0)}}
\DoxyCodeLine{648   \textcolor{keywordtype}{logical},                \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)}    :: scalars\textcolor{comment}{ !< If true this is a pair of}}
\DoxyCodeLine{649 \textcolor{comment}{                                                            !! scalars that are being checked.}}
\DoxyCodeLine{650   \textcolor{keywordtype}{logical},                \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)}    :: symmetric\textcolor{comment}{ !< If true, do the checksums on the}}
\DoxyCodeLine{651 \textcolor{comment}{                                                            !! full symmetric computational domain.}}
\DoxyCodeLine{652   \textcolor{comment}{! Local variables}}
\DoxyCodeLine{653   \textcolor{keywordtype}{logical} :: are\_scalars}
\DoxyCodeLine{654   are\_scalars = .false. ; \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(scalars)) are\_scalars = scalars}
\DoxyCodeLine{655 }
\DoxyCodeLine{656   \textcolor{keywordflow}{if} (debug\_chksums) \textcolor{keywordflow}{then}}
\DoxyCodeLine{657     \textcolor{keyword}{call }bchksum(u\_comp, mesg//\textcolor{stringliteral}{"{}(u)"{}}, g\%HI, halos, symmetric=symmetric)}
\DoxyCodeLine{658     \textcolor{keyword}{call }bchksum(v\_comp, mesg//\textcolor{stringliteral}{"{}(v)"{}}, g\%HI, halos, symmetric=symmetric)}
\DoxyCodeLine{659 \textcolor{keywordflow}{  endif}}
\DoxyCodeLine{660   \textcolor{keywordflow}{if} (debug\_redundant) \textcolor{keywordflow}{then}}
\DoxyCodeLine{661     \textcolor{keywordflow}{if} (are\_scalars) \textcolor{keywordflow}{then}}
\DoxyCodeLine{662       \textcolor{keyword}{call }check\_redundant\_b(mesg, u\_comp, v\_comp, g, direction=to\_all+scalar\_pair)}
\DoxyCodeLine{663     \textcolor{keywordflow}{else}}
\DoxyCodeLine{664       \textcolor{keyword}{call }check\_redundant\_b(mesg, u\_comp, v\_comp, g)}
\DoxyCodeLine{665 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{666 \textcolor{keywordflow}{  endif}}
\DoxyCodeLine{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}}
\doxysubsubsection{\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(\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 B-\/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 615 of file M\+O\+M\+\_\+debugging.\+F90.


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