\hypertarget{interfacemom__debugging_1_1vec__chksum__a}{}\section{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}}


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

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

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


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

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



\subsection{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}}
\subsubsection{\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(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{\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 699 of file M\+O\+M\+\_\+debugging.\+F90.


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


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