source: CPL/oasis3-mct/branches/OASIS3-MCT_5.0_branch/doc/doxygen/latex/namespacemod__oasis__reprosum.tex @ 6331

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

Moved oasis-mct_5.0 in oasis3-mct/branches directory.

File size: 20.6 KB
Line 
1\hypertarget{namespacemod__oasis__reprosum}{}\section{mod\+\_\+oasis\+\_\+reprosum Module Reference}
2\label{namespacemod__oasis__reprosum}\index{mod\+\_\+oasis\+\_\+reprosum@{mod\+\_\+oasis\+\_\+reprosum}}
3
4
5O\+A\+S\+IS reproducible sum method from P. Worley. 
6
7
8\subsection*{Functions/\+Subroutines}
9\begin{DoxyCompactItemize}
10\item 
11subroutine, public \hyperlink{namespacemod__oasis__reprosum_ad6b4914497a4961339a1c95bfb807660}{oasis\+\_\+reprosum\+\_\+setopts} (repro\+\_\+sum\+\_\+use\+\_\+ddpdd\+\_\+in, repro\+\_\+sum\+\_\+rel\+\_\+diff\+\_\+max\+\_\+in, repro\+\_\+sum\+\_\+recompute\+\_\+in, repro\+\_\+sum\+\_\+master, repro\+\_\+sum\+\_\+logunit)
12\begin{DoxyCompactList}\small\item\em Set runtime options. \end{DoxyCompactList}\item 
13subroutine, public \hyperlink{namespacemod__oasis__reprosum_a398280c78cff126b7622dbd96af675e4}{oasis\+\_\+reprosum\+\_\+calc} (arr, arr\+\_\+gsum, nsummands, dsummands, nflds, ddpdd\+\_\+sum, arr\+\_\+gbl\+\_\+max, arr\+\_\+gbl\+\_\+max\+\_\+out, arr\+\_\+max\+\_\+levels, arr\+\_\+max\+\_\+levels\+\_\+out, gbl\+\_\+max\+\_\+nsummands, gbl\+\_\+max\+\_\+nsummands\+\_\+out, gbl\+\_\+count, repro\+\_\+sum\+\_\+validate, repro\+\_\+sum\+\_\+stats, rel\+\_\+diff, commid)
14\begin{DoxyCompactList}\small\item\em Compute the global sum of each field in \char`\"{}arr\char`\"{} using the indicated communicator with a reproducible yet scalable implementation based on a fixed point algorithm. An alternative is to use an \char`\"{}almost
15 always reproducible\char`\"{} floating point algorithm. \end{DoxyCompactList}\item 
16subroutine \hyperlink{namespacemod__oasis__reprosum_a7ea3c5bad9db10c80eb528453602aed3}{oasis\+\_\+reprosum\+\_\+int} (arr, arr\+\_\+gsum, nsummands, dsummands, nflds, arr\+\_\+max\+\_\+shift, arr\+\_\+gmax\+\_\+exp, max\+\_\+levels, max\+\_\+level, validate, recompute, omp\+\_\+nthreads, mpi\+\_\+comm)
17\begin{DoxyCompactList}\small\item\em Compute the global sum of each field in \char`\"{}arr\char`\"{} using the indicated communicator with a reproducible yet scalable implementation based on a fixed point algorithm. The accuracy of the fixed point algorithm is controlled by the number of \char`\"{}levels\char`\"{} of integer expansion, the maximum value of which is specified by max\+\_\+level. \end{DoxyCompactList}\item 
18logical function, public \hyperlink{namespacemod__oasis__reprosum_a0f773341a7a6883b2f65d395a6b25b08}{oasis\+\_\+reprosum\+\_\+tolexceeded} (name, nflds, master, logunit, rel\+\_\+diff)
19\begin{DoxyCompactList}\small\item\em Test whether distributed sum exceeds tolerance and print out a warning message. \end{DoxyCompactList}\item 
20subroutine \hyperlink{namespacemod__oasis__reprosum_afe237975bf8e718f32523c3929911102}{oasis\+\_\+reprosum\+\_\+ddpdd} (arr, arr\+\_\+gsum, nsummands, dsummands, nflds, mpi\+\_\+comm)
21\begin{DoxyCompactList}\small\item\em Compute the global sum of each field in \char`\"{}arr\char`\"{} using the indicated communicator with a reproducible yet scalable implementation based on He and Ding\textquotesingle{}s implementation of the double-\/double algorithm. \end{DoxyCompactList}\item 
22subroutine, private \hyperlink{namespacemod__oasis__reprosum_a24f9efa3ca739811888206eaf71d4690}{ddpdd} (dda, ddb, len, itype)
23\item 
24subroutine, private \hyperlink{namespacemod__oasis__reprosum_affb09b4ec9b001bf2ebbc51feebd8004}{split\+\_\+indices} (total, num\+\_\+pieces, ibeg, iend)
25\end{DoxyCompactItemize}
26\subsection*{Variables}
27\begin{DoxyCompactItemize}
28\item 
29logical, public \hyperlink{namespacemod__oasis__reprosum_a89140c250e34a903bc9aa546574988d6}{oasis\+\_\+reprosum\+\_\+recompute} = .false.
30\item 
31real(r8), public \hyperlink{namespacemod__oasis__reprosum_a6a80f4226d35d0842617e6eb6c9406e1}{oasis\+\_\+reprosum\+\_\+reldiffmax} = -\/1.\+0\+\_\+r8
32\item 
33logical \hyperlink{namespacemod__oasis__reprosum_aab06d0de9a82726d347ac52bb276355d}{repro\+\_\+sum\+\_\+use\+\_\+ddpdd} = .false.
34\item 
35logical \hyperlink{namespacemod__oasis__reprosum_a48a084c213295b9eaa78c0552a10741a}{detailed\+\_\+timing} = .false.
36\end{DoxyCompactItemize}
37
38
39\subsection{Detailed Description}
40O\+A\+S\+IS reproducible sum method from P. Worley.
41
42\subsection{Function/\+Subroutine Documentation}
43\mbox{\Hypertarget{namespacemod__oasis__reprosum_a24f9efa3ca739811888206eaf71d4690}\label{namespacemod__oasis__reprosum_a24f9efa3ca739811888206eaf71d4690}} 
44\index{mod\+\_\+oasis\+\_\+reprosum@{mod\+\_\+oasis\+\_\+reprosum}!ddpdd@{ddpdd}}
45\index{ddpdd@{ddpdd}!mod\+\_\+oasis\+\_\+reprosum@{mod\+\_\+oasis\+\_\+reprosum}}
46\subsubsection{\texorpdfstring{ddpdd()}{ddpdd()}}
47{\footnotesize\ttfamily subroutine, private mod\+\_\+oasis\+\_\+reprosum\+::ddpdd (\begin{DoxyParamCaption}\item[{complex(r8), dimension(len), intent(in)}]{dda,  }\item[{complex(r8), dimension(len), intent(inout)}]{ddb,  }\item[{integer, intent(in)}]{len,  }\item[{integer, intent(in)}]{itype }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}
48
49
50
51Definition at line 1354 of file mod\+\_\+oasis\+\_\+reprosum.\+F90.
52
53\mbox{\Hypertarget{namespacemod__oasis__reprosum_a398280c78cff126b7622dbd96af675e4}\label{namespacemod__oasis__reprosum_a398280c78cff126b7622dbd96af675e4}} 
54\index{mod\+\_\+oasis\+\_\+reprosum@{mod\+\_\+oasis\+\_\+reprosum}!oasis\+\_\+reprosum\+\_\+calc@{oasis\+\_\+reprosum\+\_\+calc}}
55\index{oasis\+\_\+reprosum\+\_\+calc@{oasis\+\_\+reprosum\+\_\+calc}!mod\+\_\+oasis\+\_\+reprosum@{mod\+\_\+oasis\+\_\+reprosum}}
56\subsubsection{\texorpdfstring{oasis\+\_\+reprosum\+\_\+calc()}{oasis\_reprosum\_calc()}}
57{\footnotesize\ttfamily subroutine, public mod\+\_\+oasis\+\_\+reprosum\+::oasis\+\_\+reprosum\+\_\+calc (\begin{DoxyParamCaption}\item[{real(r8), dimension(dsummands,nflds), intent(in)}]{arr,  }\item[{real(r8), dimension(nflds), intent(out)}]{arr\+\_\+gsum,  }\item[{integer, intent(in)}]{nsummands,  }\item[{integer, intent(in)}]{dsummands,  }\item[{integer, intent(in)}]{nflds,  }\item[{logical, intent(in), optional}]{ddpdd\+\_\+sum,  }\item[{real(r8), dimension(nflds), intent(in), optional}]{arr\+\_\+gbl\+\_\+max,  }\item[{real(r8), dimension(nflds), intent(out), optional}]{arr\+\_\+gbl\+\_\+max\+\_\+out,  }\item[{integer, dimension(nflds), intent(in), optional}]{arr\+\_\+max\+\_\+levels,  }\item[{integer, dimension(nflds), intent(out), optional}]{arr\+\_\+max\+\_\+levels\+\_\+out,  }\item[{integer, intent(in), optional}]{gbl\+\_\+max\+\_\+nsummands,  }\item[{integer, intent(out), optional}]{gbl\+\_\+max\+\_\+nsummands\+\_\+out,  }\item[{integer, intent(in), optional}]{gbl\+\_\+count,  }\item[{logical, intent(in), optional}]{repro\+\_\+sum\+\_\+validate,  }\item[{integer, dimension(5), intent(inout), optional}]{repro\+\_\+sum\+\_\+stats,  }\item[{real(r8), dimension(2,nflds), intent(out), optional}]{rel\+\_\+diff,  }\item[{integer, intent(in), optional}]{commid }\end{DoxyParamCaption})}
58
59
60
61Compute the global sum of each field in \char`\"{}arr\char`\"{} using the indicated communicator with a reproducible yet scalable implementation based on a fixed point algorithm. An alternative is to use an \char`\"{}almost
62 always reproducible\char`\"{} floating point algorithm.
63
64
65\begin{DoxyParams}[1]{Parameters}
66\mbox{\tt in}  & {\em nsummands} & number of local summands\\
67\hline
68\mbox{\tt in}  & {\em dsummands} & declared first dimension\\
69\hline
70\mbox{\tt in}  & {\em nflds} & number of fields\\
71\hline
72\mbox{\tt in}  & {\em arr} & input array\\
73\hline
74\mbox{\tt out}  & {\em arr\+\_\+gsum} & global means\\
75\hline
76\mbox{\tt in}  & {\em ddpdd\+\_\+sum} & use ddpdd algorithm instead of fixed precision algorithm\\
77\hline
78\mbox{\tt in}  & {\em arr\+\_\+gbl\+\_\+max} & upper bound on max(abs(arr))\\
79\hline
80\mbox{\tt out}  & {\em arr\+\_\+gbl\+\_\+max\+\_\+out} & calculated upper bound on max(abs(arr))\\
81\hline
82\mbox{\tt in}  & {\em arr\+\_\+max\+\_\+levels} & maximum number of levels of integer expansion to use\\
83\hline
84\mbox{\tt out}  & {\em arr\+\_\+max\+\_\+levels\+\_\+out} & output of number of levels of integer expansion to used\\
85\hline
86\mbox{\tt in}  & {\em gbl\+\_\+max\+\_\+nsummands} & maximum of nsummand over all processes\\
87\hline
88\mbox{\tt out}  & {\em gbl\+\_\+max\+\_\+nsummands\+\_\+out} & calculated maximum nsummands over all processes\\
89\hline
90\mbox{\tt in}  & {\em gbl\+\_\+count} & was total number of summands; now is ignored; use gbl\+\_\+max\+\_\+nsummands instead\\
91\hline
92\mbox{\tt in}  & {\em repro\+\_\+sum\+\_\+validate} & flag enabling/disabling testing that gmax and max\+\_\+levels are accurate/sufficient. Default is enabled.\\
93\hline
94\mbox{\tt in,out}  & {\em repro\+\_\+sum\+\_\+stats} & increment running totals for (1) one-\/reduction repro\+\_\+sum (2) two-\/reduction repro\+\_\+sum (3) both types in one call (4) nonrepro\+\_\+sum (5) global max nsummands reduction\\
95\hline
96\mbox{\tt out}  & {\em rel\+\_\+diff} & relative and absolute differences between fixed and floating point sums\\
97\hline
98\mbox{\tt in}  & {\em commid} & M\+PI communicator \\
99\hline
100\end{DoxyParams}
101
102
103Definition at line 267 of file mod\+\_\+oasis\+\_\+reprosum.\+F90.
104
105\mbox{\Hypertarget{namespacemod__oasis__reprosum_afe237975bf8e718f32523c3929911102}\label{namespacemod__oasis__reprosum_afe237975bf8e718f32523c3929911102}} 
106\index{mod\+\_\+oasis\+\_\+reprosum@{mod\+\_\+oasis\+\_\+reprosum}!oasis\+\_\+reprosum\+\_\+ddpdd@{oasis\+\_\+reprosum\+\_\+ddpdd}}
107\index{oasis\+\_\+reprosum\+\_\+ddpdd@{oasis\+\_\+reprosum\+\_\+ddpdd}!mod\+\_\+oasis\+\_\+reprosum@{mod\+\_\+oasis\+\_\+reprosum}}
108\subsubsection{\texorpdfstring{oasis\+\_\+reprosum\+\_\+ddpdd()}{oasis\_reprosum\_ddpdd()}}
109{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+reprosum\+::oasis\+\_\+reprosum\+\_\+ddpdd (\begin{DoxyParamCaption}\item[{real(r8), dimension(dsummands,nflds), intent(in)}]{arr,  }\item[{real(r8), dimension(nflds), intent(out)}]{arr\+\_\+gsum,  }\item[{integer, intent(in)}]{nsummands,  }\item[{integer, intent(in)}]{dsummands,  }\item[{integer, intent(in)}]{nflds,  }\item[{integer, intent(in)}]{mpi\+\_\+comm }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}
110
111
112
113Compute the global sum of each field in \char`\"{}arr\char`\"{} using the indicated communicator with a reproducible yet scalable implementation based on He and Ding\textquotesingle{}s implementation of the double-\/double algorithm.
114
115
116\begin{DoxyParams}[1]{Parameters}
117\mbox{\tt in}  & {\em nsummands} & number of local summands\\
118\hline
119\mbox{\tt in}  & {\em dsummands} & declared first dimension\\
120\hline
121\mbox{\tt in}  & {\em nflds} & number of fields\\
122\hline
123\mbox{\tt in}  & {\em arr} & input array\\
124\hline
125\mbox{\tt in}  & {\em mpi\+\_\+comm} & M\+PI subcommunicator\\
126\hline
127\mbox{\tt out}  & {\em arr\+\_\+gsum} & global sums \\
128\hline
129\end{DoxyParams}
130
131
132Definition at line 1281 of file mod\+\_\+oasis\+\_\+reprosum.\+F90.
133
134\mbox{\Hypertarget{namespacemod__oasis__reprosum_a7ea3c5bad9db10c80eb528453602aed3}\label{namespacemod__oasis__reprosum_a7ea3c5bad9db10c80eb528453602aed3}} 
135\index{mod\+\_\+oasis\+\_\+reprosum@{mod\+\_\+oasis\+\_\+reprosum}!oasis\+\_\+reprosum\+\_\+int@{oasis\+\_\+reprosum\+\_\+int}}
136\index{oasis\+\_\+reprosum\+\_\+int@{oasis\+\_\+reprosum\+\_\+int}!mod\+\_\+oasis\+\_\+reprosum@{mod\+\_\+oasis\+\_\+reprosum}}
137\subsubsection{\texorpdfstring{oasis\+\_\+reprosum\+\_\+int()}{oasis\_reprosum\_int()}}
138{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+reprosum\+::oasis\+\_\+reprosum\+\_\+int (\begin{DoxyParamCaption}\item[{real(r8), dimension(dsummands,nflds), intent(in)}]{arr,  }\item[{real(r8), dimension(nflds), intent(out)}]{arr\+\_\+gsum,  }\item[{integer, intent(in)}]{nsummands,  }\item[{integer, intent(in)}]{dsummands,  }\item[{integer, intent(in)}]{nflds,  }\item[{integer, intent(in)}]{arr\+\_\+max\+\_\+shift,  }\item[{integer, dimension(nflds), intent(in)}]{arr\+\_\+gmax\+\_\+exp,  }\item[{integer, dimension(nflds), intent(in)}]{max\+\_\+levels,  }\item[{integer, intent(in)}]{max\+\_\+level,  }\item[{logical, intent(in)}]{validate,  }\item[{logical, intent(out)}]{recompute,  }\item[{integer, intent(in)}]{omp\+\_\+nthreads,  }\item[{integer, intent(in)}]{mpi\+\_\+comm }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}
139
140
141
142Compute the global sum of each field in \char`\"{}arr\char`\"{} using the indicated communicator with a reproducible yet scalable implementation based on a fixed point algorithm. The accuracy of the fixed point algorithm is controlled by the number of \char`\"{}levels\char`\"{} of integer expansion, the maximum value of which is specified by max\+\_\+level.
143
144
145\begin{DoxyParams}[1]{Parameters}
146\mbox{\tt in}  & {\em nsummands} & number of local summands\\
147\hline
148\mbox{\tt in}  & {\em dsummands} & declared first dimension\\
149\hline
150\mbox{\tt in}  & {\em nflds} & number of fields\\
151\hline
152\mbox{\tt in}  & {\em arr\+\_\+max\+\_\+shift} & maximum safe exponent for value $<$ 1 (so that sum does not overflow)\\
153\hline
154\mbox{\tt in}  & {\em arr\+\_\+gmax\+\_\+exp} & exponents of global maxima\\
155\hline
156\mbox{\tt in}  & {\em max\+\_\+levels} & maximum number of levels of integer expansion\\
157\hline
158\mbox{\tt in}  & {\em max\+\_\+level} & maximum value in max\+\_\+levels\\
159\hline
160\mbox{\tt in}  & {\em omp\+\_\+nthreads} & number of Open\+MP threads\\
161\hline
162\mbox{\tt in}  & {\em mpi\+\_\+comm} & M\+PI subcommunicator\\
163\hline
164\mbox{\tt in}  & {\em arr} & input array\\
165\hline
166\mbox{\tt in}  & {\em validate} & flag indicating that accuracy of solution generated from arr\+\_\+gmax\+\_\+exp and max\+\_\+levels should be tested\\
167\hline
168\mbox{\tt out}  & {\em recompute} & flag indicating that either the upper bounds are inaccurate, or max\+\_\+levels and arr\+\_\+gmax\+\_\+exp do not generate accurate enough sums\\
169\hline
170\mbox{\tt out}  & {\em arr\+\_\+gsum} & global means \\
171\hline
172\end{DoxyParams}
173
174
175Definition at line 751 of file mod\+\_\+oasis\+\_\+reprosum.\+F90.
176
177\mbox{\Hypertarget{namespacemod__oasis__reprosum_ad6b4914497a4961339a1c95bfb807660}\label{namespacemod__oasis__reprosum_ad6b4914497a4961339a1c95bfb807660}} 
178\index{mod\+\_\+oasis\+\_\+reprosum@{mod\+\_\+oasis\+\_\+reprosum}!oasis\+\_\+reprosum\+\_\+setopts@{oasis\+\_\+reprosum\+\_\+setopts}}
179\index{oasis\+\_\+reprosum\+\_\+setopts@{oasis\+\_\+reprosum\+\_\+setopts}!mod\+\_\+oasis\+\_\+reprosum@{mod\+\_\+oasis\+\_\+reprosum}}
180\subsubsection{\texorpdfstring{oasis\+\_\+reprosum\+\_\+setopts()}{oasis\_reprosum\_setopts()}}
181{\footnotesize\ttfamily subroutine, public mod\+\_\+oasis\+\_\+reprosum\+::oasis\+\_\+reprosum\+\_\+setopts (\begin{DoxyParamCaption}\item[{logical, intent(in), optional}]{repro\+\_\+sum\+\_\+use\+\_\+ddpdd\+\_\+in,  }\item[{real(r8), intent(in), optional}]{repro\+\_\+sum\+\_\+rel\+\_\+diff\+\_\+max\+\_\+in,  }\item[{logical, intent(in), optional}]{repro\+\_\+sum\+\_\+recompute\+\_\+in,  }\item[{logical, intent(in), optional}]{repro\+\_\+sum\+\_\+master,  }\item[{integer, intent(in), optional}]{repro\+\_\+sum\+\_\+logunit }\end{DoxyParamCaption})}
182
183
184
185Set runtime options.
186
187
188\begin{DoxyParams}[1]{Parameters}
189\mbox{\tt in}  & {\em repro\+\_\+sum\+\_\+use\+\_\+ddpdd\+\_\+in} & Use D\+D\+P\+DD algorithm instead of fixed precision algorithm\\
190\hline
191\mbox{\tt in}  & {\em repro\+\_\+sum\+\_\+rel\+\_\+diff\+\_\+max\+\_\+in} & maximum permissible difference between reproducible and nonreproducible sums\\
192\hline
193\mbox{\tt in}  & {\em repro\+\_\+sum\+\_\+recompute\+\_\+in} & recompute using different algorithm when difference between reproducible and nonreproducible sums is too great\\
194\hline
195\mbox{\tt in}  & {\em repro\+\_\+sum\+\_\+master} & flag indicating whether this process should output log messages\\
196\hline
197\mbox{\tt in}  & {\em repro\+\_\+sum\+\_\+logunit} & unit number for log messages \\
198\hline
199\end{DoxyParams}
200
201
202Definition at line 105 of file mod\+\_\+oasis\+\_\+reprosum.\+F90.
203
204\mbox{\Hypertarget{namespacemod__oasis__reprosum_a0f773341a7a6883b2f65d395a6b25b08}\label{namespacemod__oasis__reprosum_a0f773341a7a6883b2f65d395a6b25b08}} 
205\index{mod\+\_\+oasis\+\_\+reprosum@{mod\+\_\+oasis\+\_\+reprosum}!oasis\+\_\+reprosum\+\_\+tolexceeded@{oasis\+\_\+reprosum\+\_\+tolexceeded}}
206\index{oasis\+\_\+reprosum\+\_\+tolexceeded@{oasis\+\_\+reprosum\+\_\+tolexceeded}!mod\+\_\+oasis\+\_\+reprosum@{mod\+\_\+oasis\+\_\+reprosum}}
207\subsubsection{\texorpdfstring{oasis\+\_\+reprosum\+\_\+tolexceeded()}{oasis\_reprosum\_tolexceeded()}}
208{\footnotesize\ttfamily logical function, public mod\+\_\+oasis\+\_\+reprosum\+::oasis\+\_\+reprosum\+\_\+tolexceeded (\begin{DoxyParamCaption}\item[{character(len=$\ast$), intent(in)}]{name,  }\item[{integer, intent(in)}]{nflds,  }\item[{logical, intent(in)}]{master,  }\item[{integer, intent(in), optional}]{logunit,  }\item[{real(r8), dimension(2,nflds), intent(in)}]{rel\+\_\+diff }\end{DoxyParamCaption})}
209
210
211
212Test whether distributed sum exceeds tolerance and print out a warning message.
213
214
215\begin{DoxyParams}[1]{Parameters}
216\mbox{\tt in}  & {\em name} & distributed sum identifier\\
217\hline
218\mbox{\tt in}  & {\em nflds} & number of fields\\
219\hline
220\mbox{\tt in}  & {\em master} & process that will write warning messages?\\
221\hline
222\mbox{\tt in}  & {\em logunit} & unit warning messages written to\\
223\hline
224\mbox{\tt in}  & {\em rel\+\_\+diff} & relative and absolute differences between fixed and floating point sums \\
225\hline
226\end{DoxyParams}
227
228
229Definition at line 1195 of file mod\+\_\+oasis\+\_\+reprosum.\+F90.
230
231\mbox{\Hypertarget{namespacemod__oasis__reprosum_affb09b4ec9b001bf2ebbc51feebd8004}\label{namespacemod__oasis__reprosum_affb09b4ec9b001bf2ebbc51feebd8004}} 
232\index{mod\+\_\+oasis\+\_\+reprosum@{mod\+\_\+oasis\+\_\+reprosum}!split\+\_\+indices@{split\+\_\+indices}}
233\index{split\+\_\+indices@{split\+\_\+indices}!mod\+\_\+oasis\+\_\+reprosum@{mod\+\_\+oasis\+\_\+reprosum}}
234\subsubsection{\texorpdfstring{split\+\_\+indices()}{split\_indices()}}
235{\footnotesize\ttfamily subroutine, private mod\+\_\+oasis\+\_\+reprosum\+::split\+\_\+indices (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{total,  }\item[{integer, intent(in)}]{num\+\_\+pieces,  }\item[{integer, dimension(num\+\_\+pieces), intent(out)}]{ibeg,  }\item[{integer, dimension(num\+\_\+pieces), intent(out)}]{iend }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}
236
237
238
239Definition at line 1394 of file mod\+\_\+oasis\+\_\+reprosum.\+F90.
240
241
242
243\subsection{Variable Documentation}
244\mbox{\Hypertarget{namespacemod__oasis__reprosum_a48a084c213295b9eaa78c0552a10741a}\label{namespacemod__oasis__reprosum_a48a084c213295b9eaa78c0552a10741a}} 
245\index{mod\+\_\+oasis\+\_\+reprosum@{mod\+\_\+oasis\+\_\+reprosum}!detailed\+\_\+timing@{detailed\+\_\+timing}}
246\index{detailed\+\_\+timing@{detailed\+\_\+timing}!mod\+\_\+oasis\+\_\+reprosum@{mod\+\_\+oasis\+\_\+reprosum}}
247\subsubsection{\texorpdfstring{detailed\+\_\+timing}{detailed\_timing}}
248{\footnotesize\ttfamily logical mod\+\_\+oasis\+\_\+reprosum\+::detailed\+\_\+timing = .false.\hspace{0.3cm}{\ttfamily [private]}}
249
250
251
252Definition at line 89 of file mod\+\_\+oasis\+\_\+reprosum.\+F90.
253
254\mbox{\Hypertarget{namespacemod__oasis__reprosum_a89140c250e34a903bc9aa546574988d6}\label{namespacemod__oasis__reprosum_a89140c250e34a903bc9aa546574988d6}} 
255\index{mod\+\_\+oasis\+\_\+reprosum@{mod\+\_\+oasis\+\_\+reprosum}!oasis\+\_\+reprosum\+\_\+recompute@{oasis\+\_\+reprosum\+\_\+recompute}}
256\index{oasis\+\_\+reprosum\+\_\+recompute@{oasis\+\_\+reprosum\+\_\+recompute}!mod\+\_\+oasis\+\_\+reprosum@{mod\+\_\+oasis\+\_\+reprosum}}
257\subsubsection{\texorpdfstring{oasis\+\_\+reprosum\+\_\+recompute}{oasis\_reprosum\_recompute}}
258{\footnotesize\ttfamily logical, public mod\+\_\+oasis\+\_\+reprosum\+::oasis\+\_\+reprosum\+\_\+recompute = .false.}
259
260
261
262Definition at line 73 of file mod\+\_\+oasis\+\_\+reprosum.\+F90.
263
264\mbox{\Hypertarget{namespacemod__oasis__reprosum_a6a80f4226d35d0842617e6eb6c9406e1}\label{namespacemod__oasis__reprosum_a6a80f4226d35d0842617e6eb6c9406e1}} 
265\index{mod\+\_\+oasis\+\_\+reprosum@{mod\+\_\+oasis\+\_\+reprosum}!oasis\+\_\+reprosum\+\_\+reldiffmax@{oasis\+\_\+reprosum\+\_\+reldiffmax}}
266\index{oasis\+\_\+reprosum\+\_\+reldiffmax@{oasis\+\_\+reprosum\+\_\+reldiffmax}!mod\+\_\+oasis\+\_\+reprosum@{mod\+\_\+oasis\+\_\+reprosum}}
267\subsubsection{\texorpdfstring{oasis\+\_\+reprosum\+\_\+reldiffmax}{oasis\_reprosum\_reldiffmax}}
268{\footnotesize\ttfamily real(r8), public mod\+\_\+oasis\+\_\+reprosum\+::oasis\+\_\+reprosum\+\_\+reldiffmax = -\/1.\+0\+\_\+r8}
269
270
271
272Definition at line 75 of file mod\+\_\+oasis\+\_\+reprosum.\+F90.
273
274\mbox{\Hypertarget{namespacemod__oasis__reprosum_aab06d0de9a82726d347ac52bb276355d}\label{namespacemod__oasis__reprosum_aab06d0de9a82726d347ac52bb276355d}} 
275\index{mod\+\_\+oasis\+\_\+reprosum@{mod\+\_\+oasis\+\_\+reprosum}!repro\+\_\+sum\+\_\+use\+\_\+ddpdd@{repro\+\_\+sum\+\_\+use\+\_\+ddpdd}}
276\index{repro\+\_\+sum\+\_\+use\+\_\+ddpdd@{repro\+\_\+sum\+\_\+use\+\_\+ddpdd}!mod\+\_\+oasis\+\_\+reprosum@{mod\+\_\+oasis\+\_\+reprosum}}
277\subsubsection{\texorpdfstring{repro\+\_\+sum\+\_\+use\+\_\+ddpdd}{repro\_sum\_use\_ddpdd}}
278{\footnotesize\ttfamily logical mod\+\_\+oasis\+\_\+reprosum\+::repro\+\_\+sum\+\_\+use\+\_\+ddpdd = .false.\hspace{0.3cm}{\ttfamily [private]}}
279
280
281
282Definition at line 88 of file mod\+\_\+oasis\+\_\+reprosum.\+F90.
283
Note: See TracBrowser for help on using the repository browser.