\hypertarget{interfacemod__oasis__mpi_1_1oasis__mpi__sum}{}\section{mod\+\_\+oasis\+\_\+mpi\+:\+:oasis\+\_\+mpi\+\_\+sum Interface Reference}
\label{interfacemod__oasis__mpi_1_1oasis__mpi__sum}\index{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum@{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum}}


Generic overloaded interface into M\+PI sum reduction.  


\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
subroutine \hyperlink{interfacemod__oasis__mpi_1_1oasis__mpi__sum_ace0332192a77ef918fa53fa5087386cc}{oasis\+\_\+mpi\+\_\+sumi0} (lvec, gvec, comm, string, all)
\begin{DoxyCompactList}\small\item\em Compute a global Sum for a scalar integer. \end{DoxyCompactList}\item 
subroutine \hyperlink{interfacemod__oasis__mpi_1_1oasis__mpi__sum_a98942ad26b72d6ff96fd8631ec70a5ce}{oasis\+\_\+mpi\+\_\+sumi1} (lvec, gvec, comm, string, all)
\begin{DoxyCompactList}\small\item\em Compute a 1D array of global sums for an array of 1D integers. \end{DoxyCompactList}\item 
subroutine \hyperlink{interfacemod__oasis__mpi_1_1oasis__mpi__sum_a8d3b0d2544f1f360d83076b3d6dfe9e9}{oasis\+\_\+mpi\+\_\+sumb0} (lvec, gvec, comm, string, all)
\begin{DoxyCompactList}\small\item\em Compute a global sum for a scalar 8 byte integer. \end{DoxyCompactList}\item 
subroutine \hyperlink{interfacemod__oasis__mpi_1_1oasis__mpi__sum_af53d904fe38089eb567660f0d4f89fb0}{oasis\+\_\+mpi\+\_\+sumb1} (lvec, gvec, comm, string, all)
\begin{DoxyCompactList}\small\item\em Compute a 1D array of global sums for an array of 1D 8 byte integers. \end{DoxyCompactList}\item 
subroutine \hyperlink{interfacemod__oasis__mpi_1_1oasis__mpi__sum_abffb7172c344ad2577ac229168327fcd}{oasis\+\_\+mpi\+\_\+sumq0} (lvec, gvec, comm, string, all)
\begin{DoxyCompactList}\small\item\em Compute a global sum for a scalar quad. \end{DoxyCompactList}\item 
subroutine \hyperlink{interfacemod__oasis__mpi_1_1oasis__mpi__sum_a96b845cbd75c4613df6fee8ac5c65d71}{oasis\+\_\+mpi\+\_\+sumq1} (lvec, gvec, comm, string, all)
\begin{DoxyCompactList}\small\item\em Compute a 1D array of global sums for an array of 1D quads. \end{DoxyCompactList}\item 
subroutine \hyperlink{interfacemod__oasis__mpi_1_1oasis__mpi__sum_a030add8b5e1875ca3f80319d47c687a3}{oasis\+\_\+mpi\+\_\+sumq2} (lvec, gvec, comm, string, all)
\begin{DoxyCompactList}\small\item\em Compute a 2D array of global sums for an array of 2D quads. \end{DoxyCompactList}\item 
subroutine \hyperlink{interfacemod__oasis__mpi_1_1oasis__mpi__sum_a95ded5a769c74998a3fe47b080aeb17e}{oasis\+\_\+mpi\+\_\+sumq3} (lvec, gvec, comm, string, all)
\begin{DoxyCompactList}\small\item\em Compute a 3D array of global sums for an array of 3D quads. \end{DoxyCompactList}\item 
subroutine \hyperlink{interfacemod__oasis__mpi_1_1oasis__mpi__sum_aef927bb26681ca81b005940fad26d27f}{oasis\+\_\+mpi\+\_\+sumr0} (lvec, gvec, comm, string, all)
\begin{DoxyCompactList}\small\item\em Compute a global sum for a scalar double. \end{DoxyCompactList}\item 
subroutine \hyperlink{interfacemod__oasis__mpi_1_1oasis__mpi__sum_a509c6561bf7677ca44df5727ec7af8bf}{oasis\+\_\+mpi\+\_\+sumr1} (lvec, gvec, comm, string, all)
\begin{DoxyCompactList}\small\item\em Compute a 1D array of global sums for an array of 1D doubles. \end{DoxyCompactList}\item 
subroutine \hyperlink{interfacemod__oasis__mpi_1_1oasis__mpi__sum_a45b443ca4b94c71ad7be5e6b653d8b1f}{oasis\+\_\+mpi\+\_\+sumr2} (lvec, gvec, comm, string, all)
\begin{DoxyCompactList}\small\item\em Compute a 2D array of global sums for an array of 2D doubles. \end{DoxyCompactList}\item 
subroutine \hyperlink{interfacemod__oasis__mpi_1_1oasis__mpi__sum_a31d24332ccc66502fcb78e5f69d19c45}{oasis\+\_\+mpi\+\_\+sumr3} (lvec, gvec, comm, string, all)
\begin{DoxyCompactList}\small\item\em Compute a 3D array of global sums for an array of 3D doubles. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Generic overloaded interface into M\+PI sum reduction. 

