[6331] | 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} |
---|