source: CPL/oasis3-mct_5.0/doc/doxygen/latex/namespacemod__oasis__mpi.tex @ 6328

Last change on this file since 6328 was 6328, checked in by aclsce, 17 months ago

First import of oasis3-mct_5.0 (from oasis git server, branch OASIS3-MCT_5.0)

File size: 90.2 KB
Line 
1\hypertarget{namespacemod__oasis__mpi}{}\section{mod\+\_\+oasis\+\_\+mpi Module Reference}
2\label{namespacemod__oasis__mpi}\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
3
4
5Provides a generic and simpler interface into M\+PI calls for O\+A\+S\+IS. 
6
7
8\subsection*{Data Types}
9\begin{DoxyCompactItemize}
10\item 
11interface \hyperlink{interfacemod__oasis__mpi_1_1oasis__mpi__bcast}{oasis\+\_\+mpi\+\_\+bcast}
12\begin{DoxyCompactList}\small\item\em Generic overloaded interface into M\+PI broadcast. \end{DoxyCompactList}\item 
13interface \hyperlink{interfacemod__oasis__mpi_1_1oasis__mpi__gatherv}{oasis\+\_\+mpi\+\_\+gatherv}
14\begin{DoxyCompactList}\small\item\em Generic interfaces into an M\+PI vector gather. \end{DoxyCompactList}\item 
15interface \hyperlink{interfacemod__oasis__mpi_1_1oasis__mpi__gathscatvinit}{oasis\+\_\+mpi\+\_\+gathscatvinit}
16\begin{DoxyCompactList}\small\item\em Generic interface to oasis\+\_\+mpi\+\_\+gath\+Scat\+V\+Init. \end{DoxyCompactList}\item 
17interface \hyperlink{interfacemod__oasis__mpi_1_1oasis__mpi__max}{oasis\+\_\+mpi\+\_\+max}
18\begin{DoxyCompactList}\small\item\em Generic overloaded interface into M\+PI max reduction. \end{DoxyCompactList}\item 
19interface \hyperlink{interfacemod__oasis__mpi_1_1oasis__mpi__min}{oasis\+\_\+mpi\+\_\+min}
20\begin{DoxyCompactList}\small\item\em Generic overloaded interface into M\+PI min reduction. \end{DoxyCompactList}\item 
21interface \hyperlink{interfacemod__oasis__mpi_1_1oasis__mpi__recv}{oasis\+\_\+mpi\+\_\+recv}
22\begin{DoxyCompactList}\small\item\em Generic overloaded interface into M\+PI receive. \end{DoxyCompactList}\item 
23interface \hyperlink{interfacemod__oasis__mpi_1_1oasis__mpi__scatterv}{oasis\+\_\+mpi\+\_\+scatterv}
24\begin{DoxyCompactList}\small\item\em Generic interfaces into an M\+PI vector scatter. \end{DoxyCompactList}\item 
25interface \hyperlink{interfacemod__oasis__mpi_1_1oasis__mpi__send}{oasis\+\_\+mpi\+\_\+send}
26\begin{DoxyCompactList}\small\item\em Generic overloaded interface into M\+PI send. \end{DoxyCompactList}\item 
27interface \hyperlink{interfacemod__oasis__mpi_1_1oasis__mpi__sum}{oasis\+\_\+mpi\+\_\+sum}
28\begin{DoxyCompactList}\small\item\em Generic overloaded interface into M\+PI sum reduction. \end{DoxyCompactList}\end{DoxyCompactItemize}
29\subsection*{Functions/\+Subroutines}
30\begin{DoxyCompactItemize}
31\item 
32subroutine, public \hyperlink{namespacemod__oasis__mpi_a15ba68764a1f4dd07d403e46afae824c}{oasis\+\_\+mpi\+\_\+chkerr} (rcode, string)
33\begin{DoxyCompactList}\small\item\em Checks M\+PI error codes and aborts. \end{DoxyCompactList}\item 
34subroutine \hyperlink{namespacemod__oasis__mpi_aa5078962eee157f52878f711c0a29afb}{oasis\+\_\+mpi\+\_\+sendi0} (lvec, pid, tag, comm, string)
35\begin{DoxyCompactList}\small\item\em Send a scalar integer. \end{DoxyCompactList}\item 
36subroutine \hyperlink{namespacemod__oasis__mpi_aab4cc0d2b50e8e73697e6d88d23b03cd}{oasis\+\_\+mpi\+\_\+sendi1} (lvec, pid, tag, comm, string)
37\begin{DoxyCompactList}\small\item\em Send an array of 1D integers. \end{DoxyCompactList}\item 
38subroutine \hyperlink{namespacemod__oasis__mpi_ab38f15fbce57555ea66ccbc1aa477dd1}{oasis\+\_\+mpi\+\_\+sendr0} (lvec, pid, tag, comm, string)
39\begin{DoxyCompactList}\small\item\em Send a scalar double. \end{DoxyCompactList}\item 
40subroutine \hyperlink{namespacemod__oasis__mpi_a948cd001c0955ae19f4b410d4cca9f9b}{oasis\+\_\+mpi\+\_\+sendr1} (lvec, pid, tag, comm, string)
41\begin{DoxyCompactList}\small\item\em Send an array of 1D doubles. \end{DoxyCompactList}\item 
42subroutine \hyperlink{namespacemod__oasis__mpi_ac8809a8b29b3ffa246612b9c25cd05eb}{oasis\+\_\+mpi\+\_\+sendr3} (array, pid, tag, comm, string)
43\begin{DoxyCompactList}\small\item\em Send an array of 3D doubles. \end{DoxyCompactList}\item 
44subroutine \hyperlink{namespacemod__oasis__mpi_ad89796f10a2225d4930cdec65546cf98}{oasis\+\_\+mpi\+\_\+recvi0} (lvec, pid, tag, comm, string)
45\begin{DoxyCompactList}\small\item\em Receive a scalar integer. \end{DoxyCompactList}\item 
46subroutine \hyperlink{namespacemod__oasis__mpi_acf13ea626ed09fe98123f23d0990879d}{oasis\+\_\+mpi\+\_\+recvi1} (lvec, pid, tag, comm, string)
47\begin{DoxyCompactList}\small\item\em Receive an array of 1D integers. \end{DoxyCompactList}\item 
48subroutine \hyperlink{namespacemod__oasis__mpi_a2578d560c80d608340b5a49b327642ba}{oasis\+\_\+mpi\+\_\+recvr0} (lvec, pid, tag, comm, string)
49\begin{DoxyCompactList}\small\item\em Receive a scalar double. \end{DoxyCompactList}\item 
50subroutine \hyperlink{namespacemod__oasis__mpi_a2bbd8de453167b4c73aa09c3c44c0ca8}{oasis\+\_\+mpi\+\_\+recvr1} (lvec, pid, tag, comm, string)
51\begin{DoxyCompactList}\small\item\em Receive an array of 1D doubles. \end{DoxyCompactList}\item 
52subroutine \hyperlink{namespacemod__oasis__mpi_a2c3b82d2346a69cd20be3d35c5e70be6}{oasis\+\_\+mpi\+\_\+recvr3} (array, pid, tag, comm, string)
53\begin{DoxyCompactList}\small\item\em Receive an array of 3D doubles. \end{DoxyCompactList}\item 
54subroutine \hyperlink{namespacemod__oasis__mpi_af8bc029a22d59f1188b7f8a1a2645c40}{oasis\+\_\+mpi\+\_\+bcasti0} (vec, comm, string, pebcast)
55\begin{DoxyCompactList}\small\item\em Broadcast a scalar integer. \end{DoxyCompactList}\item 
56subroutine \hyperlink{namespacemod__oasis__mpi_a1426590a36b24f1770381b9c35563cff}{oasis\+\_\+mpi\+\_\+bcastl0} (vec, comm, string, pebcast)
57\begin{DoxyCompactList}\small\item\em Broadcast a scalar logical. \end{DoxyCompactList}\item 
58subroutine \hyperlink{namespacemod__oasis__mpi_a6d10e1673748a91dc7ec955ef16d771a}{oasis\+\_\+mpi\+\_\+bcastc0} (vec, comm, string, pebcast)
59\begin{DoxyCompactList}\small\item\em Broadcast a character string. \end{DoxyCompactList}\item 
60subroutine \hyperlink{namespacemod__oasis__mpi_a99b3a1ab4c7617b5bc83d3c6360aaef3}{oasis\+\_\+mpi\+\_\+bcastc1} (vec, comm, string, pebcast)
61\begin{DoxyCompactList}\small\item\em Broadcast an array of 1D character strings. \end{DoxyCompactList}\item 
62subroutine \hyperlink{namespacemod__oasis__mpi_a3b21bebef1b56b31bd6d07e83d7a59a6}{oasis\+\_\+mpi\+\_\+bcastr0} (vec, comm, string, pebcast)
63\begin{DoxyCompactList}\small\item\em Broadcast a scalar double. \end{DoxyCompactList}\item 
64subroutine \hyperlink{namespacemod__oasis__mpi_a6f9140637f29d3939dc9c53930101e2e}{oasis\+\_\+mpi\+\_\+bcasti1} (vec, comm, string, pebcast)
65\begin{DoxyCompactList}\small\item\em Broadcast an array of 1D integers. \end{DoxyCompactList}\item 
66subroutine \hyperlink{namespacemod__oasis__mpi_a8b03787549fba5faff499c946d521db0}{oasis\+\_\+mpi\+\_\+bcastl1} (vec, comm, string, pebcast)
67\begin{DoxyCompactList}\small\item\em Broadcast an array of 1D logicals. \end{DoxyCompactList}\item 
68subroutine \hyperlink{namespacemod__oasis__mpi_a6f12178b027ff30cb87f9f8313b459d5}{oasis\+\_\+mpi\+\_\+bcastr1} (vec, comm, string, pebcast)
69\begin{DoxyCompactList}\small\item\em Broadcast an array of 1D doubles. \end{DoxyCompactList}\item 
70subroutine \hyperlink{namespacemod__oasis__mpi_ab14018fe59cd737067e4f4202a3eeb39}{oasis\+\_\+mpi\+\_\+bcastr2} (arr, comm, string, pebcast)
71\begin{DoxyCompactList}\small\item\em Broadcast an array of 2D doubles. \end{DoxyCompactList}\item 
72subroutine \hyperlink{namespacemod__oasis__mpi_ad6918adccdd62a278066f41b0b8edf57}{oasis\+\_\+mpi\+\_\+bcasti2} (arr, comm, string, pebcast)
73\begin{DoxyCompactList}\small\item\em Broadcast an array of 2D integers. \end{DoxyCompactList}\item 
74subroutine \hyperlink{namespacemod__oasis__mpi_ac01edbda3e33b1feff9b797f83f82e8c}{oasis\+\_\+mpi\+\_\+bcastr3} (arr, comm, string, pebcast)
75\begin{DoxyCompactList}\small\item\em Broadcast an array of 3D doubles. \end{DoxyCompactList}\item 
76subroutine \hyperlink{namespacemod__oasis__mpi_a68afb4ab4136545faeaa2c37a1eb294a}{oasis\+\_\+mpi\+\_\+gathscatvinitr1} (comm, rootid, loc\+Arr, glob1\+D\+Arr, glob\+Size, displs, string)
77\begin{DoxyCompactList}\small\item\em Initialize variables for \hyperlink{interfacemod__oasis__mpi_1_1oasis__mpi__gatherv}{oasis\+\_\+mpi\+\_\+gatherv} and \hyperlink{interfacemod__oasis__mpi_1_1oasis__mpi__scatterv}{oasis\+\_\+mpi\+\_\+scatterv}. \end{DoxyCompactList}\item 
78subroutine \hyperlink{namespacemod__oasis__mpi_a88a13ea3b4f96074669fdc872fe41728}{oasis\+\_\+mpi\+\_\+gathervr1} (locarr, loc\+Size, glob1\+D\+Arr, glob\+Size, displs, rootid, comm, string)
79\begin{DoxyCompactList}\small\item\em Gather a vector of distributed data to a rootid. \end{DoxyCompactList}\item 
80subroutine \hyperlink{namespacemod__oasis__mpi_a9d0d807b92d39c9789eea4744d331612}{oasis\+\_\+mpi\+\_\+scattervr1} (locarr, loc\+Size, glob1\+Darr, glob\+Size, displs, rootid, comm, string)
81\begin{DoxyCompactList}\small\item\em Scatter a vector of global data from a rootid. \end{DoxyCompactList}\item 
82subroutine \hyperlink{namespacemod__oasis__mpi_adbb3963310e45ac012e5e28f13d5781e}{oasis\+\_\+mpi\+\_\+sumi0} (lvec, gvec, comm, string, all)
83\begin{DoxyCompactList}\small\item\em Compute a global Sum for a scalar integer. \end{DoxyCompactList}\item 
84subroutine \hyperlink{namespacemod__oasis__mpi_a507bb5e0ae088d68bb68c566e8965bef}{oasis\+\_\+mpi\+\_\+sumi1} (lvec, gvec, comm, string, all)
85\begin{DoxyCompactList}\small\item\em Compute a 1D array of global sums for an array of 1D integers. \end{DoxyCompactList}\item 
86subroutine \hyperlink{namespacemod__oasis__mpi_ae4d2818f21f445e594aad97598f49d8e}{oasis\+\_\+mpi\+\_\+sumb0} (lvec, gvec, comm, string, all)
87\begin{DoxyCompactList}\small\item\em Compute a global sum for a scalar 8 byte integer. \end{DoxyCompactList}\item 
88subroutine \hyperlink{namespacemod__oasis__mpi_a3f32594b15b9ae3629969839ab952012}{oasis\+\_\+mpi\+\_\+sumb1} (lvec, gvec, comm, string, all)
89\begin{DoxyCompactList}\small\item\em Compute a 1D array of global sums for an array of 1D 8 byte integers. \end{DoxyCompactList}\item 
90subroutine \hyperlink{namespacemod__oasis__mpi_a02b0555479a3d54e1c3d42219af9b991}{oasis\+\_\+mpi\+\_\+sumr0} (lvec, gvec, comm, string, all)
91\begin{DoxyCompactList}\small\item\em Compute a global sum for a scalar double. \end{DoxyCompactList}\item 
92subroutine \hyperlink{namespacemod__oasis__mpi_aac62148bc912b158aff769572f27b8d3}{oasis\+\_\+mpi\+\_\+sumr1} (lvec, gvec, comm, string, all)
93\begin{DoxyCompactList}\small\item\em Compute a 1D array of global sums for an array of 1D doubles. \end{DoxyCompactList}\item 
94subroutine \hyperlink{namespacemod__oasis__mpi_afbc665ae71c97d0b0467323cd86a5973}{oasis\+\_\+mpi\+\_\+sumr2} (lvec, gvec, comm, string, all)
95\begin{DoxyCompactList}\small\item\em Compute a 2D array of global sums for an array of 2D doubles. \end{DoxyCompactList}\item 
96subroutine \hyperlink{namespacemod__oasis__mpi_a41836fe23aeb81e65b4d24f6f0c90953}{oasis\+\_\+mpi\+\_\+sumr3} (lvec, gvec, comm, string, all)
97\begin{DoxyCompactList}\small\item\em Compute a 3D array of global sums for an array of 3D doubles. \end{DoxyCompactList}\item 
98subroutine \hyperlink{namespacemod__oasis__mpi_a2901cf7eaf807b4df7bd82aefadfeed9}{oasis\+\_\+mpi\+\_\+sumq0} (lvec, gvec, comm, string, all)
99\begin{DoxyCompactList}\small\item\em Compute a global sum for a scalar quad. \end{DoxyCompactList}\item 
100subroutine \hyperlink{namespacemod__oasis__mpi_a4a81062f1345805cdd828552272670c8}{oasis\+\_\+mpi\+\_\+sumq1} (lvec, gvec, comm, string, all)
101\begin{DoxyCompactList}\small\item\em Compute a 1D array of global sums for an array of 1D quads. \end{DoxyCompactList}\item 
102subroutine \hyperlink{namespacemod__oasis__mpi_aa9a5264e64523ff85ffb37ddc3b405ae}{oasis\+\_\+mpi\+\_\+sumq2} (lvec, gvec, comm, string, all)
103\begin{DoxyCompactList}\small\item\em Compute a 2D array of global sums for an array of 2D quads. \end{DoxyCompactList}\item 
104subroutine \hyperlink{namespacemod__oasis__mpi_a3f989a76dbe1896764d73ffea933130d}{oasis\+\_\+mpi\+\_\+sumq3} (lvec, gvec, comm, string, all)
105\begin{DoxyCompactList}\small\item\em Compute a 3D array of global sums for an array of 3D quads. \end{DoxyCompactList}\item 
106subroutine \hyperlink{namespacemod__oasis__mpi_a2832568cd4d34db40cdcc39ffa876474}{oasis\+\_\+mpi\+\_\+mini0} (lvec, gvec, comm, string, all)
107\begin{DoxyCompactList}\small\item\em Compute a global minimum for a scalar integer. \end{DoxyCompactList}\item 
108subroutine \hyperlink{namespacemod__oasis__mpi_aed0c20d56fdab764f0ad8e48e3a7209f}{oasis\+\_\+mpi\+\_\+mini1} (lvec, gvec, comm, string, all)
109\begin{DoxyCompactList}\small\item\em Compute an array of global minimums for an array of 1D integers. \end{DoxyCompactList}\item 
110subroutine \hyperlink{namespacemod__oasis__mpi_af3628ad005b1a21e8f33e3dc2be38635}{oasis\+\_\+mpi\+\_\+minr0} (lvec, gvec, comm, string, all)
111\begin{DoxyCompactList}\small\item\em Compute an global minimum for a scalar double. \end{DoxyCompactList}\item 
112subroutine \hyperlink{namespacemod__oasis__mpi_a29c460b836ae9ad77ee1ac21f684d188}{oasis\+\_\+mpi\+\_\+minr1} (lvec, gvec, comm, string, all)
113\begin{DoxyCompactList}\small\item\em Compute an array of global minimums for an array of 1D doubles. \end{DoxyCompactList}\item 
114subroutine \hyperlink{namespacemod__oasis__mpi_a0b469347d40c78c317042fa069d9baa5}{oasis\+\_\+mpi\+\_\+maxi0} (lvec, gvec, comm, string, all)
115\begin{DoxyCompactList}\small\item\em Compute a global maximum for a scalar integer. \end{DoxyCompactList}\item 
116subroutine \hyperlink{namespacemod__oasis__mpi_a2ba8d76b016ddde4013aecc2ca0b1d9f}{oasis\+\_\+mpi\+\_\+maxi1} (lvec, gvec, comm, string, all)
117\begin{DoxyCompactList}\small\item\em Compute an array of global maximums for an array of 1D integers. \end{DoxyCompactList}\item 
118subroutine \hyperlink{namespacemod__oasis__mpi_a7f46e23956ff948e039c5c1cdde0f6f3}{oasis\+\_\+mpi\+\_\+maxr0} (lvec, gvec, comm, string, all)
119\begin{DoxyCompactList}\small\item\em Compute a global maximum for a scalar double. \end{DoxyCompactList}\item 
120subroutine \hyperlink{namespacemod__oasis__mpi_ae57151fc4714e33d7e0e1cf0aa65ae64}{oasis\+\_\+mpi\+\_\+maxr1} (lvec, gvec, comm, string, all)
121\begin{DoxyCompactList}\small\item\em Compute an array of global maximums for an array of 1D doubles. \end{DoxyCompactList}\item 
122subroutine, public \hyperlink{namespacemod__oasis__mpi_adac784196d7af85611752214137dd4db}{oasis\+\_\+mpi\+\_\+commsize} (comm, size, string)
123\begin{DoxyCompactList}\small\item\em Get the total number of tasks associated with a communicator. \end{DoxyCompactList}\item 
124subroutine, public \hyperlink{namespacemod__oasis__mpi_a2690a841a331f4398cc4b5a244bbc52e}{oasis\+\_\+mpi\+\_\+commrank} (comm, rank, string)
125\begin{DoxyCompactList}\small\item\em Get the rank (task ID) for a task in a communicator. \end{DoxyCompactList}\item 
126subroutine, public \hyperlink{namespacemod__oasis__mpi_a384f170e63ac03f25d3bd549245b43f3}{oasis\+\_\+mpi\+\_\+initialized} (flag, string)
127\begin{DoxyCompactList}\small\item\em Check whether M\+PI has been initialized. \end{DoxyCompactList}\item 
128subroutine, public \hyperlink{namespacemod__oasis__mpi_aa3786c2cab131c3834583e7943ba28c8}{oasis\+\_\+mpi\+\_\+wtime} (wtime)
129\begin{DoxyCompactList}\small\item\em Return a timestamp from M\+P\+I\+\_\+\+W\+T\+I\+ME. \end{DoxyCompactList}\item 
130subroutine, public \hyperlink{namespacemod__oasis__mpi_a5b21b6d8732d5f7b70d8b20cefe0072f}{oasis\+\_\+mpi\+\_\+abort} (string, rcode)
131\begin{DoxyCompactList}\small\item\em Write error messages and Call M\+P\+I\+\_\+\+A\+B\+O\+RT. \end{DoxyCompactList}\item 
132subroutine, public \hyperlink{namespacemod__oasis__mpi_aaf477847380fbbbc1341520b0b3e66da}{oasis\+\_\+mpi\+\_\+barrier} (comm, string)
133\begin{DoxyCompactList}\small\item\em Call M\+P\+I\+\_\+\+B\+A\+R\+R\+I\+ER for a particular communicator. \end{DoxyCompactList}\item 
134subroutine, public \hyperlink{namespacemod__oasis__mpi_aaf45f20e0000b32e71ec9ea8e806f57c}{oasis\+\_\+mpi\+\_\+init} (string)
135\begin{DoxyCompactList}\small\item\em Call M\+P\+I\+\_\+\+I\+N\+IT. \end{DoxyCompactList}\item 
136subroutine, public \hyperlink{namespacemod__oasis__mpi_a0a601a3f718c0704db99a21b2c43fbcd}{oasis\+\_\+mpi\+\_\+finalize} (string)
137\begin{DoxyCompactList}\small\item\em Call M\+P\+I\+\_\+\+F\+I\+N\+A\+L\+ZE. \end{DoxyCompactList}\item 
138subroutine, public \hyperlink{namespacemod__oasis__mpi_a95f6540150f7ab4e64697d2eabc2bf79}{oasis\+\_\+mpi\+\_\+reducelists} (linp1, comm, cntout, lout1, callstr, fastcheck, fastcheckout, linp2, lout2, spval2, linp3, lout3, spval3, linp4, lout4, spval4)
139\begin{DoxyCompactList}\small\item\em Custom method for reducing M\+PI lists across pes for O\+A\+S\+IS. \end{DoxyCompactList}\end{DoxyCompactItemize}
140
141
142\subsection{Detailed Description}
143Provides a generic and simpler interface into M\+PI calls for O\+A\+S\+IS.
144
145\subsection{Function/\+Subroutine Documentation}
146\mbox{\Hypertarget{namespacemod__oasis__mpi_a5b21b6d8732d5f7b70d8b20cefe0072f}\label{namespacemod__oasis__mpi_a5b21b6d8732d5f7b70d8b20cefe0072f}} 
147\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+abort@{oasis\+\_\+mpi\+\_\+abort}}
148\index{oasis\+\_\+mpi\+\_\+abort@{oasis\+\_\+mpi\+\_\+abort}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
149\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+abort()}{oasis\_mpi\_abort()}}
150{\footnotesize\ttfamily subroutine, public mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+abort (\begin{DoxyParamCaption}\item[{character($\ast$), intent(in), optional}]{string,  }\item[{integer, intent(in), optional}]{rcode }\end{DoxyParamCaption})}
151
152
153
154Write error messages and Call M\+P\+I\+\_\+\+A\+B\+O\+RT.
155
156
157\begin{DoxyParams}[1]{Parameters}
158\mbox{\tt in}  & {\em string} & to identify caller\\
159\hline
160\mbox{\tt in}  & {\em rcode} & optional code \\
161\hline
162\end{DoxyParams}
163
164
165Definition at line 2654 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
166
167\mbox{\Hypertarget{namespacemod__oasis__mpi_aaf477847380fbbbc1341520b0b3e66da}\label{namespacemod__oasis__mpi_aaf477847380fbbbc1341520b0b3e66da}} 
168\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+barrier@{oasis\+\_\+mpi\+\_\+barrier}}
169\index{oasis\+\_\+mpi\+\_\+barrier@{oasis\+\_\+mpi\+\_\+barrier}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
170\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+barrier()}{oasis\_mpi\_barrier()}}
171{\footnotesize\ttfamily subroutine, public mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+barrier (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string }\end{DoxyParamCaption})}
172
173
174
175Call M\+P\+I\+\_\+\+B\+A\+R\+R\+I\+ER for a particular communicator.
176
177
178\begin{DoxyParams}[1]{Parameters}
179\mbox{\tt in}  & {\em comm} & mpi communicator\\
180\hline
181\mbox{\tt in}  & {\em string} & to identify caller \\
182\hline
183\end{DoxyParams}
184
185
186Definition at line 2697 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
187
188\mbox{\Hypertarget{namespacemod__oasis__mpi_a6d10e1673748a91dc7ec955ef16d771a}\label{namespacemod__oasis__mpi_a6d10e1673748a91dc7ec955ef16d771a}} 
189\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+bcastc0@{oasis\+\_\+mpi\+\_\+bcastc0}}
190\index{oasis\+\_\+mpi\+\_\+bcastc0@{oasis\+\_\+mpi\+\_\+bcastc0}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
191\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+bcastc0()}{oasis\_mpi\_bcastc0()}}
192{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+bcastc0 (\begin{DoxyParamCaption}\item[{character(len=$\ast$), intent(inout)}]{vec,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in), optional}]{pebcast }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}
193
194
195
196Broadcast a character string.
197
198
199\begin{DoxyParams}[1]{Parameters}
200\mbox{\tt in,out}  & {\em vec} & values to broadcast\\
201\hline
202\mbox{\tt in}  & {\em comm} & mpi communicator\\
203\hline
204\mbox{\tt in}  & {\em string} & to identify caller\\
205\hline
206\mbox{\tt in}  & {\em pebcast} & bcast pe, default is task 0 \\
207\hline
208\end{DoxyParams}
209
210
211Definition at line 659 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
212
213\mbox{\Hypertarget{namespacemod__oasis__mpi_a99b3a1ab4c7617b5bc83d3c6360aaef3}\label{namespacemod__oasis__mpi_a99b3a1ab4c7617b5bc83d3c6360aaef3}} 
214\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+bcastc1@{oasis\+\_\+mpi\+\_\+bcastc1}}
215\index{oasis\+\_\+mpi\+\_\+bcastc1@{oasis\+\_\+mpi\+\_\+bcastc1}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
216\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+bcastc1()}{oasis\_mpi\_bcastc1()}}
217{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+bcastc1 (\begin{DoxyParamCaption}\item[{character(len=$\ast$), dimension(\+:), intent(inout)}]{vec,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in), optional}]{pebcast }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}
218
219
220
221Broadcast an array of 1D character strings.
222
223
224\begin{DoxyParams}[1]{Parameters}
225\mbox{\tt in,out}  & {\em vec} & values to broadcast\\
226\hline
227\mbox{\tt in}  & {\em comm} & mpi communicator\\
228\hline
229\mbox{\tt in}  & {\em string} & to identify caller\\
230\hline
231\mbox{\tt in}  & {\em pebcast} & bcast pe, default is task 0 \\
232\hline
233\end{DoxyParams}
234
235
236Definition at line 701 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
237
238\mbox{\Hypertarget{namespacemod__oasis__mpi_af8bc029a22d59f1188b7f8a1a2645c40}\label{namespacemod__oasis__mpi_af8bc029a22d59f1188b7f8a1a2645c40}} 
239\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+bcasti0@{oasis\+\_\+mpi\+\_\+bcasti0}}
240\index{oasis\+\_\+mpi\+\_\+bcasti0@{oasis\+\_\+mpi\+\_\+bcasti0}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
241\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+bcasti0()}{oasis\_mpi\_bcasti0()}}
242{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+bcasti0 (\begin{DoxyParamCaption}\item[{integer(ip\+\_\+i4\+\_\+p), intent(inout)}]{vec,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in), optional}]{pebcast }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}
243
244
245
246Broadcast a scalar integer.
247
248
249\begin{DoxyParams}[1]{Parameters}
250\mbox{\tt in,out}  & {\em vec} & values to broadcast\\
251\hline
252\mbox{\tt in}  & {\em comm} & mpi communicator\\
253\hline
254\mbox{\tt in}  & {\em string} & to identify caller\\
255\hline
256\mbox{\tt in}  & {\em pebcast} & bcast pe, default is task 0 \\
257\hline
258\end{DoxyParams}
259
260
261Definition at line 575 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
262
263\mbox{\Hypertarget{namespacemod__oasis__mpi_a6f9140637f29d3939dc9c53930101e2e}\label{namespacemod__oasis__mpi_a6f9140637f29d3939dc9c53930101e2e}} 
264\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+bcasti1@{oasis\+\_\+mpi\+\_\+bcasti1}}
265\index{oasis\+\_\+mpi\+\_\+bcasti1@{oasis\+\_\+mpi\+\_\+bcasti1}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
266\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+bcasti1()}{oasis\_mpi\_bcasti1()}}
267{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+bcasti1 (\begin{DoxyParamCaption}\item[{integer(ip\+\_\+i4\+\_\+p), dimension(\+:), intent(inout)}]{vec,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in), optional}]{pebcast }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}
268
269
270
271Broadcast an array of 1D integers.
272
273
274\begin{DoxyParams}[1]{Parameters}
275\mbox{\tt in,out}  & {\em vec} & values to broadcast\\
276\hline
277\mbox{\tt in}  & {\em comm} & mpi communicator\\
278\hline
279\mbox{\tt in}  & {\em string} & to identify caller\\
280\hline
281\mbox{\tt in}  & {\em pebcast} & bcast pe, default is task 0 \\
282\hline
283\end{DoxyParams}
284
285
286Definition at line 785 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
287
288\mbox{\Hypertarget{namespacemod__oasis__mpi_ad6918adccdd62a278066f41b0b8edf57}\label{namespacemod__oasis__mpi_ad6918adccdd62a278066f41b0b8edf57}} 
289\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+bcasti2@{oasis\+\_\+mpi\+\_\+bcasti2}}
290\index{oasis\+\_\+mpi\+\_\+bcasti2@{oasis\+\_\+mpi\+\_\+bcasti2}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
291\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+bcasti2()}{oasis\_mpi\_bcasti2()}}
292{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+bcasti2 (\begin{DoxyParamCaption}\item[{integer, dimension(\+:,\+:), intent(inout)}]{arr,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in), optional}]{pebcast }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}
293
294
295
296Broadcast an array of 2D integers.
297
298
299\begin{DoxyParams}[1]{Parameters}
300\mbox{\tt in,out}  & {\em arr} & values to broadcast\\
301\hline
302\mbox{\tt in}  & {\em comm} & mpi communicator\\
303\hline
304\mbox{\tt in}  & {\em string} & to identify caller\\
305\hline
306\mbox{\tt in}  & {\em pebcast} & bcast pe, default is task 0 \\
307\hline
308\end{DoxyParams}
309
310
311Definition at line 955 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
312
313\mbox{\Hypertarget{namespacemod__oasis__mpi_a1426590a36b24f1770381b9c35563cff}\label{namespacemod__oasis__mpi_a1426590a36b24f1770381b9c35563cff}} 
314\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+bcastl0@{oasis\+\_\+mpi\+\_\+bcastl0}}
315\index{oasis\+\_\+mpi\+\_\+bcastl0@{oasis\+\_\+mpi\+\_\+bcastl0}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
316\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+bcastl0()}{oasis\_mpi\_bcastl0()}}
317{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+bcastl0 (\begin{DoxyParamCaption}\item[{logical, intent(inout)}]{vec,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in), optional}]{pebcast }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}
318
319
320
321Broadcast a scalar logical.
322
323
324\begin{DoxyParams}[1]{Parameters}
325\mbox{\tt in,out}  & {\em vec} & values to broadcast\\
326\hline
327\mbox{\tt in}  & {\em comm} & mpi communicator\\
328\hline
329\mbox{\tt in}  & {\em string} & to identify caller\\
330\hline
331\mbox{\tt in}  & {\em pebcast} & bcast pe, default is task 0 \\
332\hline
333\end{DoxyParams}
334
335
336Definition at line 617 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
337
338\mbox{\Hypertarget{namespacemod__oasis__mpi_a8b03787549fba5faff499c946d521db0}\label{namespacemod__oasis__mpi_a8b03787549fba5faff499c946d521db0}} 
339\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+bcastl1@{oasis\+\_\+mpi\+\_\+bcastl1}}
340\index{oasis\+\_\+mpi\+\_\+bcastl1@{oasis\+\_\+mpi\+\_\+bcastl1}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
341\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+bcastl1()}{oasis\_mpi\_bcastl1()}}
342{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+bcastl1 (\begin{DoxyParamCaption}\item[{logical, dimension(\+:), intent(inout)}]{vec,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in), optional}]{pebcast }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}
343
344
345
346Broadcast an array of 1D logicals.
347
348
349\begin{DoxyParams}[1]{Parameters}
350\mbox{\tt in,out}  & {\em vec} & values to broadcast\\
351\hline
352\mbox{\tt in}  & {\em comm} & mpi communicator\\
353\hline
354\mbox{\tt in}  & {\em string} & to identify caller\\
355\hline
356\mbox{\tt in}  & {\em pebcast} & bcast pe, default is task 0 \\
357\hline
358\end{DoxyParams}
359
360
361Definition at line 827 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
362
363\mbox{\Hypertarget{namespacemod__oasis__mpi_a3b21bebef1b56b31bd6d07e83d7a59a6}\label{namespacemod__oasis__mpi_a3b21bebef1b56b31bd6d07e83d7a59a6}} 
364\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+bcastr0@{oasis\+\_\+mpi\+\_\+bcastr0}}
365\index{oasis\+\_\+mpi\+\_\+bcastr0@{oasis\+\_\+mpi\+\_\+bcastr0}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
366\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+bcastr0()}{oasis\_mpi\_bcastr0()}}
367{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+bcastr0 (\begin{DoxyParamCaption}\item[{real(ip\+\_\+double\+\_\+p), intent(inout)}]{vec,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in), optional}]{pebcast }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}
368
369
370
371Broadcast a scalar double.
372
373
374\begin{DoxyParams}[1]{Parameters}
375\mbox{\tt in,out}  & {\em vec} & values to broadcast\\
376\hline
377\mbox{\tt in}  & {\em comm} & mpi communicator\\
378\hline
379\mbox{\tt in}  & {\em string} & to identify caller\\
380\hline
381\mbox{\tt in}  & {\em pebcast} & bcast pe, default is task 0 \\
382\hline
383\end{DoxyParams}
384
385
386Definition at line 743 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
387
388\mbox{\Hypertarget{namespacemod__oasis__mpi_a6f12178b027ff30cb87f9f8313b459d5}\label{namespacemod__oasis__mpi_a6f12178b027ff30cb87f9f8313b459d5}} 
389\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+bcastr1@{oasis\+\_\+mpi\+\_\+bcastr1}}
390\index{oasis\+\_\+mpi\+\_\+bcastr1@{oasis\+\_\+mpi\+\_\+bcastr1}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
391\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+bcastr1()}{oasis\_mpi\_bcastr1()}}
392{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+bcastr1 (\begin{DoxyParamCaption}\item[{real(ip\+\_\+double\+\_\+p), dimension(\+:), intent(inout)}]{vec,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in), optional}]{pebcast }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}
393
394
395
396Broadcast an array of 1D doubles.
397
398
399\begin{DoxyParams}[1]{Parameters}
400\mbox{\tt in,out}  & {\em vec} & values to broadcast\\
401\hline
402\mbox{\tt in}  & {\em comm} & mpi communicator\\
403\hline
404\mbox{\tt in}  & {\em string} & to identify caller\\
405\hline
406\mbox{\tt in}  & {\em pebcast} & bcast pe, default is task 0 \\
407\hline
408\end{DoxyParams}
409
410
411Definition at line 869 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
412
413\mbox{\Hypertarget{namespacemod__oasis__mpi_ab14018fe59cd737067e4f4202a3eeb39}\label{namespacemod__oasis__mpi_ab14018fe59cd737067e4f4202a3eeb39}} 
414\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+bcastr2@{oasis\+\_\+mpi\+\_\+bcastr2}}
415\index{oasis\+\_\+mpi\+\_\+bcastr2@{oasis\+\_\+mpi\+\_\+bcastr2}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
416\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+bcastr2()}{oasis\_mpi\_bcastr2()}}
417{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+bcastr2 (\begin{DoxyParamCaption}\item[{real(ip\+\_\+double\+\_\+p), dimension(\+:,\+:), intent(inout)}]{arr,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in), optional}]{pebcast }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}
418
419
420
421Broadcast an array of 2D doubles.
422
423
424\begin{DoxyParams}[1]{Parameters}
425\mbox{\tt in,out}  & {\em arr} & values to broadcast\\
426\hline
427\mbox{\tt in}  & {\em comm} & mpi communicator\\
428\hline
429\mbox{\tt in}  & {\em string} & to identify caller\\
430\hline
431\mbox{\tt in}  & {\em pebcast} & bcast pe, default is task 0 \\
432\hline
433\end{DoxyParams}
434
435
436Definition at line 911 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
437
438\mbox{\Hypertarget{namespacemod__oasis__mpi_ac01edbda3e33b1feff9b797f83f82e8c}\label{namespacemod__oasis__mpi_ac01edbda3e33b1feff9b797f83f82e8c}} 
439\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+bcastr3@{oasis\+\_\+mpi\+\_\+bcastr3}}
440\index{oasis\+\_\+mpi\+\_\+bcastr3@{oasis\+\_\+mpi\+\_\+bcastr3}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
441\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+bcastr3()}{oasis\_mpi\_bcastr3()}}
442{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+bcastr3 (\begin{DoxyParamCaption}\item[{real(ip\+\_\+double\+\_\+p), dimension(\+:,\+:,\+:), intent(inout)}]{arr,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in), optional}]{pebcast }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}
443
444
445
446Broadcast an array of 3D doubles.
447
448
449\begin{DoxyParams}[1]{Parameters}
450\mbox{\tt in,out}  & {\em arr} & values to broadcast\\
451\hline
452\mbox{\tt in}  & {\em comm} & mpi communicator\\
453\hline
454\mbox{\tt in}  & {\em string} & to identify caller\\
455\hline
456\mbox{\tt in}  & {\em pebcast} & bcast pe, default is task 0 \\
457\hline
458\end{DoxyParams}
459
460
461Definition at line 999 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
462
463\mbox{\Hypertarget{namespacemod__oasis__mpi_a15ba68764a1f4dd07d403e46afae824c}\label{namespacemod__oasis__mpi_a15ba68764a1f4dd07d403e46afae824c}} 
464\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+chkerr@{oasis\+\_\+mpi\+\_\+chkerr}}
465\index{oasis\+\_\+mpi\+\_\+chkerr@{oasis\+\_\+mpi\+\_\+chkerr}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
466\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+chkerr()}{oasis\_mpi\_chkerr()}}
467{\footnotesize\ttfamily subroutine, public mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+chkerr (\begin{DoxyParamCaption}\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{rcode,  }\item[{character($\ast$), intent(in)}]{string }\end{DoxyParamCaption})}
468
469
470
471Checks M\+PI error codes and aborts.
472
473This method compares rcode to M\+P\+I\+\_\+\+S\+U\+C\+C\+E\+SS. If rcode is an error, it queries M\+P\+I\+\_\+\+E\+R\+R\+O\+R\+\_\+\+S\+T\+R\+I\+NG for the error string associated with rcode, writes it out, and aborts with the string passed through the interface.
474
475
476\begin{DoxyParams}[1]{Parameters}
477\mbox{\tt in}  & {\em rcode} & M\+PI error code\\
478\hline
479\mbox{\tt in}  & {\em string} & abort message \\
480\hline
481\end{DoxyParams}
482
483
484Definition at line 135 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
485
486\mbox{\Hypertarget{namespacemod__oasis__mpi_a2690a841a331f4398cc4b5a244bbc52e}\label{namespacemod__oasis__mpi_a2690a841a331f4398cc4b5a244bbc52e}} 
487\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+commrank@{oasis\+\_\+mpi\+\_\+commrank}}
488\index{oasis\+\_\+mpi\+\_\+commrank@{oasis\+\_\+mpi\+\_\+commrank}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
489\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+commrank()}{oasis\_mpi\_commrank()}}
490{\footnotesize\ttfamily subroutine, public mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+commrank (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{comm,  }\item[{integer, intent(out)}]{rank,  }\item[{character($\ast$), intent(in), optional}]{string }\end{DoxyParamCaption})}
491
492
493
494Get the rank (task ID) for a task in a communicator.
495
496
497\begin{DoxyParams}[1]{Parameters}
498\mbox{\tt in}  & {\em comm} & mpi communicator\\
499\hline
500\mbox{\tt out}  & {\em rank} & output task ID\\
501\hline
502\mbox{\tt in}  & {\em string} & to identify caller \\
503\hline
504\end{DoxyParams}
505
506
507Definition at line 2558 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
508
509\mbox{\Hypertarget{namespacemod__oasis__mpi_adac784196d7af85611752214137dd4db}\label{namespacemod__oasis__mpi_adac784196d7af85611752214137dd4db}} 
510\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+commsize@{oasis\+\_\+mpi\+\_\+commsize}}
511\index{oasis\+\_\+mpi\+\_\+commsize@{oasis\+\_\+mpi\+\_\+commsize}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
512\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+commsize()}{oasis\_mpi\_commsize()}}
513{\footnotesize\ttfamily subroutine, public mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+commsize (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{comm,  }\item[{integer, intent(out)}]{size,  }\item[{character($\ast$), intent(in), optional}]{string }\end{DoxyParamCaption})}
514
515
516
517Get the total number of tasks associated with a communicator.
518
519
520\begin{DoxyParams}[1]{Parameters}
521\mbox{\tt in}  & {\em comm} & mpi communicator\\
522\hline
523\mbox{\tt out}  & {\em size} & output comm size\\
524\hline
525\mbox{\tt in}  & {\em string} & to identify caller \\
526\hline
527\end{DoxyParams}
528
529
530Definition at line 2523 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
531
532\mbox{\Hypertarget{namespacemod__oasis__mpi_a0a601a3f718c0704db99a21b2c43fbcd}\label{namespacemod__oasis__mpi_a0a601a3f718c0704db99a21b2c43fbcd}} 
533\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+finalize@{oasis\+\_\+mpi\+\_\+finalize}}
534\index{oasis\+\_\+mpi\+\_\+finalize@{oasis\+\_\+mpi\+\_\+finalize}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
535\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+finalize()}{oasis\_mpi\_finalize()}}
536{\footnotesize\ttfamily subroutine, public mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+finalize (\begin{DoxyParamCaption}\item[{character($\ast$), intent(in), optional}]{string }\end{DoxyParamCaption})}
537
538
539
540Call M\+P\+I\+\_\+\+F\+I\+N\+A\+L\+ZE.
541
542
543\begin{DoxyParams}[1]{Parameters}
544\mbox{\tt in}  & {\em string} & to identify caller \\
545\hline
546\end{DoxyParams}
547
548
549Definition at line 2764 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
550
551\mbox{\Hypertarget{namespacemod__oasis__mpi_a88a13ea3b4f96074669fdc872fe41728}\label{namespacemod__oasis__mpi_a88a13ea3b4f96074669fdc872fe41728}} 
552\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+gathervr1@{oasis\+\_\+mpi\+\_\+gathervr1}}
553\index{oasis\+\_\+mpi\+\_\+gathervr1@{oasis\+\_\+mpi\+\_\+gathervr1}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
554\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+gathervr1()}{oasis\_mpi\_gathervr1()}}
555{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+gathervr1 (\begin{DoxyParamCaption}\item[{real(ip\+\_\+double\+\_\+p), dimension(\+:), intent(in)}]{locarr,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{loc\+Size,  }\item[{real(ip\+\_\+double\+\_\+p), dimension(\+:), intent(inout)}]{glob1\+D\+Arr,  }\item[{integer(ip\+\_\+i4\+\_\+p), dimension(\+:), intent(in)}]{glob\+Size,  }\item[{integer(ip\+\_\+i4\+\_\+p), dimension(\+:), intent(in)}]{displs,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{rootid,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}
556
557
558
559Gather a vector of distributed data to a rootid.
560
561This method passes in glob1\+D\+Arr, glob\+Size, and displs computed in the \hyperlink{interfacemod__oasis__mpi_1_1oasis__mpi__gathscatvinit}{oasis\+\_\+mpi\+\_\+gathscatvinit} routine and uses that information to gather the loc\+Arr into the glob1\+Darr on processor rootid in communicator comm.
562
563
564\begin{DoxyParams}[1]{Parameters}
565\mbox{\tt in}  & {\em locarr} & Local array\\
566\hline
567\mbox{\tt in,out}  & {\em glob1darr} & Global 1D array to receive in on\\
568\hline
569\mbox{\tt in}  & {\em locsize} & Number to send from this PE\\
570\hline
571\mbox{\tt in}  & {\em globsize} & Number to receive from each PE\\
572\hline
573\mbox{\tt in}  & {\em displs} & Displacements for receives\\
574\hline
575\mbox{\tt in}  & {\em rootid} & M\+PI task to gather on\\
576\hline
577\mbox{\tt in}  & {\em comm} & mpi communicator\\
578\hline
579\mbox{\tt in}  & {\em string} & to identify caller \\
580\hline
581\end{DoxyParams}
582
583
584Definition at line 1142 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
585
586\mbox{\Hypertarget{namespacemod__oasis__mpi_a68afb4ab4136545faeaa2c37a1eb294a}\label{namespacemod__oasis__mpi_a68afb4ab4136545faeaa2c37a1eb294a}} 
587\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+gathscatvinitr1@{oasis\+\_\+mpi\+\_\+gathscatvinitr1}}
588\index{oasis\+\_\+mpi\+\_\+gathscatvinitr1@{oasis\+\_\+mpi\+\_\+gathscatvinitr1}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
589\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+gathscatvinitr1()}{oasis\_mpi\_gathscatvinitr1()}}
590{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+gathscatvinitr1 (\begin{DoxyParamCaption}\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{rootid,  }\item[{real(ip\+\_\+double\+\_\+p), dimension(\+:), intent(in)}]{loc\+Arr,  }\item[{real(ip\+\_\+double\+\_\+p), dimension(\+:), pointer}]{glob1\+D\+Arr,  }\item[{integer(ip\+\_\+i4\+\_\+p), dimension(\+:), pointer}]{glob\+Size,  }\item[{integer(ip\+\_\+i4\+\_\+p), dimension(\+:), pointer}]{displs,  }\item[{character($\ast$), intent(in), optional}]{string }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}
591
592
593
594Initialize variables for \hyperlink{interfacemod__oasis__mpi_1_1oasis__mpi__gatherv}{oasis\+\_\+mpi\+\_\+gatherv} and \hyperlink{interfacemod__oasis__mpi_1_1oasis__mpi__scatterv}{oasis\+\_\+mpi\+\_\+scatterv}.
595
596This method initializes glob1\+D\+Arr, glob\+Size, and displs for use in the \hyperlink{interfacemod__oasis__mpi_1_1oasis__mpi__gatherv}{oasis\+\_\+mpi\+\_\+gatherv} and \hyperlink{interfacemod__oasis__mpi_1_1oasis__mpi__scatterv}{oasis\+\_\+mpi\+\_\+scatterv} routines. loc\+Arr is the distributed array to gather from or scatter to.
597
598
599\begin{DoxyParams}[1]{Parameters}
600\mbox{\tt in}  & {\em comm} & mpi communicator\\
601\hline
602\mbox{\tt in}  & {\em rootid} & M\+PI task to gather/scatter on\\
603\hline
604\mbox{\tt in}  & {\em locarr} & Local array of distributed data\\
605\hline
606 & {\em glob1darr} & Global 1D array of gathered data\\
607\hline
608 & {\em globsize} & Size of each distributed piece\\
609\hline
610 & {\em displs} & Displacements for receive\\
611\hline
612\mbox{\tt in}  & {\em string} & to identify caller \\
613\hline
614\end{DoxyParams}
615
616
617Definition at line 1048 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
618
619\mbox{\Hypertarget{namespacemod__oasis__mpi_aaf45f20e0000b32e71ec9ea8e806f57c}\label{namespacemod__oasis__mpi_aaf45f20e0000b32e71ec9ea8e806f57c}} 
620\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+init@{oasis\+\_\+mpi\+\_\+init}}
621\index{oasis\+\_\+mpi\+\_\+init@{oasis\+\_\+mpi\+\_\+init}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
622\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+init()}{oasis\_mpi\_init()}}
623{\footnotesize\ttfamily subroutine, public mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+init (\begin{DoxyParamCaption}\item[{character($\ast$), intent(in), optional}]{string }\end{DoxyParamCaption})}
624
625
626
627Call M\+P\+I\+\_\+\+I\+N\+IT.
628
629
630\begin{DoxyParams}[1]{Parameters}
631\mbox{\tt in}  & {\em string} & to identify caller \\
632\hline
633\end{DoxyParams}
634
635
636Definition at line 2731 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
637
638\mbox{\Hypertarget{namespacemod__oasis__mpi_a384f170e63ac03f25d3bd549245b43f3}\label{namespacemod__oasis__mpi_a384f170e63ac03f25d3bd549245b43f3}} 
639\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+initialized@{oasis\+\_\+mpi\+\_\+initialized}}
640\index{oasis\+\_\+mpi\+\_\+initialized@{oasis\+\_\+mpi\+\_\+initialized}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
641\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+initialized()}{oasis\_mpi\_initialized()}}
642{\footnotesize\ttfamily subroutine, public mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+initialized (\begin{DoxyParamCaption}\item[{logical, intent(out)}]{flag,  }\item[{character($\ast$), intent(in), optional}]{string }\end{DoxyParamCaption})}
643
644
645
646Check whether M\+PI has been initialized.
647
648
649\begin{DoxyParams}[1]{Parameters}
650\mbox{\tt out}  & {\em flag} & true if M\+P\+I\+\_\+\+I\+N\+I\+T\+I\+A\+L\+I\+Z\+ED has been called\\
651\hline
652\mbox{\tt in}  & {\em string} & to identify caller \\
653\hline
654\end{DoxyParams}
655
656
657Definition at line 2593 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
658
659\mbox{\Hypertarget{namespacemod__oasis__mpi_a0b469347d40c78c317042fa069d9baa5}\label{namespacemod__oasis__mpi_a0b469347d40c78c317042fa069d9baa5}} 
660\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+maxi0@{oasis\+\_\+mpi\+\_\+maxi0}}
661\index{oasis\+\_\+mpi\+\_\+maxi0@{oasis\+\_\+mpi\+\_\+maxi0}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
662\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+maxi0()}{oasis\_mpi\_maxi0()}}
663{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+maxi0 (\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]}}
664
665
666
667Compute a global maximum for a scalar integer.
668
669
670\begin{DoxyParams}[1]{Parameters}
671\mbox{\tt in}  & {\em lvec} & local values\\
672\hline
673\mbox{\tt out}  & {\em gvec} & global values\\
674\hline
675\mbox{\tt in}  & {\em comm} & mpi communicator\\
676\hline
677\mbox{\tt in}  & {\em string} & to identify caller\\
678\hline
679\mbox{\tt in}  & {\em all} & if true call allreduce, otherwise reduce to task 0 \\
680\hline
681\end{DoxyParams}
682
683
684Definition at line 2271 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
685
686\mbox{\Hypertarget{namespacemod__oasis__mpi_a2ba8d76b016ddde4013aecc2ca0b1d9f}\label{namespacemod__oasis__mpi_a2ba8d76b016ddde4013aecc2ca0b1d9f}} 
687\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+maxi1@{oasis\+\_\+mpi\+\_\+maxi1}}
688\index{oasis\+\_\+mpi\+\_\+maxi1@{oasis\+\_\+mpi\+\_\+maxi1}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
689\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+maxi1()}{oasis\_mpi\_maxi1()}}
690{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+maxi1 (\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]}}
691
692
693
694Compute an array of global maximums for an array of 1D integers.
695
696
697\begin{DoxyParams}[1]{Parameters}
698\mbox{\tt in}  & {\em lvec} & local values\\
699\hline
700\mbox{\tt out}  & {\em gvec} & global values\\
701\hline
702\mbox{\tt in}  & {\em comm} & mpi communicator\\
703\hline
704\mbox{\tt in}  & {\em string} & to identify caller\\
705\hline
706\mbox{\tt in}  & {\em all} & if true call allreduce, otherwise reduce to task 0 \\
707\hline
708\end{DoxyParams}
709
710
711Definition at line 2334 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
712
713\mbox{\Hypertarget{namespacemod__oasis__mpi_a7f46e23956ff948e039c5c1cdde0f6f3}\label{namespacemod__oasis__mpi_a7f46e23956ff948e039c5c1cdde0f6f3}} 
714\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+maxr0@{oasis\+\_\+mpi\+\_\+maxr0}}
715\index{oasis\+\_\+mpi\+\_\+maxr0@{oasis\+\_\+mpi\+\_\+maxr0}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
716\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+maxr0()}{oasis\_mpi\_maxr0()}}
717{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+maxr0 (\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]}}
718
719
720
721Compute a global maximum for a scalar double.
722
723
724\begin{DoxyParams}[1]{Parameters}
725\mbox{\tt in}  & {\em lvec} & local values\\
726\hline
727\mbox{\tt out}  & {\em gvec} & global values\\
728\hline
729\mbox{\tt in}  & {\em comm} & mpi communicator\\
730\hline
731\mbox{\tt in}  & {\em string} & to identify caller\\
732\hline
733\mbox{\tt in}  & {\em all} & if true call allreduce, otherwise reduce to task 0 \\
734\hline
735\end{DoxyParams}
736
737
738Definition at line 2397 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
739
740\mbox{\Hypertarget{namespacemod__oasis__mpi_ae57151fc4714e33d7e0e1cf0aa65ae64}\label{namespacemod__oasis__mpi_ae57151fc4714e33d7e0e1cf0aa65ae64}} 
741\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+maxr1@{oasis\+\_\+mpi\+\_\+maxr1}}
742\index{oasis\+\_\+mpi\+\_\+maxr1@{oasis\+\_\+mpi\+\_\+maxr1}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
743\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+maxr1()}{oasis\_mpi\_maxr1()}}
744{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+maxr1 (\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]}}
745
746
747
748Compute an array of global maximums for an array of 1D doubles.
749
750
751\begin{DoxyParams}[1]{Parameters}
752\mbox{\tt in}  & {\em lvec} & local values\\
753\hline
754\mbox{\tt out}  & {\em gvec} & global values\\
755\hline
756\mbox{\tt in}  & {\em comm} & mpi communicator\\
757\hline
758\mbox{\tt in}  & {\em string} & to identify caller\\
759\hline
760\mbox{\tt in}  & {\em all} & if true call allreduce, otherwise reduce to task 0 \\
761\hline
762\end{DoxyParams}
763
764
765Definition at line 2460 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
766
767\mbox{\Hypertarget{namespacemod__oasis__mpi_a2832568cd4d34db40cdcc39ffa876474}\label{namespacemod__oasis__mpi_a2832568cd4d34db40cdcc39ffa876474}} 
768\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+mini0@{oasis\+\_\+mpi\+\_\+mini0}}
769\index{oasis\+\_\+mpi\+\_\+mini0@{oasis\+\_\+mpi\+\_\+mini0}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
770\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+mini0()}{oasis\_mpi\_mini0()}}
771{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+mini0 (\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]}}
772
773
774
775Compute a global minimum for a scalar integer.
776
777
778\begin{DoxyParams}[1]{Parameters}
779\mbox{\tt in}  & {\em lvec} & local values\\
780\hline
781\mbox{\tt out}  & {\em gvec} & global values\\
782\hline
783\mbox{\tt in}  & {\em comm} & mpi communicator\\
784\hline
785\mbox{\tt in}  & {\em string} & to identify caller\\
786\hline
787\mbox{\tt in}  & {\em all} & if true call allreduce, otherwise reduce to task 0 \\
788\hline
789\end{DoxyParams}
790
791
792Definition at line 2019 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
793
794\mbox{\Hypertarget{namespacemod__oasis__mpi_aed0c20d56fdab764f0ad8e48e3a7209f}\label{namespacemod__oasis__mpi_aed0c20d56fdab764f0ad8e48e3a7209f}} 
795\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+mini1@{oasis\+\_\+mpi\+\_\+mini1}}
796\index{oasis\+\_\+mpi\+\_\+mini1@{oasis\+\_\+mpi\+\_\+mini1}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
797\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+mini1()}{oasis\_mpi\_mini1()}}
798{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+mini1 (\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]}}
799
800
801
802Compute an array of global minimums for an array of 1D integers.
803
804
805\begin{DoxyParams}[1]{Parameters}
806\mbox{\tt in}  & {\em lvec} & local values\\
807\hline
808\mbox{\tt out}  & {\em gvec} & global values\\
809\hline
810\mbox{\tt in}  & {\em comm} & mpi communicator\\
811\hline
812\mbox{\tt in}  & {\em string} & to identify caller\\
813\hline
814\mbox{\tt in}  & {\em all} & if true call allreduce, otherwise reduce to task 0 \\
815\hline
816\end{DoxyParams}
817
818
819Definition at line 2082 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
820
821\mbox{\Hypertarget{namespacemod__oasis__mpi_af3628ad005b1a21e8f33e3dc2be38635}\label{namespacemod__oasis__mpi_af3628ad005b1a21e8f33e3dc2be38635}} 
822\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+minr0@{oasis\+\_\+mpi\+\_\+minr0}}
823\index{oasis\+\_\+mpi\+\_\+minr0@{oasis\+\_\+mpi\+\_\+minr0}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
824\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+minr0()}{oasis\_mpi\_minr0()}}
825{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+minr0 (\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]}}
826
827
828
829Compute an global minimum for a scalar double.
830
831
832\begin{DoxyParams}[1]{Parameters}
833\mbox{\tt in}  & {\em lvec} & local values\\
834\hline
835\mbox{\tt out}  & {\em gvec} & global values\\
836\hline
837\mbox{\tt in}  & {\em comm} & mpi communicator\\
838\hline
839\mbox{\tt in}  & {\em string} & to identify caller\\
840\hline
841\mbox{\tt in}  & {\em all} & if true call allreduce, otherwise reduce to task 0 \\
842\hline
843\end{DoxyParams}
844
845
846Definition at line 2145 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
847
848\mbox{\Hypertarget{namespacemod__oasis__mpi_a29c460b836ae9ad77ee1ac21f684d188}\label{namespacemod__oasis__mpi_a29c460b836ae9ad77ee1ac21f684d188}} 
849\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+minr1@{oasis\+\_\+mpi\+\_\+minr1}}
850\index{oasis\+\_\+mpi\+\_\+minr1@{oasis\+\_\+mpi\+\_\+minr1}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
851\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+minr1()}{oasis\_mpi\_minr1()}}
852{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+minr1 (\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]}}
853
854
855
856Compute an array of global minimums for an array of 1D doubles.
857
858
859\begin{DoxyParams}[1]{Parameters}
860\mbox{\tt in}  & {\em lvec} & local values\\
861\hline
862\mbox{\tt out}  & {\em gvec} & global values\\
863\hline
864\mbox{\tt in}  & {\em comm} & mpi communicator\\
865\hline
866\mbox{\tt in}  & {\em string} & to identify caller\\
867\hline
868\mbox{\tt in}  & {\em all} & if true call allreduce, otherwise reduce to task 0 \\
869\hline
870\end{DoxyParams}
871
872
873Definition at line 2208 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
874
875\mbox{\Hypertarget{namespacemod__oasis__mpi_ad89796f10a2225d4930cdec65546cf98}\label{namespacemod__oasis__mpi_ad89796f10a2225d4930cdec65546cf98}} 
876\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+recvi0@{oasis\+\_\+mpi\+\_\+recvi0}}
877\index{oasis\+\_\+mpi\+\_\+recvi0@{oasis\+\_\+mpi\+\_\+recvi0}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
878\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+recvi0()}{oasis\_mpi\_recvi0()}}
879{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+recvi0 (\begin{DoxyParamCaption}\item[{integer(ip\+\_\+i4\+\_\+p), intent(out)}]{lvec,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{pid,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{tag,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}
880
881
882
883Receive a scalar integer.
884
885
886\begin{DoxyParams}[1]{Parameters}
887\mbox{\tt out}  & {\em lvec} & receive values\\
888\hline
889\mbox{\tt in}  & {\em pid} & pid to recv from\\
890\hline
891\mbox{\tt in}  & {\em tag} & mpi tag\\
892\hline
893\mbox{\tt in}  & {\em comm} & mpi communicator\\
894\hline
895\mbox{\tt in}  & {\em string} & to identify caller \\
896\hline
897\end{DoxyParams}
898
899
900Definition at line 370 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
901
902\mbox{\Hypertarget{namespacemod__oasis__mpi_acf13ea626ed09fe98123f23d0990879d}\label{namespacemod__oasis__mpi_acf13ea626ed09fe98123f23d0990879d}} 
903\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+recvi1@{oasis\+\_\+mpi\+\_\+recvi1}}
904\index{oasis\+\_\+mpi\+\_\+recvi1@{oasis\+\_\+mpi\+\_\+recvi1}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
905\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+recvi1()}{oasis\_mpi\_recvi1()}}
906{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+recvi1 (\begin{DoxyParamCaption}\item[{integer(ip\+\_\+i4\+\_\+p), dimension(\+:), intent(out)}]{lvec,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{pid,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{tag,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}
907
908
909
910Receive an array of 1D integers.
911
912
913\begin{DoxyParams}[1]{Parameters}
914\mbox{\tt out}  & {\em lvec} & receive values\\
915\hline
916\mbox{\tt in}  & {\em pid} & pid to recv from\\
917\hline
918\mbox{\tt in}  & {\em tag} & mpi tag\\
919\hline
920\mbox{\tt in}  & {\em comm} & mpi communicator\\
921\hline
922\mbox{\tt in}  & {\em string} & to identify caller \\
923\hline
924\end{DoxyParams}
925
926
927Definition at line 411 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
928
929\mbox{\Hypertarget{namespacemod__oasis__mpi_a2578d560c80d608340b5a49b327642ba}\label{namespacemod__oasis__mpi_a2578d560c80d608340b5a49b327642ba}} 
930\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+recvr0@{oasis\+\_\+mpi\+\_\+recvr0}}
931\index{oasis\+\_\+mpi\+\_\+recvr0@{oasis\+\_\+mpi\+\_\+recvr0}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
932\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+recvr0()}{oasis\_mpi\_recvr0()}}
933{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+recvr0 (\begin{DoxyParamCaption}\item[{real(ip\+\_\+double\+\_\+p), intent(out)}]{lvec,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{pid,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{tag,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}
934
935
936
937Receive a scalar double.
938
939
940\begin{DoxyParams}[1]{Parameters}
941\mbox{\tt out}  & {\em lvec} & receive values\\
942\hline
943\mbox{\tt in}  & {\em pid} & pid to recv from\\
944\hline
945\mbox{\tt in}  & {\em tag} & mpi tag\\
946\hline
947\mbox{\tt in}  & {\em comm} & mpi communicator\\
948\hline
949\mbox{\tt in}  & {\em string} & to identify caller \\
950\hline
951\end{DoxyParams}
952
953
954Definition at line 452 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
955
956\mbox{\Hypertarget{namespacemod__oasis__mpi_a2bbd8de453167b4c73aa09c3c44c0ca8}\label{namespacemod__oasis__mpi_a2bbd8de453167b4c73aa09c3c44c0ca8}} 
957\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+recvr1@{oasis\+\_\+mpi\+\_\+recvr1}}
958\index{oasis\+\_\+mpi\+\_\+recvr1@{oasis\+\_\+mpi\+\_\+recvr1}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
959\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+recvr1()}{oasis\_mpi\_recvr1()}}
960{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+recvr1 (\begin{DoxyParamCaption}\item[{real(ip\+\_\+double\+\_\+p), dimension(\+:), intent(out)}]{lvec,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{pid,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{tag,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}
961
962
963
964Receive an array of 1D doubles.
965
966
967\begin{DoxyParams}[1]{Parameters}
968\mbox{\tt out}  & {\em lvec} & receive values\\
969\hline
970\mbox{\tt in}  & {\em pid} & pid to recv from\\
971\hline
972\mbox{\tt in}  & {\em tag} & mpi tag\\
973\hline
974\mbox{\tt in}  & {\em comm} & mpi communicator\\
975\hline
976\mbox{\tt in}  & {\em string} & to identify caller \\
977\hline
978\end{DoxyParams}
979
980
981Definition at line 493 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
982
983\mbox{\Hypertarget{namespacemod__oasis__mpi_a2c3b82d2346a69cd20be3d35c5e70be6}\label{namespacemod__oasis__mpi_a2c3b82d2346a69cd20be3d35c5e70be6}} 
984\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+recvr3@{oasis\+\_\+mpi\+\_\+recvr3}}
985\index{oasis\+\_\+mpi\+\_\+recvr3@{oasis\+\_\+mpi\+\_\+recvr3}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
986\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+recvr3()}{oasis\_mpi\_recvr3()}}
987{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+recvr3 (\begin{DoxyParamCaption}\item[{real(ip\+\_\+double\+\_\+p), dimension(\+:,\+:,\+:), intent(out)}]{array,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{pid,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{tag,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}
988
989
990
991Receive an array of 3D doubles.
992
993
994\begin{DoxyParams}[1]{Parameters}
995\mbox{\tt out}  & {\em array} & receive values\\
996\hline
997\mbox{\tt in}  & {\em pid} & pid to recv from\\
998\hline
999\mbox{\tt in}  & {\em tag} & mpi tag\\
1000\hline
1001\mbox{\tt in}  & {\em comm} & mpi communicator\\
1002\hline
1003\mbox{\tt in}  & {\em string} & to identify caller \\
1004\hline
1005\end{DoxyParams}
1006
1007
1008Definition at line 534 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
1009
1010\mbox{\Hypertarget{namespacemod__oasis__mpi_a95f6540150f7ab4e64697d2eabc2bf79}\label{namespacemod__oasis__mpi_a95f6540150f7ab4e64697d2eabc2bf79}} 
1011\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+reducelists@{oasis\+\_\+mpi\+\_\+reducelists}}
1012\index{oasis\+\_\+mpi\+\_\+reducelists@{oasis\+\_\+mpi\+\_\+reducelists}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
1013\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+reducelists()}{oasis\_mpi\_reducelists()}}
1014{\footnotesize\ttfamily subroutine, public mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+reducelists (\begin{DoxyParamCaption}\item[{character($\ast$), dimension(\+:), intent(in), pointer}]{linp1,  }\item[{integer, intent(in)}]{comm,  }\item[{integer, intent(out)}]{cntout,  }\item[{character($\ast$), dimension(\+:), intent(inout), pointer}]{lout1,  }\item[{character($\ast$), intent(in)}]{callstr,  }\item[{logical, intent(in), optional}]{fastcheck,  }\item[{logical, intent(out), optional}]{fastcheckout,  }\item[{character($\ast$), dimension(\+:), intent(in), optional, pointer}]{linp2,  }\item[{character($\ast$), dimension(\+:), intent(inout), optional, pointer}]{lout2,  }\item[{character($\ast$), intent(in), optional}]{spval2,  }\item[{integer, dimension(\+:), intent(in), optional, pointer}]{linp3,  }\item[{integer, dimension(\+:), intent(inout), optional, pointer}]{lout3,  }\item[{integer, intent(in), optional}]{spval3,  }\item[{integer, dimension(\+:), intent(in), optional, pointer}]{linp4,  }\item[{integer, dimension(\+:), intent(inout), optional, pointer}]{lout4,  }\item[{integer, intent(in), optional}]{spval4 }\end{DoxyParamCaption})}
1015
1016
1017
1018Custom method for reducing M\+PI lists across pes for O\+A\+S\+IS.
1019
1020
1021\begin{DoxyParams}[1]{Parameters}
1022\mbox{\tt in}  & {\em linp1} & input list on each task\\
1023\hline
1024\mbox{\tt in}  & {\em comm} & mpi communicator\\
1025\hline
1026\mbox{\tt out}  & {\em cntout} & size of lout1 list\\
1027\hline
1028\mbox{\tt in,out}  & {\em lout1} & reduced output list, same on all tasks\\
1029\hline
1030\mbox{\tt in}  & {\em callstr} & to identify caller\\
1031\hline
1032\mbox{\tt in}  & {\em fastcheck} & run a fastcheck first\\
1033\hline
1034\mbox{\tt out}  & {\em fastcheckout} & true if fastcheck worked\\
1035\hline
1036\mbox{\tt in}  & {\em linp2} & input list on each task\\
1037\hline
1038\mbox{\tt in,out}  & {\em lout2} & reduced output list, same on all tasks\\
1039\hline
1040\mbox{\tt in}  & {\em spval2} & unset value for linp2\\
1041\hline
1042\mbox{\tt in}  & {\em linp3} & input list on each task\\
1043\hline
1044\mbox{\tt in,out}  & {\em lout3} & reduced output list, same on all tasks\\
1045\hline
1046\mbox{\tt in}  & {\em spval3} & unset value for linp3\\
1047\hline
1048\mbox{\tt in}  & {\em linp4} & input list on each task\\
1049\hline
1050\mbox{\tt in,out}  & {\em lout4} & reduced output list, same on all tasks\\
1051\hline
1052\mbox{\tt in}  & {\em spval4} & unset value for linp4 \\
1053\hline
1054\end{DoxyParams}
1055
1056\begin{DoxyItemize}
1057\item Check argument consistency
1058\item Fast compare on all tasks
1059\item Generate initial unique local name list
1060\item Log2 reduction of linp over tasks to root
1061\begin{DoxyItemize}
1062\item Send list
1063\item Recv list
1064\item Determine the unique list
1065\end{DoxyItemize}
1066\item Broadcast the list information to all tasks from root
1067\end{DoxyItemize}
1068
1069Definition at line 2798 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
1070
1071\mbox{\Hypertarget{namespacemod__oasis__mpi_a9d0d807b92d39c9789eea4744d331612}\label{namespacemod__oasis__mpi_a9d0d807b92d39c9789eea4744d331612}} 
1072\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+scattervr1@{oasis\+\_\+mpi\+\_\+scattervr1}}
1073\index{oasis\+\_\+mpi\+\_\+scattervr1@{oasis\+\_\+mpi\+\_\+scattervr1}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
1074\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+scattervr1()}{oasis\_mpi\_scattervr1()}}
1075{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+scattervr1 (\begin{DoxyParamCaption}\item[{real(ip\+\_\+double\+\_\+p), dimension(\+:), intent(out)}]{locarr,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{loc\+Size,  }\item[{real(ip\+\_\+double\+\_\+p), dimension(\+:), intent(in)}]{glob1\+Darr,  }\item[{integer(ip\+\_\+i4\+\_\+p), dimension(\+:), intent(in)}]{glob\+Size,  }\item[{integer(ip\+\_\+i4\+\_\+p), dimension(\+:), intent(in)}]{displs,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{rootid,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}
1076
1077
1078
1079Scatter a vector of global data from a rootid.
1080
1081This method passes in glob1\+D\+Arr, glob\+Size, and displs computed in the \hyperlink{interfacemod__oasis__mpi_1_1oasis__mpi__gathscatvinit}{oasis\+\_\+mpi\+\_\+gathscatvinit} routine and uses that information to scatter glob1\+Darr on processor rootid in communicator comm to locarr on other processors.
1082
1083
1084\begin{DoxyParams}[1]{Parameters}
1085\mbox{\tt out}  & {\em locarr} & Local array\\
1086\hline
1087\mbox{\tt in}  & {\em glob1darr} & Global 1D array to send from\\
1088\hline
1089\mbox{\tt in}  & {\em locsize} & Number to receive this PE\\
1090\hline
1091\mbox{\tt in}  & {\em globsize} & Number to send to each PE\\
1092\hline
1093\mbox{\tt in}  & {\em displs} & Displacements for send\\
1094\hline
1095\mbox{\tt in}  & {\em rootid} & M\+PI task to scatter on\\
1096\hline
1097\mbox{\tt in}  & {\em comm} & mpi communicator\\
1098\hline
1099\mbox{\tt in}  & {\em string} & to identify caller \\
1100\hline
1101\end{DoxyParams}
1102
1103
1104Definition at line 1191 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
1105
1106\mbox{\Hypertarget{namespacemod__oasis__mpi_aa5078962eee157f52878f711c0a29afb}\label{namespacemod__oasis__mpi_aa5078962eee157f52878f711c0a29afb}} 
1107\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+sendi0@{oasis\+\_\+mpi\+\_\+sendi0}}
1108\index{oasis\+\_\+mpi\+\_\+sendi0@{oasis\+\_\+mpi\+\_\+sendi0}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
1109\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+sendi0()}{oasis\_mpi\_sendi0()}}
1110{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sendi0 (\begin{DoxyParamCaption}\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{lvec,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{pid,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{tag,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}
1111
1112
1113
1114Send a scalar integer.
1115
1116
1117\begin{DoxyParams}[1]{Parameters}
1118\mbox{\tt in}  & {\em lvec} & send value\\
1119\hline
1120\mbox{\tt in}  & {\em pid} & pid to send to\\
1121\hline
1122\mbox{\tt in}  & {\em tag} & mpi tag\\
1123\hline
1124\mbox{\tt in}  & {\em comm} & mpi communicator\\
1125\hline
1126\mbox{\tt in}  & {\em string} & to identify caller \\
1127\hline
1128\end{DoxyParams}
1129
1130
1131Definition at line 170 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
1132
1133\mbox{\Hypertarget{namespacemod__oasis__mpi_aab4cc0d2b50e8e73697e6d88d23b03cd}\label{namespacemod__oasis__mpi_aab4cc0d2b50e8e73697e6d88d23b03cd}} 
1134\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+sendi1@{oasis\+\_\+mpi\+\_\+sendi1}}
1135\index{oasis\+\_\+mpi\+\_\+sendi1@{oasis\+\_\+mpi\+\_\+sendi1}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
1136\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+sendi1()}{oasis\_mpi\_sendi1()}}
1137{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sendi1 (\begin{DoxyParamCaption}\item[{integer(ip\+\_\+i4\+\_\+p), dimension(\+:), intent(in)}]{lvec,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{pid,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{tag,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}
1138
1139
1140
1141Send an array of 1D integers.
1142
1143
1144\begin{DoxyParams}[1]{Parameters}
1145\mbox{\tt in}  & {\em lvec} & send values\\
1146\hline
1147\mbox{\tt in}  & {\em pid} & pid to send to\\
1148\hline
1149\mbox{\tt in}  & {\em tag} & mpi tag\\
1150\hline
1151\mbox{\tt in}  & {\em comm} & mpi communicator\\
1152\hline
1153\mbox{\tt in}  & {\em string} & to identify caller \\
1154\hline
1155\end{DoxyParams}
1156
1157
1158Definition at line 210 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
1159
1160\mbox{\Hypertarget{namespacemod__oasis__mpi_ab38f15fbce57555ea66ccbc1aa477dd1}\label{namespacemod__oasis__mpi_ab38f15fbce57555ea66ccbc1aa477dd1}} 
1161\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+sendr0@{oasis\+\_\+mpi\+\_\+sendr0}}
1162\index{oasis\+\_\+mpi\+\_\+sendr0@{oasis\+\_\+mpi\+\_\+sendr0}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
1163\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+sendr0()}{oasis\_mpi\_sendr0()}}
1164{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sendr0 (\begin{DoxyParamCaption}\item[{real(ip\+\_\+double\+\_\+p), intent(in)}]{lvec,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{pid,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{tag,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}
1165
1166
1167
1168Send a scalar double.
1169
1170
1171\begin{DoxyParams}[1]{Parameters}
1172\mbox{\tt in}  & {\em lvec} & send values\\
1173\hline
1174\mbox{\tt in}  & {\em pid} & pid to send to\\
1175\hline
1176\mbox{\tt in}  & {\em tag} & mpi tag\\
1177\hline
1178\mbox{\tt in}  & {\em comm} & mpi communicator\\
1179\hline
1180\mbox{\tt in}  & {\em string} & to identify caller \\
1181\hline
1182\end{DoxyParams}
1183
1184
1185Definition at line 250 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
1186
1187\mbox{\Hypertarget{namespacemod__oasis__mpi_a948cd001c0955ae19f4b410d4cca9f9b}\label{namespacemod__oasis__mpi_a948cd001c0955ae19f4b410d4cca9f9b}} 
1188\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+sendr1@{oasis\+\_\+mpi\+\_\+sendr1}}
1189\index{oasis\+\_\+mpi\+\_\+sendr1@{oasis\+\_\+mpi\+\_\+sendr1}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
1190\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+sendr1()}{oasis\_mpi\_sendr1()}}
1191{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sendr1 (\begin{DoxyParamCaption}\item[{real(ip\+\_\+double\+\_\+p), dimension(\+:), intent(in)}]{lvec,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{pid,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{tag,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}
1192
1193
1194
1195Send an array of 1D doubles.
1196
1197
1198\begin{DoxyParams}[1]{Parameters}
1199\mbox{\tt in}  & {\em lvec} & send values\\
1200\hline
1201\mbox{\tt in}  & {\em pid} & pid to send to\\
1202\hline
1203\mbox{\tt in}  & {\em tag} & mpi tag\\
1204\hline
1205\mbox{\tt in}  & {\em comm} & mpi communicator\\
1206\hline
1207\mbox{\tt in}  & {\em string} & to identify caller \\
1208\hline
1209\end{DoxyParams}
1210
1211
1212Definition at line 290 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
1213
1214\mbox{\Hypertarget{namespacemod__oasis__mpi_ac8809a8b29b3ffa246612b9c25cd05eb}\label{namespacemod__oasis__mpi_ac8809a8b29b3ffa246612b9c25cd05eb}} 
1215\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+sendr3@{oasis\+\_\+mpi\+\_\+sendr3}}
1216\index{oasis\+\_\+mpi\+\_\+sendr3@{oasis\+\_\+mpi\+\_\+sendr3}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
1217\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+sendr3()}{oasis\_mpi\_sendr3()}}
1218{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+sendr3 (\begin{DoxyParamCaption}\item[{real(ip\+\_\+double\+\_\+p), dimension(\+:,\+:,\+:), intent(in)}]{array,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{pid,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{tag,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{comm,  }\item[{character($\ast$), intent(in), optional}]{string }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}
1219
1220
1221
1222Send an array of 3D doubles.
1223
1224
1225\begin{DoxyParams}[1]{Parameters}
1226\mbox{\tt in}  & {\em array} & send values\\
1227\hline
1228\mbox{\tt in}  & {\em pid} & pid to send to\\
1229\hline
1230\mbox{\tt in}  & {\em tag} & mpi tag\\
1231\hline
1232\mbox{\tt in}  & {\em comm} & mpi communicator\\
1233\hline
1234\mbox{\tt in}  & {\em string} & to identify caller \\
1235\hline
1236\end{DoxyParams}
1237
1238
1239Definition at line 330 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
1240
1241\mbox{\Hypertarget{namespacemod__oasis__mpi_ae4d2818f21f445e594aad97598f49d8e}\label{namespacemod__oasis__mpi_ae4d2818f21f445e594aad97598f49d8e}} 
1242\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+sumb0@{oasis\+\_\+mpi\+\_\+sumb0}}
1243\index{oasis\+\_\+mpi\+\_\+sumb0@{oasis\+\_\+mpi\+\_\+sumb0}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
1244\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+sumb0()}{oasis\_mpi\_sumb0()}}
1245{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::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]}}
1246
1247
1248
1249Compute a global sum for a scalar 8 byte integer.
1250
1251
1252\begin{DoxyParams}[1]{Parameters}
1253\mbox{\tt in}  & {\em lvec} & local values\\
1254\hline
1255\mbox{\tt out}  & {\em gvec} & global values\\
1256\hline
1257\mbox{\tt in}  & {\em comm} & mpi communicator\\
1258\hline
1259\mbox{\tt in}  & {\em string} & to identify caller\\
1260\hline
1261\mbox{\tt in}  & {\em all} & if true call allreduce, otherwise reduce to task 0 \\
1262\hline
1263\end{DoxyParams}
1264
1265
1266Definition at line 1364 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
1267
1268\mbox{\Hypertarget{namespacemod__oasis__mpi_a3f32594b15b9ae3629969839ab952012}\label{namespacemod__oasis__mpi_a3f32594b15b9ae3629969839ab952012}} 
1269\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+sumb1@{oasis\+\_\+mpi\+\_\+sumb1}}
1270\index{oasis\+\_\+mpi\+\_\+sumb1@{oasis\+\_\+mpi\+\_\+sumb1}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
1271\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+sumb1()}{oasis\_mpi\_sumb1()}}
1272{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::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]}}
1273
1274
1275
1276Compute a 1D array of global sums for an array of 1D 8 byte integers.
1277
1278This sums an array of local integers to an array of summed integers. This does not reduce the array to a scalar.
1279
1280
1281\begin{DoxyParams}[1]{Parameters}
1282\mbox{\tt in}  & {\em lvec} & local values\\
1283\hline
1284\mbox{\tt out}  & {\em gvec} & global values\\
1285\hline
1286\mbox{\tt in}  & {\em comm} & mpi communicator\\
1287\hline
1288\mbox{\tt in}  & {\em string} & to identify caller\\
1289\hline
1290\mbox{\tt in}  & {\em all} & if true call allreduce, otherwise reduce to task 0 \\
1291\hline
1292\end{DoxyParams}
1293
1294
1295Definition at line 1430 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
1296
1297\mbox{\Hypertarget{namespacemod__oasis__mpi_adbb3963310e45ac012e5e28f13d5781e}\label{namespacemod__oasis__mpi_adbb3963310e45ac012e5e28f13d5781e}} 
1298\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+sumi0@{oasis\+\_\+mpi\+\_\+sumi0}}
1299\index{oasis\+\_\+mpi\+\_\+sumi0@{oasis\+\_\+mpi\+\_\+sumi0}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
1300\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+sumi0()}{oasis\_mpi\_sumi0()}}
1301{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::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]}}
1302
1303
1304
1305Compute a global Sum for a scalar integer.
1306
1307
1308\begin{DoxyParams}[1]{Parameters}
1309\mbox{\tt in}  & {\em lvec} & local values\\
1310\hline
1311\mbox{\tt out}  & {\em gvec} & global values\\
1312\hline
1313\mbox{\tt in}  & {\em comm} & mpi communicator\\
1314\hline
1315\mbox{\tt in}  & {\em string} & to identify caller\\
1316\hline
1317\mbox{\tt in}  & {\em all} & if true call allreduce, otherwise reduce to task 0 \\
1318\hline
1319\end{DoxyParams}
1320
1321
1322Definition at line 1235 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
1323
1324\mbox{\Hypertarget{namespacemod__oasis__mpi_a507bb5e0ae088d68bb68c566e8965bef}\label{namespacemod__oasis__mpi_a507bb5e0ae088d68bb68c566e8965bef}} 
1325\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+sumi1@{oasis\+\_\+mpi\+\_\+sumi1}}
1326\index{oasis\+\_\+mpi\+\_\+sumi1@{oasis\+\_\+mpi\+\_\+sumi1}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
1327\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+sumi1()}{oasis\_mpi\_sumi1()}}
1328{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::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]}}
1329
1330
1331
1332Compute a 1D array of global sums for an array of 1D integers.
1333
1334This sums an array of local integers to an array of summed integers. This does not reduce the array to a scalar.
1335
1336
1337\begin{DoxyParams}[1]{Parameters}
1338\mbox{\tt in}  & {\em lvec} & local values\\
1339\hline
1340\mbox{\tt out}  & {\em gvec} & global values\\
1341\hline
1342\mbox{\tt in}  & {\em comm} & mpi communicator\\
1343\hline
1344\mbox{\tt in}  & {\em string} & to identify caller\\
1345\hline
1346\mbox{\tt in}  & {\em all} & if true call allreduce, otherwise reduce to task 0 \\
1347\hline
1348\end{DoxyParams}
1349
1350
1351Definition at line 1301 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
1352
1353\mbox{\Hypertarget{namespacemod__oasis__mpi_a2901cf7eaf807b4df7bd82aefadfeed9}\label{namespacemod__oasis__mpi_a2901cf7eaf807b4df7bd82aefadfeed9}} 
1354\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+sumq0@{oasis\+\_\+mpi\+\_\+sumq0}}
1355\index{oasis\+\_\+mpi\+\_\+sumq0@{oasis\+\_\+mpi\+\_\+sumq0}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
1356\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+sumq0()}{oasis\_mpi\_sumq0()}}
1357{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::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]}}
1358
1359
1360
1361Compute a global sum for a scalar quad.
1362
1363
1364\begin{DoxyParams}[1]{Parameters}
1365\mbox{\tt in}  & {\em lvec} & local values\\
1366\hline
1367\mbox{\tt out}  & {\em gvec} & global values\\
1368\hline
1369\mbox{\tt in}  & {\em comm} & mpi communicator\\
1370\hline
1371\mbox{\tt in}  & {\em string} & to identify caller\\
1372\hline
1373\mbox{\tt in}  & {\em all} & if true call allreduce, otherwise reduce to task 0 \\
1374\hline
1375\end{DoxyParams}
1376
1377
1378Definition at line 1756 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
1379
1380\mbox{\Hypertarget{namespacemod__oasis__mpi_a4a81062f1345805cdd828552272670c8}\label{namespacemod__oasis__mpi_a4a81062f1345805cdd828552272670c8}} 
1381\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+sumq1@{oasis\+\_\+mpi\+\_\+sumq1}}
1382\index{oasis\+\_\+mpi\+\_\+sumq1@{oasis\+\_\+mpi\+\_\+sumq1}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
1383\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+sumq1()}{oasis\_mpi\_sumq1()}}
1384{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::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]}}
1385
1386
1387
1388Compute a 1D array of global sums for an array of 1D quads.
1389
1390This sums an array of local quads to an array of summed quads. This does not reduce the array to a scalar.
1391
1392
1393\begin{DoxyParams}[1]{Parameters}
1394\mbox{\tt in}  & {\em lvec} & local values\\
1395\hline
1396\mbox{\tt out}  & {\em gvec} & global values\\
1397\hline
1398\mbox{\tt in}  & {\em comm} & mpi communicator\\
1399\hline
1400\mbox{\tt in}  & {\em string} & to identify caller\\
1401\hline
1402\mbox{\tt in}  & {\em all} & if true call allreduce, otherwise reduce to task 0 \\
1403\hline
1404\end{DoxyParams}
1405
1406
1407Definition at line 1822 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
1408
1409\mbox{\Hypertarget{namespacemod__oasis__mpi_aa9a5264e64523ff85ffb37ddc3b405ae}\label{namespacemod__oasis__mpi_aa9a5264e64523ff85ffb37ddc3b405ae}} 
1410\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+sumq2@{oasis\+\_\+mpi\+\_\+sumq2}}
1411\index{oasis\+\_\+mpi\+\_\+sumq2@{oasis\+\_\+mpi\+\_\+sumq2}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
1412\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+sumq2()}{oasis\_mpi\_sumq2()}}
1413{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::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]}}
1414
1415
1416
1417Compute a 2D array of global sums for an array of 2D quads.
1418
1419This sums an array of local quads to an array of summed quads. This does not reduce the array to a scalar.
1420
1421
1422\begin{DoxyParams}[1]{Parameters}
1423\mbox{\tt in}  & {\em lvec} & local values\\
1424\hline
1425\mbox{\tt out}  & {\em gvec} & global values\\
1426\hline
1427\mbox{\tt in}  & {\em comm} & mpi communicator\\
1428\hline
1429\mbox{\tt in}  & {\em string} & to identify caller\\
1430\hline
1431\mbox{\tt in}  & {\em all} & if true call allreduce, otherwise reduce to task 0 \\
1432\hline
1433\end{DoxyParams}
1434
1435
1436Definition at line 1888 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
1437
1438\mbox{\Hypertarget{namespacemod__oasis__mpi_a3f989a76dbe1896764d73ffea933130d}\label{namespacemod__oasis__mpi_a3f989a76dbe1896764d73ffea933130d}} 
1439\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+sumq3@{oasis\+\_\+mpi\+\_\+sumq3}}
1440\index{oasis\+\_\+mpi\+\_\+sumq3@{oasis\+\_\+mpi\+\_\+sumq3}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
1441\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+sumq3()}{oasis\_mpi\_sumq3()}}
1442{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::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]}}
1443
1444
1445
1446Compute a 3D array of global sums for an array of 3D quads.
1447
1448This sums an array of local quads to an array of summed quads. This does not reduce the array to a scalar.
1449
1450
1451\begin{DoxyParams}[1]{Parameters}
1452\mbox{\tt in}  & {\em lvec} & local values\\
1453\hline
1454\mbox{\tt out}  & {\em gvec} & global values\\
1455\hline
1456\mbox{\tt in}  & {\em comm} & mpi communicator\\
1457\hline
1458\mbox{\tt in}  & {\em string} & to identify caller\\
1459\hline
1460\mbox{\tt in}  & {\em all} & if true call allreduce, otherwise reduce to task 0 \\
1461\hline
1462\end{DoxyParams}
1463
1464
1465Definition at line 1954 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
1466
1467\mbox{\Hypertarget{namespacemod__oasis__mpi_a02b0555479a3d54e1c3d42219af9b991}\label{namespacemod__oasis__mpi_a02b0555479a3d54e1c3d42219af9b991}} 
1468\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+sumr0@{oasis\+\_\+mpi\+\_\+sumr0}}
1469\index{oasis\+\_\+mpi\+\_\+sumr0@{oasis\+\_\+mpi\+\_\+sumr0}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
1470\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+sumr0()}{oasis\_mpi\_sumr0()}}
1471{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::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]}}
1472
1473
1474
1475Compute a global sum for a scalar double.
1476
1477
1478\begin{DoxyParams}[1]{Parameters}
1479\mbox{\tt in}  & {\em lvec} & local values\\
1480\hline
1481\mbox{\tt out}  & {\em gvec} & global values\\
1482\hline
1483\mbox{\tt in}  & {\em comm} & mpi communicator\\
1484\hline
1485\mbox{\tt in}  & {\em string} & to identify caller\\
1486\hline
1487\mbox{\tt in}  & {\em all} & if true call allreduce, otherwise reduce to task 0 \\
1488\hline
1489\end{DoxyParams}
1490
1491
1492Definition at line 1493 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
1493
1494\mbox{\Hypertarget{namespacemod__oasis__mpi_aac62148bc912b158aff769572f27b8d3}\label{namespacemod__oasis__mpi_aac62148bc912b158aff769572f27b8d3}} 
1495\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+sumr1@{oasis\+\_\+mpi\+\_\+sumr1}}
1496\index{oasis\+\_\+mpi\+\_\+sumr1@{oasis\+\_\+mpi\+\_\+sumr1}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
1497\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+sumr1()}{oasis\_mpi\_sumr1()}}
1498{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::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]}}
1499
1500
1501
1502Compute a 1D array of global sums for an array of 1D doubles.
1503
1504This sums an array of local doubles to an array of summed doubles. This does not reduce the array to a scalar.
1505
1506
1507\begin{DoxyParams}[1]{Parameters}
1508\mbox{\tt in}  & {\em lvec} & local values\\
1509\hline
1510\mbox{\tt out}  & {\em gvec} & global values\\
1511\hline
1512\mbox{\tt in}  & {\em comm} & mpi communicator\\
1513\hline
1514\mbox{\tt in}  & {\em string} & to identify caller\\
1515\hline
1516\mbox{\tt in}  & {\em all} & if true call allreduce, otherwise reduce to task 0 \\
1517\hline
1518\end{DoxyParams}
1519
1520
1521Definition at line 1559 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
1522
1523\mbox{\Hypertarget{namespacemod__oasis__mpi_afbc665ae71c97d0b0467323cd86a5973}\label{namespacemod__oasis__mpi_afbc665ae71c97d0b0467323cd86a5973}} 
1524\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+sumr2@{oasis\+\_\+mpi\+\_\+sumr2}}
1525\index{oasis\+\_\+mpi\+\_\+sumr2@{oasis\+\_\+mpi\+\_\+sumr2}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
1526\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+sumr2()}{oasis\_mpi\_sumr2()}}
1527{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::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]}}
1528
1529
1530
1531Compute a 2D array of global sums for an array of 2D doubles.
1532
1533This sums an array of local doubles to an array of summed doubles. This does not reduce the array to a scalar.
1534
1535
1536\begin{DoxyParams}[1]{Parameters}
1537\mbox{\tt in}  & {\em lvec} & local values\\
1538\hline
1539\mbox{\tt out}  & {\em gvec} & global values\\
1540\hline
1541\mbox{\tt in}  & {\em comm} & mpi communicator\\
1542\hline
1543\mbox{\tt in}  & {\em string} & to identify caller\\
1544\hline
1545\mbox{\tt in}  & {\em all} & if true call allreduce, otherwise reduce to task 0 \\
1546\hline
1547\end{DoxyParams}
1548
1549
1550Definition at line 1625 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
1551
1552\mbox{\Hypertarget{namespacemod__oasis__mpi_a41836fe23aeb81e65b4d24f6f0c90953}\label{namespacemod__oasis__mpi_a41836fe23aeb81e65b4d24f6f0c90953}} 
1553\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+sumr3@{oasis\+\_\+mpi\+\_\+sumr3}}
1554\index{oasis\+\_\+mpi\+\_\+sumr3@{oasis\+\_\+mpi\+\_\+sumr3}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
1555\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+sumr3()}{oasis\_mpi\_sumr3()}}
1556{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+mpi\+::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]}}
1557
1558
1559
1560Compute a 3D array of global sums for an array of 3D doubles.
1561
1562This sums an array of local doubles to an array of summed doubles. This does not reduce the array to a scalar.
1563
1564
1565\begin{DoxyParams}[1]{Parameters}
1566\mbox{\tt in}  & {\em lvec} & local values\\
1567\hline
1568\mbox{\tt out}  & {\em gvec} & global values\\
1569\hline
1570\mbox{\tt in}  & {\em comm} & mpi communicator\\
1571\hline
1572\mbox{\tt in}  & {\em string} & to identify caller\\
1573\hline
1574\mbox{\tt in}  & {\em all} & if true call allreduce, otherwise reduce to task 0 \\
1575\hline
1576\end{DoxyParams}
1577
1578
1579Definition at line 1691 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
1580
1581\mbox{\Hypertarget{namespacemod__oasis__mpi_aa3786c2cab131c3834583e7943ba28c8}\label{namespacemod__oasis__mpi_aa3786c2cab131c3834583e7943ba28c8}} 
1582\index{mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}!oasis\+\_\+mpi\+\_\+wtime@{oasis\+\_\+mpi\+\_\+wtime}}
1583\index{oasis\+\_\+mpi\+\_\+wtime@{oasis\+\_\+mpi\+\_\+wtime}!mod\+\_\+oasis\+\_\+mpi@{mod\+\_\+oasis\+\_\+mpi}}
1584\subsubsection{\texorpdfstring{oasis\+\_\+mpi\+\_\+wtime()}{oasis\_mpi\_wtime()}}
1585{\footnotesize\ttfamily subroutine, public mod\+\_\+oasis\+\_\+mpi\+::oasis\+\_\+mpi\+\_\+wtime (\begin{DoxyParamCaption}\item[{real(ip\+\_\+r8\+\_\+p), intent(out)}]{wtime }\end{DoxyParamCaption})}
1586
1587
1588
1589Return a timestamp from M\+P\+I\+\_\+\+W\+T\+I\+ME.
1590
1591
1592\begin{DoxyParams}[1]{Parameters}
1593\mbox{\tt out}  & {\em wtime} & time in M\+P\+I\+\_\+\+W\+T\+I\+ME units \\
1594\hline
1595\end{DoxyParams}
1596
1597
1598Definition at line 2627 of file mod\+\_\+oasis\+\_\+mpi.\+F90.
1599
Note: See TracBrowser for help on using the repository browser.