mct_APIs.tex 7.2 KB

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