Definition at line 88 of file mod\+\_\+oasis\+\_\+mpi.\+F90.



\subsection{Member Function/\+Subroutine Documentation}
\mbox{\Hypertarget{interfacemod__oasis__mpi_1_1oasis__mpi__sum_a8d3b0d2544f1f360d83076b3d6dfe9e9}\label{interfacemod__oasis__mpi_1_1oasis__mpi__sum_a8d3b0d2544f1f360d83076b3d6dfe9e9}} 
\index{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum@{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum}!oasis\+\_\+mpi\+\_\+sumb0@{oasis\+\_\+mpi\+\_\+sumb0}}
\index{oasis\+\_\+mpi\+\_\+sumb0@{oasis\+\_\+mpi\+\_\+sumb0}!mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum@{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum}}
\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+sumb0()}{oasis\_mpi\_sumb0()}}
{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum\+::oasis\+\_\+mpi\+\_\+sumb0 (\begin{DoxyParamCaption}\item[{integer(ip\+\_\+i8\+\_\+p), intent(in)}]{lvec,  }\item[{integer(ip\+\_\+i8\+\_\+p), intent(out)}]{gvec,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string,  }\item[{logical, intent(in), optional}]{all }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Compute a global sum for a scalar 8 byte integer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em lvec} & local values\\
\hline
\mbox{\tt out}  & {\em gvec} & global values\\
\hline
\mbox{\tt in}  & {\em comm} & mpi communicator\\
\hline
\mbox{\tt in}  & {\em string} & to identify caller\\
\hline
\mbox{\tt in}  & {\em all} & if true call allreduce, otherwise reduce to task 0 \\
\hline
\end{DoxyParams}


Definition at line 1364 of file mod\+\_\+oasis\+\_\+mpi.\+F90.

\mbox{\Hypertarget{interfacemod__oasis__mpi_1_1oasis__mpi__sum_af53d904fe38089eb567660f0d4f89fb0}\label{interfacemod__oasis__mpi_1_1oasis__mpi__sum_af53d904fe38089eb567660f0d4f89fb0}} 
\index{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum@{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum}!oasis\+\_\+mpi\+\_\+sumb1@{oasis\+\_\+mpi\+\_\+sumb1}}
\index{oasis\+\_\+mpi\+\_\+sumb1@{oasis\+\_\+mpi\+\_\+sumb1}!mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum@{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum}}
\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+sumb1()}{oasis\_mpi\_sumb1()}}
{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum\+::oasis\+\_\+mpi\+\_\+sumb1 (\begin{DoxyParamCaption}\item[{integer(ip\+\_\+i8\+\_\+p), dimension(\+:), intent(in)}]{lvec,  }\item[{integer(ip\+\_\+i8\+\_\+p), dimension(\+:), intent(out)}]{gvec,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string,  }\item[{logical, intent(in), optional}]{all }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Compute a 1D array of global sums for an array of 1D 8 byte integers. 

This sums an array of local integers to an array of summed integers. This does not reduce the array to a scalar.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em lvec} & local values\\
\hline
\mbox{\tt out}  & {\em gvec} & global values\\
\hline
\mbox{\tt in}  & {\em comm} & mpi communicator\\
\hline
\mbox{\tt in}  & {\em string} & to identify caller\\
\hline
\mbox{\tt in}  & {\em all} & if true call allreduce, otherwise reduce to task 0 \\
\hline
\end{DoxyParams}


Definition at line 1430 of file mod\+\_\+oasis\+\_\+mpi.\+F90.

\mbox{\Hypertarget{interfacemod__oasis__mpi_1_1oasis__mpi__sum_ace0332192a77ef918fa53fa5087386cc}\label{interfacemod__oasis__mpi_1_1oasis__mpi__sum_ace0332192a77ef918fa53fa5087386cc}} 
\index{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum@{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum}!oasis\+\_\+mpi\+\_\+sumi0@{oasis\+\_\+mpi\+\_\+sumi0}}
\index{oasis\+\_\+mpi\+\_\+sumi0@{oasis\+\_\+mpi\+\_\+sumi0}!mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum@{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum}}
\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+sumi0()}{oasis\_mpi\_sumi0()}}
{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum\+::oasis\+\_\+mpi\+\_\+sumi0 (\begin{DoxyParamCaption}\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{lvec,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(out)}]{gvec,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string,  }\item[{logical, intent(in), optional}]{all }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Compute a global Sum for a scalar integer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em lvec} & local values\\
\hline
\mbox{\tt out}  & {\em gvec} & global values\\
\hline
\mbox{\tt in}  & {\em comm} & mpi communicator\\
\hline
\mbox{\tt in}  & {\em string} & to identify caller\\
\hline
\mbox{\tt in}  & {\em all} & if true call allreduce, otherwise reduce to task 0 \\
\hline
\end{DoxyParams}


