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


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

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

\subsection*{Private functions}
\begin{DoxyCompactItemize}
\item 
subroutine \hyperlink{interfacemom__debugging_1_1vec__chksum__c_a602df5f85c6db0581ecffd7d9214f67b}{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 \hyperlink{interfacemom__debugging_1_1vec__chksum__c_a7574cf284efbbe9fc80a6c743317fff4}{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}


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

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



\subsection{Functions and subroutines}
\mbox{\Hypertarget{interfacemom__debugging_1_1vec__chksum__c_a7574cf284efbbe9fc80a6c743317fff4}\label{interfacemom__debugging_1_1vec__chksum__c_a7574cf284efbbe9fc80a6c743317fff4}} 
\index{mom\+\_\+debugging\+::vec\+\_\+chksum\+\_\+c@{mom\+\_\+debugging\+::vec\+\_\+chksum\+\_\+c}!chksum\+\_\+vec\+\_\+c2d@{chksum\+\_\+vec\+\_\+c2d}}
\index{chksum\+\_\+vec\+\_\+c2d@{chksum\+\_\+vec\+\_\+c2d}!mom\+\_\+debugging\+::vec\+\_\+chksum\+\_\+c@{mom\+\_\+debugging\+::vec\+\_\+chksum\+\_\+c}}
\subsubsection{\texorpdfstring{chksum\+\_\+vec\+\_\+c2d()}{chksum\_vec\_c2d()}}
{\footnotesize\ttfamily subroutine mom\+\_\+debugging\+::vec\+\_\+chksum\+\_\+c\+::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{\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 590 of file M\+O\+M\+\_\+debugging.\+F90.


\begin{DoxyCode}
590   \textcolor{keywordtype}{character(len=*)},                \textcolor{keywordtype}{intent(in)}    :: mesg\textcolor{comment}{   !< An identifying message}
591   \textcolor{keywordtype}{type}(ocean\_grid\_type),           \textcolor{keywordtype}{intent(inout)} :: g\textcolor{comment}{      !< The ocean's grid structure}
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}
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}
594   \textcolor{keywordtype}{integer},               \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)}    :: halos\textcolor{comment}{  !< The width of halos to check (default 0)}
595   \textcolor{keywordtype}{logical},               \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)}    :: scalars\textcolor{comment}{ !< If true this is a pair of}
596 \textcolor{comment}{                                                           !! scalars that are being checked.}
597   \textcolor{comment}{! Local variables}
598   \textcolor{keywordtype}{logical} :: are\_scalars
599   are\_scalars = .false. ; \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(scalars)) are\_scalars = scalars
600 
601   \textcolor{keywordflow}{if} (debug\_chksums) \textcolor{keywordflow}{then}
602     \textcolor{keyword}{call }uvchksum(mesg, u\_comp, v\_comp, g%HI, halos)
603 \textcolor{keywordflow}{  endif}
604   \textcolor{keywordflow}{if} (debug\_redundant) \textcolor{keywordflow}{then}
605     \textcolor{keywordflow}{if} (are\_scalars) \textcolor{keywordflow}{then}
606       \textcolor{keyword}{call }check\_redundant\_c(mesg, u\_comp, v\_comp, g, direction=to\_all+scalar\_pair)
607     \textcolor{keywordflow}{else}
608       \textcolor{keyword}{call }check\_redundant\_c(mesg, u\_comp, v\_comp, g)
609 \textcolor{keywordflow}{    endif}
610 \textcolor{keywordflow}{  endif}
611 
\end{DoxyCode}
\mbox{\Hypertarget{interfacemom__debugging_1_1vec__chksum__c_a602df5f85c6db0581ecffd7d9214f67b}\label{interfacemom__debugging_1_1vec__chksum__c_a602df5f85c6db0581ecffd7d9214f67b}} 
\index{mom\+\_\+debugging\+::vec\+\_\+chksum\+\_\+c@{mom\+\_\+debugging\+::vec\+\_\+chksum\+\_\+c}!chksum\+\_\+vec\+\_\+c3d@{chksum\+\_\+vec\+\_\+c3d}}
\index{chksum\+\_\+vec\+\_\+c3d@{chksum\+\_\+vec\+\_\+c3d}!mom\+\_\+debugging\+::vec\+\_\+chksum\+\_\+c@{mom\+\_\+debugging\+::vec\+\_\+chksum\+\_\+c}}
\subsubsection{\texorpdfstring{chksum\+\_\+vec\+\_\+c3d()}{chksum\_vec\_c3d()}}
{\footnotesize\ttfamily subroutine mom\+\_\+debugging\+::vec\+\_\+chksum\+\_\+c\+::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{\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 564 of file M\+O\+M\+\_\+debugging.\+F90.


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