%mct API Specification % J.W. Larson / MCS, Argonne National Laboratory % R.L. Jacob % First Version Begun 8/28/00 % % \documentclass{article} \usepackage{epsfig} \usepackage{graphicx} %\usepackage{fancyheadings} % Keep these dimensions \textheight 9in \topmargin 0pt \headsep 22pt \headheight 0pt \textwidth 6in \oddsidemargin 0in \evensidemargin 0in \marginparpush 0pt \pagestyle{plain} \setlength{\hoffset}{0.25in} % Headings % -------- \pagestyle{plain} % AFTER redefining \textheight etc. % \lhead[]{{\em NGC Design Document}} % left part of header % \chead[]{} % center part of header % \rhead[]{\em {\today}} % right part of header % \cfoot{\roman{page}} %\lfoot[]{} % left part of footer % \rfoot[]{} % right part of footer % \headrulewidth 0pt % if you don't want a rule under the header % \footrulewidth 0pt % if you don't want a rule above the footer %...................................................................... %.............begin document............. \begin{document} \begin{sloppypar} {\huge\bf %%% %%% Enter your title below (after deleting mine) %%% The Model Coupling Toolkit API Reference Manual: MCT v. 2.8 \\ } %%% IMPORTANT: Keep this \\ before the } \end{sloppypar} %%% %%% Author names and affiliations go below, follow example %%% \vspace{.3in} \noindent J.~W.~Larson\\ R.~L.~Jacob\\ E.~Ong\\ R.~Loy\\ \vspace{.2in} {\em Mathematics and Computer Science Division, Argonne National Laboratory\\} \vfill %%% %%% These lines are standard - keep them! %%% Edit the ``has not been published'' as appropriated. {\em This paper has not been published and should be regarded as an Internal Report from MCS. Permission to quote from this Technical Note should be obtained from the MCS Division of Argonne National Laboratory.} \vspace{0.4in} \thispagestyle{empty} \newpage %.......................... END FIRST PAGE ...................... \pagenumbering{roman} %......................... REVISION HISTORY .......................... \newpage \setcounter{page}{2} %%%% Revision History starts at page ii \addcontentsline{toc}{part}{Revision History} \vspace*{\fill} \centerline{\huge\bf Revision History} \bigskip \noindent{This Technical Note was produced for the Scientific Discovery through Advanced Computing (SciDAC) project.} \begin{center} \begin{tabular}{|l|l|l|l|}\hline {\bf Version} & {\bf Version} & {\bf Pages Affected/} & {\bf Aproval}\\ {\bf Number} & {\bf Date} & {\bf Extent of Changes} & {\bf Authority}\\ \hline \hline Version 1$\beta$ & December 13, 2000 & First draft (before review) & \\\hline Version 1$\beta2$ & February 16, 2001 & Add more routines & \\\hline Version 1$\beta3$ & June 6, 2001 & Convert to pure API's doc & \\\hline Version 1$\beta4$ & Apr 24, 2002 & Update with latest source & \\\hline Version 1.0 & Nov 14, 2002 & 1.0 Version & \\\hline Version 2.0.0 & Apr 23, 2004 & 2.0.0 Version & \\\hline Version 2.0.1 & May 18, 2004 & 2.0.1 Version & \\\hline Version 2.1.0 & Feb 11, 2005 & 2.1.0 Version & \\\hline Version 2.2.0 & Dec 01, 2005 & 2.2.0 Version & \\\hline Version 2.2.1 & Apr 22, 2006 & 2.2.1 Version & \\\hline Version 2.2.2 & Sep 08, 2006 & 2.2.2 Version & \\\hline Version 2.2.3 & Oct 16, 2006 & 2.2.3 Version & \\\hline Version 2.3.0 & Jan 10, 2007 & 2.3.0 Version & \\\hline Version 2.4.0 & Aug 17, 2007 & 2.4.0 Version & \\\hline Version 2.4.1 & Nov 21, 2007 & 2.4.1 Version & \\\hline Version 2.5.0 & Jan 28, 2008 & 2.5.0 Version & \\\hline Version 2.5.1 & May 20, 2008 & 2.5.1 Version & \\\hline Version 2.6.0 & Mar 05, 2009 & 2.6.0 Version & \\\hline Version 2.7.0 & Jan 05, 2010 & 2.7.0 Version & \\\hline Version 2.7.1 & Feb 28, 2010 & 2.7.1 Version & \\\hline Version 2.7.2 & Nov 30, 2010 & 2.7.2 Version & \\\hline Version 2.7.3 & Jan 25, 2011 & 2.7.3 Version & \\\hline Version 2.7.4 & Mar 07, 2012 & 2.7.4 Version & \\\hline Version 2.8.0 & Apr 30, 2012 & 2.8.0 Version & \\\hline \end{tabular} \end{center} \vspace*{\fill} %.......................... ABSTRACT .................................. \newpage \setcounter{page}{3} %%%% abstract starts at page iii \addcontentsline{toc}{part}{Preface} \vspace*{\fill} This document describes the Application Program Interfaces (APIs) for the Model Coupling Toolkit (MCT). For functions that take a Fortran90 {\tt real} argument, either a scalar or a vector, MCT provides both double and single precision versions. Only the single precision version are described here denoted by SP. The double precision versions are otherwise identical. \vspace*{\fill} \newpage \tableofcontents \newpage % Switch page numbering to arabic numerals \pagenumbering{arabic} \part{Basic API's and associated communication routines} % \section{MCTWorld} \input{texsrc/m_MCTWorld} \vspace*{\fill} \newpage % % \section{The Attribute Vector} \input{texsrc/m_AttrVect} \vspace*{\fill} \newpage % \input{texsrc/m_AttrVectComms} \vspace*{\fill} \newpage % \input{texsrc/m_AttrVectReduce} \vspace*{\fill} \newpage % % \section{Global Segment Map} \input{texsrc/m_GlobalSegMap} \vspace*{\fill} \newpage % \input{texsrc/m_GlobalSegMapComms} \vspace*{\fill} \newpage % % \section{The Router} \input{texsrc/m_Router} \vspace*{\fill} \newpage % % \section{The General Grid} \input{texsrc/m_GeneralGrid} \vspace*{\fill} \newpage % \input{texsrc/m_GeneralGridComms} \vspace*{\fill} \newpage % % \section{The Navigator} \input{texsrc/m_Navigator} \vspace*{\fill} \newpage % % \section{The Global Map} \input{texsrc/m_GlobalMap} \vspace*{\fill} \newpage % % \part{High Level API's} % \section{Sending and Receiving Attribute Vectors} \input{texsrc/m_Transfer} \vspace*{\fill} \newpage % \section{Rearranging Attribute Vectors} \input{texsrc/m_Rearranger} \vspace*{\fill} \newpage % \section{Sprase Matrix Support} \input{texsrc/m_SparseMatrix} \vspace*{\fill} \newpage % \input{texsrc/m_SparseMatrixComms} \vspace*{\fill} \newpage % \input{texsrc/m_SparseMatrixDecomp} \vspace*{\fill} \newpage % \input{texsrc/m_SparseMatrixToMaps} \vspace*{\fill} \newpage % \input{texsrc/m_SparseMatrixPlus} \vspace*{\fill} \newpage % % \section{Matrix Vector Multiplication} \input{texsrc/m_MatAttrVectMul} \vspace*{\fill} \newpage % \section{Spatial Integration and Averaging} \input{texsrc/m_SpatialIntegral} \vspace*{\fill} \newpage \input{texsrc/m_SpatialIntegralV} \vspace*{\fill} \newpage % \section{Merging of Flux and State Data from Multiple Sources} \input{texsrc/m_Merge} \vspace*{\fill} \newpage % \section{Time Averaging} \input{texsrc/m_Accumulator} \vspace*{\fill} \newpage % \input{texsrc/m_AccumulatorComms} \vspace*{\fill} \newpage % \section{Global To Local Index Translation} \input{texsrc/m_GlobalToLocal} \vspace*{\fill} \newpage % \section{Convert From Global Map To Global Segment Map} \input{texsrc/m_ConvertMaps} \vspace*{\fill} \newpage \part{Documentation of MPEU Datatypes Used to Define MCT Datatypes} % \section{The String Datatype} \input{texsrc/m_String} \vspace*{\fill} \newpage % \section{The List Datatype} \input{texsrc/m_List} \vspace*{\fill} \newpage %\addcontentsline{toc}{part}{References} %\bibliographystyle{apalike} % for BibTeX - uses [Name, year] method?? %\bibliography{coupler} \end{document}