Definition at line 1235 of file mod\+\_\+oasis\+\_\+mpi.\+F90.

\mbox{\Hypertarget{interfacemod__oasis__mpi_1_1oasis__mpi__sum_a98942ad26b72d6ff96fd8631ec70a5ce}\label{interfacemod__oasis__mpi_1_1oasis__mpi__sum_a98942ad26b72d6ff96fd8631ec70a5ce}} 
\index{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum@{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum}!oasis\+\_\+mpi\+\_\+sumi1@{oasis\+\_\+mpi\+\_\+sumi1}}
\index{oasis\+\_\+mpi\+\_\+sumi1@{oasis\+\_\+mpi\+\_\+sumi1}!mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum@{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum}}
\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+sumi1()}{oasis\_mpi\_sumi1()}}
{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum\+::oasis\+\_\+mpi\+\_\+sumi1 (\begin{DoxyParamCaption}\item[{integer(ip\+\_\+i4\+\_\+p), dimension(\+:), intent(in)}]{lvec,  }\item[{integer(ip\+\_\+i4\+\_\+p), dimension(\+:), intent(out)}]{gvec,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string,  }\item[{logical, intent(in), optional}]{all }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Compute a 1D array of global sums for an array of 1D integers. 

This sums an array of local integers to an array of summed integers. This does not reduce the array to a scalar.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em lvec} & local values\\
\hline
\mbox{\tt out}  & {\em gvec} & global values\\
\hline
\mbox{\tt in}  & {\em comm} & mpi communicator\\
\hline
\mbox{\tt in}  & {\em string} & to identify caller\\
\hline
\mbox{\tt in}  & {\em all} & if true call allreduce, otherwise reduce to task 0 \\
\hline
\end{DoxyParams}


Definition at line 1301 of file mod\+\_\+oasis\+\_\+mpi.\+F90.

\mbox{\Hypertarget{interfacemod__oasis__mpi_1_1oasis__mpi__sum_abffb7172c344ad2577ac229168327fcd}\label{interfacemod__oasis__mpi_1_1oasis__mpi__sum_abffb7172c344ad2577ac229168327fcd}} 
\index{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum@{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum}!oasis\+\_\+mpi\+\_\+sumq0@{oasis\+\_\+mpi\+\_\+sumq0}}
\index{oasis\+\_\+mpi\+\_\+sumq0@{oasis\+\_\+mpi\+\_\+sumq0}!mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum@{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum}}
\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+sumq0()}{oasis\_mpi\_sumq0()}}
{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum\+::oasis\+\_\+mpi\+\_\+sumq0 (\begin{DoxyParamCaption}\item[{real(ip\+\_\+quad\+\_\+p), intent(in)}]{lvec,  }\item[{real(ip\+\_\+quad\+\_\+p), intent(out)}]{gvec,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string,  }\item[{logical, intent(in), optional}]{all }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Compute a global sum for a scalar quad. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em lvec} & local values\\
\hline
\mbox{\tt out}  & {\em gvec} & global values\\
\hline
\mbox{\tt in}  & {\em comm} & mpi communicator\\
\hline
\mbox{\tt in}  & {\em string} & to identify caller\\
\hline
\mbox{\tt in}  & {\em all} & if true call allreduce, otherwise reduce to task 0 \\
\hline
\end{DoxyParams}


Definition at line 1756 of file mod\+\_\+oasis\+\_\+mpi.\+F90.

\mbox{\Hypertarget{interfacemod__oasis__mpi_1_1oasis__mpi__sum_a96b845cbd75c4613df6fee8ac5c65d71}\label{interfacemod__oasis__mpi_1_1oasis__mpi__sum_a96b845cbd75c4613df6fee8ac5c65d71}} 
\index{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum@{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum}!oasis\+\_\+mpi\+\_\+sumq1@{oasis\+\_\+mpi\+\_\+sumq1}}
\index{oasis\+\_\+mpi\+\_\+sumq1@{oasis\+\_\+mpi\+\_\+sumq1}!mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum@{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum}}
\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+sumq1()}{oasis\_mpi\_sumq1()}}
{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum\+::oasis\+\_\+mpi\+\_\+sumq1 (\begin{DoxyParamCaption}\item[{real(ip\+\_\+quad\+\_\+p), dimension(\+:), intent(in)}]{lvec,  }\item[{real(ip\+\_\+quad\+\_\+p), dimension(\+:), intent(out)}]{gvec,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string,  }\item[{logical, intent(in), optional}]{all }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Compute a 1D array of global sums for an array of 1D quads. 

This sums an array of local quads to an array of summed quads. This does not reduce the array to a scalar.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em lvec} & local values\\
\hline
\mbox{\tt out}  & {\em gvec} & global values\\
\hline
\mbox{\tt in}  & {\em comm} & mpi communicator\\
\hline
\mbox{\tt in}  & {\em string} & to identify caller\\
\hline
\mbox{\tt in}  & {\em all} & if true call allreduce, otherwise reduce to task 0 \\
\hline
\end{DoxyParams}


Definition at line 1822 of file mod\+\_\+oasis\+\_\+mpi.\+F90.

\mbox{\Hypertarget{interfacemod__oasis__mpi_1_1oasis__mpi__sum_a030add8b5e1875ca3f80319d47c687a3}\label{interfacemod__oasis__mpi_1_1oasis__mpi__sum_a030add8b5e1875ca3f80319d47c687a3}} 
\index{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum@{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum}!oasis\+\_\+mpi\+\_\+sumq2@{oasis\+\_\+mpi\+\_\+sumq2}}
\index{oasis\+\_\+mpi\+\_\+sumq2@{oasis\+\_\+mpi\+\_\+sumq2}!mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum@{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum}}
\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+sumq2()}{oasis\_mpi\_sumq2()}}
{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum\+::oasis\+\_\+mpi\+\_\+sumq2 (\begin{DoxyParamCaption}\item[{real(ip\+\_\+quad\+\_\+p), dimension(\+:,\+:), intent(in)}]{lvec,  }\item[{real(ip\+\_\+quad\+\_\+p), dimension(\+:,\+:), intent(out)}]{gvec,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string,  }\item[{logical, intent(in), optional}]{all }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Compute a 2D array of global sums for an array of 2D quads. 

This sums an array of local quads to an array of summed quads. This does not reduce the array to a scalar.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em lvec} & local values\\
\hline
\mbox{\tt out}  & {\em gvec} & global values\\
\hline
\mbox{\tt in}  & {\em comm} & mpi communicator\\
\hline
\mbox{\tt in}  & {\em string} & to identify caller\\
\hline
\mbox{\tt in}  & {\em all} & if true call allreduce, otherwise reduce to task 0 \\
\hline
\end{DoxyParams}


Definition at line 1888 of file mod\+\_\+oasis\+\_\+mpi.\+F90.

\mbox{\Hypertarget{interfacemod__oasis__mpi_1_1oasis__mpi__sum_a95ded5a769c74998a3fe47b080aeb17e}\label{interfacemod__oasis__mpi_1_1oasis__mpi__sum_a95ded5a769c74998a3fe47b080aeb17e}} 
\index{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum@{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum}!oasis\+\_\+mpi\+\_\+sumq3@{oasis\+\_\+mpi\+\_\+sumq3}}
\index{oasis\+\_\+mpi\+\_\+sumq3@{oasis\+\_\+mpi\+\_\+sumq3}!mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum@{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum}}
\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+sumq3()}{oasis\_mpi\_sumq3()}}
{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum\+::oasis\+\_\+mpi\+\_\+sumq3 (\begin{DoxyParamCaption}\item[{real(ip\+\_\+quad\+\_\+p), dimension(\+:,\+:,\+:), intent(in)}]{lvec,  }\item[{real(ip\+\_\+quad\+\_\+p), dimension(\+:,\+:,\+:), intent(out)}]{gvec,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string,  }\item[{logical, intent(in), optional}]{all }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Compute a 3D array of global sums for an array of 3D quads. 

This sums an array of local quads to an array of summed quads. This does not reduce the array to a scalar.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em lvec} & local values\\
\hline
\mbox{\tt out}  & {\em gvec} & global values\\
\hline
\mbox{\tt in}  & {\em comm} & mpi communicator\\
\hline
\mbox{\tt in}  & {\em string} & to identify caller\\
\hline
\mbox{\tt in}  & {\em all} & if true call allreduce, otherwise reduce to task 0 \\
\hline
\end{DoxyParams}


Definition at line 1954 of file mod\+\_\+oasis\+\_\+mpi.\+F90.

\mbox{\Hypertarget{interfacemod__oasis__mpi_1_1oasis__mpi__sum_aef927bb26681ca81b005940fad26d27f}\label{interfacemod__oasis__mpi_1_1oasis__mpi__sum_aef927bb26681ca81b005940fad26d27f}} 
\index{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum@{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum}!oasis\+\_\+mpi\+\_\+sumr0@{oasis\+\_\+mpi\+\_\+sumr0}}
\index{oasis\+\_\+mpi\+\_\+sumr0@{oasis\+\_\+mpi\+\_\+sumr0}!mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum@{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum}}
\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+sumr0()}{oasis\_mpi\_sumr0()}}
{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum\+::oasis\+\_\+mpi\+\_\+sumr0 (\begin{DoxyParamCaption}\item[{real(ip\+\_\+double\+\_\+p), intent(in)}]{lvec,  }\item[{real(ip\+\_\+double\+\_\+p), intent(out)}]{gvec,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string,  }\item[{logical, intent(in), optional}]{all }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Compute a global sum for a scalar double. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em lvec} & local values\\
\hline
\mbox{\tt out}  & {\em gvec} & global values\\
\hline
\mbox{\tt in}  & {\em comm} & mpi communicator\\
\hline
\mbox{\tt in}  & {\em string} & to identify caller\\
\hline
\mbox{\tt in}  & {\em all} & if true call allreduce, otherwise reduce to task 0 \\
\hline
\end{DoxyParams}


Definition at line 1493 of file mod\+\_\+oasis\+\_\+mpi.\+F90.

\mbox{\Hypertarget{interfacemod__oasis__mpi_1_1oasis__mpi__sum_a509c6561bf7677ca44df5727ec7af8bf}\label{interfacemod__oasis__mpi_1_1oasis__mpi__sum_a509c6561bf7677ca44df5727ec7af8bf}} 
\index{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum@{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum}!oasis\+\_\+mpi\+\_\+sumr1@{oasis\+\_\+mpi\+\_\+sumr1}}
\index{oasis\+\_\+mpi\+\_\+sumr1@{oasis\+\_\+mpi\+\_\+sumr1}!mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum@{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum}}
\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+sumr1()}{oasis\_mpi\_sumr1()}}
{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum\+::oasis\+\_\+mpi\+\_\+sumr1 (\begin{DoxyParamCaption}\item[{real(ip\+\_\+double\+\_\+p), dimension(\+:), intent(in)}]{lvec,  }\item[{real(ip\+\_\+double\+\_\+p), dimension(\+:), intent(out)}]{gvec,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string,  }\item[{logical, intent(in), optional}]{all }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Compute a 1D array of global sums for an array of 1D doubles. 

This sums an array of local doubles to an array of summed doubles. This does not reduce the array to a scalar.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em lvec} & local values\\
\hline
\mbox{\tt out}  & {\em gvec} & global values\\
\hline
\mbox{\tt in}  & {\em comm} & mpi communicator\\
\hline
\mbox{\tt in}  & {\em string} & to identify caller\\
\hline
\mbox{\tt in}  & {\em all} & if true call allreduce, otherwise reduce to task 0 \\
\hline
\end{DoxyParams}


Definition at line 1559 of file mod\+\_\+oasis\+\_\+mpi.\+F90.

\mbox{\Hypertarget{interfacemod__oasis__mpi_1_1oasis__mpi__sum_a45b443ca4b94c71ad7be5e6b653d8b1f}\label{interfacemod__oasis__mpi_1_1oasis__mpi__sum_a45b443ca4b94c71ad7be5e6b653d8b1f}} 
\index{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum@{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum}!oasis\+\_\+mpi\+\_\+sumr2@{oasis\+\_\+mpi\+\_\+sumr2}}
\index{oasis\+\_\+mpi\+\_\+sumr2@{oasis\+\_\+mpi\+\_\+sumr2}!mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum@{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum}}
\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+sumr2()}{oasis\_mpi\_sumr2()}}
{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum\+::oasis\+\_\+mpi\+\_\+sumr2 (\begin{DoxyParamCaption}\item[{real(ip\+\_\+double\+\_\+p), dimension(\+:,\+:), intent(in)}]{lvec,  }\item[{real(ip\+\_\+double\+\_\+p), dimension(\+:,\+:), intent(out)}]{gvec,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string,  }\item[{logical, intent(in), optional}]{all }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Compute a 2D array of global sums for an array of 2D doubles. 

This sums an array of local doubles to an array of summed doubles. This does not reduce the array to a scalar.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em lvec} & local values\\
\hline
\mbox{\tt out}  & {\em gvec} & global values\\
\hline
\mbox{\tt in}  & {\em comm} & mpi communicator\\
\hline
\mbox{\tt in}  & {\em string} & to identify caller\\
\hline
\mbox{\tt in}  & {\em all} & if true call allreduce, otherwise reduce to task 0 \\
\hline
\end{DoxyParams}


Definition at line 1625 of file mod\+\_\+oasis\+\_\+mpi.\+F90.

\mbox{\Hypertarget{interfacemod__oasis__mpi_1_1oasis__mpi__sum_a31d24332ccc66502fcb78e5f69d19c45}\label{interfacemod__oasis__mpi_1_1oasis__mpi__sum_a31d24332ccc66502fcb78e5f69d19c45}} 
\index{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum@{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum}!oasis\+\_\+mpi\+\_\+sumr3@{oasis\+\_\+mpi\+\_\+sumr3}}
\index{oasis\+\_\+mpi\+\_\+sumr3@{oasis\+\_\+mpi\+\_\+sumr3}!mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum@{mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum}}
\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+sumr3()}{oasis\_mpi\_sumr3()}}
{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sum\+::oasis\+\_\+mpi\+\_\+sumr3 (\begin{DoxyParamCaption}\item[{real(ip\+\_\+double\+\_\+p), dimension(\+:,\+:,\+:), intent(in)}]{lvec,  }\item[{real(ip\+\_\+double\+\_\+p), dimension(\+:,\+:,\+:), intent(out)}]{gvec,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string,  }\item[{logical, intent(in), optional}]{all }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Compute a 3D array of global sums for an array of 3D doubles. 

This sums an array of local doubles to an array of summed doubles. This does not reduce the array to a scalar.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em lvec} & local values\\
\hline
\mbox{\tt out}  & {\em gvec} & global values\\
\hline
\mbox{\tt in}  & {\em comm} & mpi communicator\\
\hline
\mbox{\tt in}  & {\em string} & to identify caller\\
\hline
\mbox{\tt in}  & {\em all} & if true call allreduce, otherwise reduce to task 0 \\
\hline
\end{DoxyParams}


Definition at line 1691 of file mod\+\_\+oasis\+\_\+mpi.\+F90.



The documentation for this interface was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
/home/globc2/tcraig/oasis3-\/mct.\+trunk/lib/psmile/src/\hyperlink{mod__oasis__mpi_8_f90}{mod\+\_\+oasis\+\_\+mpi.\+F90}\end{DoxyCompactItemize}
