1 | %mct API Specification |
---|
2 | % J.W. Larson / MCS, Argonne National Laboratory |
---|
3 | % R.L. Jacob |
---|
4 | % First Version Begun 8/28/00 |
---|
5 | % |
---|
6 | % |
---|
7 | \documentclass{article} |
---|
8 | \usepackage{epsfig} |
---|
9 | \usepackage{graphicx} |
---|
10 | %\usepackage{fancyheadings} |
---|
11 | |
---|
12 | % Keep these dimensions |
---|
13 | |
---|
14 | \textheight 9in \topmargin 0pt \headsep 22pt |
---|
15 | \headheight 0pt |
---|
16 | |
---|
17 | \textwidth 6in \oddsidemargin 0in \evensidemargin 0in |
---|
18 | |
---|
19 | \marginparpush 0pt \pagestyle{plain} |
---|
20 | |
---|
21 | \setlength{\hoffset}{0.25in} |
---|
22 | |
---|
23 | % Headings |
---|
24 | % -------- |
---|
25 | \pagestyle{plain} % AFTER redefining \textheight etc. |
---|
26 | |
---|
27 | % \lhead[]{{\em NGC Design Document}} % left part of header |
---|
28 | % \chead[]{} % center part of header |
---|
29 | % \rhead[]{\em {\today}} % right part of header |
---|
30 | |
---|
31 | % \cfoot{\roman{page}} |
---|
32 | %\lfoot[]{} % left part of footer |
---|
33 | % \rfoot[]{} % right part of footer |
---|
34 | % \headrulewidth 0pt % if you don't want a rule under the header |
---|
35 | % \footrulewidth 0pt % if you don't want a rule above the footer |
---|
36 | |
---|
37 | %...................................................................... |
---|
38 | %.............begin document............. |
---|
39 | |
---|
40 | \begin{document} |
---|
41 | |
---|
42 | \begin{sloppypar} |
---|
43 | {\huge\bf |
---|
44 | %%% |
---|
45 | %%% Enter your title below (after deleting mine) |
---|
46 | %%% |
---|
47 | The Model Coupling Toolkit API Reference Manual: MCT v. 2.11 |
---|
48 | \\ } %%% IMPORTANT: Keep this \\ before the } |
---|
49 | \end{sloppypar} |
---|
50 | |
---|
51 | %%% |
---|
52 | %%% Author names and affiliations go below, follow example |
---|
53 | %%% |
---|
54 | \vspace{.3in} |
---|
55 | \noindent R.~L.~Jacob\\ |
---|
56 | J.~W.~Larson\\ |
---|
57 | E.~Ong\\ |
---|
58 | R.~Loy\\ |
---|
59 | \vspace{.2in} {\em Mathematics and Computer Science Division, |
---|
60 | Argonne National Laboratory\\} |
---|
61 | |
---|
62 | \vfill |
---|
63 | |
---|
64 | %%% |
---|
65 | %%% These lines are standard - keep them! |
---|
66 | %%% Edit the ``has not been published'' as appropriated. |
---|
67 | {\em This paper has not been published and should be regarded as |
---|
68 | an Internal Report from MCS. Permission to quote from this |
---|
69 | Technical Note should be obtained from the MCS Division of |
---|
70 | Argonne National Laboratory.} |
---|
71 | |
---|
72 | \vspace{0.4in} |
---|
73 | |
---|
74 | |
---|
75 | \thispagestyle{empty} |
---|
76 | \newpage |
---|
77 | |
---|
78 | %.......................... END FIRST PAGE ...................... |
---|
79 | |
---|
80 | \pagenumbering{roman} |
---|
81 | |
---|
82 | %......................... REVISION HISTORY .......................... |
---|
83 | |
---|
84 | \newpage |
---|
85 | \setcounter{page}{2} %%%% Revision History starts at page ii |
---|
86 | |
---|
87 | \addcontentsline{toc}{part}{Revision History} |
---|
88 | |
---|
89 | \vspace*{\fill} |
---|
90 | |
---|
91 | \centerline{\huge\bf Revision History} |
---|
92 | |
---|
93 | \bigskip |
---|
94 | \noindent{This Technical Note was produced for the Scientific |
---|
95 | Discovery through Advanced Computing (SciDAC) project.} |
---|
96 | |
---|
97 | \begin{center} |
---|
98 | \begin{tabular}{|l|l|l|l|}\hline |
---|
99 | {\bf Version} & {\bf Version} & {\bf Pages Affected/} & {\bf Aproval}\\ |
---|
100 | {\bf Number} & {\bf Date} & {\bf Extent of Changes} & {\bf Authority}\\ |
---|
101 | \hline |
---|
102 | \hline |
---|
103 | Version 1$\beta$ & December 13, 2000 & First draft (before review) & |
---|
104 | \\\hline |
---|
105 | Version 1$\beta2$ & February 16, 2001 & Add more routines & |
---|
106 | \\\hline |
---|
107 | Version 1$\beta3$ & June 6, 2001 & Convert to pure API's doc & |
---|
108 | \\\hline |
---|
109 | Version 1$\beta4$ & Apr 24, 2002 & Update with latest source & |
---|
110 | \\\hline |
---|
111 | Version 1.0 & Nov 14, 2002 & 1.0 Version & |
---|
112 | \\\hline |
---|
113 | Version 2.0.0 & Apr 23, 2004 & 2.0.0 Version & |
---|
114 | \\\hline |
---|
115 | Version 2.0.1 & May 18, 2004 & 2.0.1 Version & |
---|
116 | \\\hline |
---|
117 | Version 2.1.0 & Feb 11, 2005 & 2.1.0 Version & |
---|
118 | \\\hline |
---|
119 | Version 2.2.0 & Dec 01, 2005 & 2.2.0 Version & |
---|
120 | \\\hline |
---|
121 | Version 2.2.1 & Apr 22, 2006 & 2.2.1 Version & |
---|
122 | \\\hline |
---|
123 | Version 2.2.2 & Sep 08, 2006 & 2.2.2 Version & |
---|
124 | \\\hline |
---|
125 | Version 2.2.3 & Oct 16, 2006 & 2.2.3 Version & |
---|
126 | \\\hline |
---|
127 | Version 2.3.0 & Jan 10, 2007 & 2.3.0 Version & |
---|
128 | \\\hline |
---|
129 | Version 2.4.0 & Aug 17, 2007 & 2.4.0 Version & |
---|
130 | \\\hline |
---|
131 | Version 2.4.1 & Nov 21, 2007 & 2.4.1 Version & |
---|
132 | \\\hline |
---|
133 | Version 2.5.0 & Jan 28, 2008 & 2.5.0 Version & |
---|
134 | \\\hline |
---|
135 | Version 2.5.1 & May 20, 2008 & 2.5.1 Version & |
---|
136 | \\\hline |
---|
137 | Version 2.6.0 & Mar 05, 2009 & 2.6.0 Version & |
---|
138 | \\\hline |
---|
139 | Version 2.7.0 & Jan 05, 2010 & 2.7.0 Version & |
---|
140 | \\\hline |
---|
141 | Version 2.7.1 & Feb 28, 2010 & 2.7.1 Version & |
---|
142 | \\\hline |
---|
143 | Version 2.7.2 & Nov 30, 2010 & 2.7.2 Version & |
---|
144 | \\\hline |
---|
145 | Version 2.7.3 & Jan 25, 2011 & 2.7.3 Version & |
---|
146 | \\\hline |
---|
147 | Version 2.7.4 & Mar 07, 2012 & 2.7.4 Version & |
---|
148 | \\\hline |
---|
149 | Version 2.8.0 & Apr 30, 2012 & 2.8.0 Version & |
---|
150 | \\\hline |
---|
151 | Version 2.8.1 & Jul 05, 2012 & 2.8.1 Version & |
---|
152 | \\\hline |
---|
153 | Version 2.8.2 & Sep 12, 2012 & 2.8.2 Version & |
---|
154 | \\\hline |
---|
155 | Version 2.8.3 & Dec 17, 2012 & 2.8.3 Version & |
---|
156 | \\\hline |
---|
157 | Version 2.9.0 & Jun 19, 2015 & 2.9.0 Version & |
---|
158 | \\\hline |
---|
159 | Version 2.10.0 & Apr 19, 2018 & 2.10.0 Version & |
---|
160 | \\\hline |
---|
161 | Version 2.11.0 & Feb 11, 2021 & 2.11.0 Version & |
---|
162 | \\\hline |
---|
163 | \end{tabular} |
---|
164 | \end{center} |
---|
165 | |
---|
166 | \vspace*{\fill} |
---|
167 | |
---|
168 | |
---|
169 | %.......................... ABSTRACT .................................. |
---|
170 | \newpage |
---|
171 | \setcounter{page}{3} %%%% abstract starts at page iii |
---|
172 | \addcontentsline{toc}{part}{Preface} |
---|
173 | |
---|
174 | \vspace*{\fill} |
---|
175 | |
---|
176 | This document describes the Application Program Interfaces (APIs) |
---|
177 | for the Model Coupling Toolkit (MCT). |
---|
178 | |
---|
179 | For functions that take a Fortran90 {\tt real} argument, either a scalar or |
---|
180 | a vector, MCT provides both double and single precision versions. Only |
---|
181 | the single precision version are described here denoted by SP. The double precision versions |
---|
182 | are otherwise identical. |
---|
183 | |
---|
184 | \vspace*{\fill} |
---|
185 | \newpage |
---|
186 | |
---|
187 | \tableofcontents |
---|
188 | \newpage |
---|
189 | |
---|
190 | % Switch page numbering to arabic numerals |
---|
191 | |
---|
192 | \pagenumbering{arabic} |
---|
193 | |
---|
194 | \part{Basic API's and associated communication routines} |
---|
195 | % |
---|
196 | \section{MCTWorld} |
---|
197 | \input{texsrc/m_MCTWorld} |
---|
198 | \vspace*{\fill} |
---|
199 | \newpage |
---|
200 | % |
---|
201 | % |
---|
202 | \section{The Attribute Vector} |
---|
203 | \input{texsrc/m_AttrVect} |
---|
204 | \vspace*{\fill} |
---|
205 | \newpage |
---|
206 | % |
---|
207 | \input{texsrc/m_AttrVectComms} |
---|
208 | \vspace*{\fill} |
---|
209 | \newpage |
---|
210 | % |
---|
211 | \input{texsrc/m_AttrVectReduce} |
---|
212 | \vspace*{\fill} |
---|
213 | \newpage |
---|
214 | % |
---|
215 | % |
---|
216 | \section{Global Segment Map} |
---|
217 | \input{texsrc/m_GlobalSegMap} |
---|
218 | \vspace*{\fill} |
---|
219 | \newpage |
---|
220 | % |
---|
221 | \input{texsrc/m_GlobalSegMapComms} |
---|
222 | \vspace*{\fill} |
---|
223 | \newpage |
---|
224 | % |
---|
225 | % |
---|
226 | \section{The Router} |
---|
227 | \input{texsrc/m_Router} |
---|
228 | \vspace*{\fill} |
---|
229 | \newpage |
---|
230 | % |
---|
231 | % |
---|
232 | \section{The General Grid} |
---|
233 | \input{texsrc/m_GeneralGrid} |
---|
234 | \vspace*{\fill} |
---|
235 | \newpage |
---|
236 | % |
---|
237 | \input{texsrc/m_GeneralGridComms} |
---|
238 | \vspace*{\fill} |
---|
239 | \newpage |
---|
240 | % |
---|
241 | % |
---|
242 | \section{The Navigator} |
---|
243 | \input{texsrc/m_Navigator} |
---|
244 | \vspace*{\fill} |
---|
245 | \newpage |
---|
246 | % |
---|
247 | % |
---|
248 | \section{The Global Map} |
---|
249 | \input{texsrc/m_GlobalMap} |
---|
250 | \vspace*{\fill} |
---|
251 | \newpage |
---|
252 | % |
---|
253 | % |
---|
254 | \part{High Level API's} |
---|
255 | % |
---|
256 | \section{Sending and Receiving Attribute Vectors} |
---|
257 | \input{texsrc/m_Transfer} |
---|
258 | \vspace*{\fill} |
---|
259 | \newpage |
---|
260 | % |
---|
261 | \section{Rearranging Attribute Vectors} |
---|
262 | \input{texsrc/m_Rearranger} |
---|
263 | \vspace*{\fill} |
---|
264 | \newpage |
---|
265 | % |
---|
266 | \section{Sprase Matrix Support} |
---|
267 | \input{texsrc/m_SparseMatrix} |
---|
268 | \vspace*{\fill} |
---|
269 | \newpage |
---|
270 | % |
---|
271 | \input{texsrc/m_SparseMatrixComms} |
---|
272 | \vspace*{\fill} |
---|
273 | \newpage |
---|
274 | % |
---|
275 | \input{texsrc/m_SparseMatrixDecomp} |
---|
276 | \vspace*{\fill} |
---|
277 | \newpage |
---|
278 | % |
---|
279 | \input{texsrc/m_SparseMatrixToMaps} |
---|
280 | \vspace*{\fill} |
---|
281 | \newpage |
---|
282 | % |
---|
283 | \input{texsrc/m_SparseMatrixPlus} |
---|
284 | \vspace*{\fill} |
---|
285 | \newpage |
---|
286 | % |
---|
287 | % |
---|
288 | \section{Matrix Vector Multiplication} |
---|
289 | \input{texsrc/m_MatAttrVectMul} |
---|
290 | \vspace*{\fill} |
---|
291 | \newpage |
---|
292 | % |
---|
293 | \section{Spatial Integration and Averaging} |
---|
294 | \input{texsrc/m_SpatialIntegral} |
---|
295 | \vspace*{\fill} |
---|
296 | \newpage |
---|
297 | \input{texsrc/m_SpatialIntegralV} |
---|
298 | \vspace*{\fill} |
---|
299 | \newpage |
---|
300 | % |
---|
301 | \section{Merging of Flux and State Data from Multiple Sources} |
---|
302 | \input{texsrc/m_Merge} |
---|
303 | \vspace*{\fill} |
---|
304 | \newpage |
---|
305 | % |
---|
306 | \section{Time Averaging} |
---|
307 | \input{texsrc/m_Accumulator} |
---|
308 | \vspace*{\fill} |
---|
309 | \newpage |
---|
310 | % |
---|
311 | \input{texsrc/m_AccumulatorComms} |
---|
312 | \vspace*{\fill} |
---|
313 | \newpage |
---|
314 | % |
---|
315 | \section{Global To Local Index Translation} |
---|
316 | \input{texsrc/m_GlobalToLocal} |
---|
317 | \vspace*{\fill} |
---|
318 | \newpage |
---|
319 | % |
---|
320 | \section{Convert From Global Map To Global Segment Map} |
---|
321 | \input{texsrc/m_ConvertMaps} |
---|
322 | \vspace*{\fill} |
---|
323 | \newpage |
---|
324 | |
---|
325 | \part{Documentation of MPEU Datatypes Used to Define MCT Datatypes} |
---|
326 | % |
---|
327 | \section{The String Datatype} |
---|
328 | \input{texsrc/m_String} |
---|
329 | \vspace*{\fill} |
---|
330 | \newpage |
---|
331 | % |
---|
332 | \section{The List Datatype} |
---|
333 | \input{texsrc/m_List} |
---|
334 | \vspace*{\fill} |
---|
335 | \newpage |
---|
336 | |
---|
337 | %\addcontentsline{toc}{part}{References} |
---|
338 | |
---|
339 | %\bibliographystyle{apalike} % for BibTeX - uses [Name, year] method?? |
---|
340 | |
---|
341 | %\bibliography{coupler} |
---|
342 | \end{document} |
---|