The Model Coupling Toolkit




MCT is a set of open-source software tools for creating coupled models. MCT is fully parallel and can be used to couple message-passing parallel models to create a parallel coupled model. MCT is available as a small library and a set of Fortran90 modules.

MCT provides model interoperability through a simple API. Two models that declare and use MCT datatypes can be coupled with a minimum of effort.

MCT provides the following core coupling services:

MCT can be used in single or multiple executable systems and allows sequential or concurrent execution.

Supported platforms include IBM (Power and BG/P), Cray XT*, Linux clusters (with Absoft, GNU, Lahey, NAG, PGI, PathScale, or Intel compilers and MPICH, OpenMPI, VMI and/or ChaMPIon/Pro MPI libraries), NEC.

Latest Standalone Release: MCT 2.8.3 -- released Dec 17, 2012


MCT Users:


Download Software:

MCT source (including data for example programs) [.tar.gz] 4.2MB

or

MCT source only [.tar.gz]. Only 0.4MB

"examples" directory not included in above. Untar in MCT directory. [.tar].


Optional Additional Downloads:

To install these options, first download and untar one of the packages above.
Then place these files in the "MCT" directory and untar.

Babel cross-language interface for MCT [.tar.gz] (0.8MB). C++ and python bindings are available. See babel/README for more information.

Little Endian data file for examples [.tar.gz] 3.8MB

Git repository:

Source code can be browsed: http://git.mcs.anl.gov/MCT.git

To check out the source: git clone git://git.mcs.anl.gov/MCT.git

Also see the repo on GitHub


Mailing list:

To receive announcements about MCT including bug fixes and new releases, join the MCT mailing list.
This is a low-traffic mailing list.
View the mct-ann archive

Documentation:

Current MCT Application Program Interface (API) Document [html]   [pdf]   [ps]

MPEU (included with MCT) tutorial [pdf]

User's Guide to the Model Coupling Toolkit - Not yet available.
Please see the examples in the MCT distribution above in particular the program examples/climate_sequen1.
Also feel free to ask lots of questions using the email addresses below (for Jacob or Larson).

Main References:

(To reference MCT, please use both of the papers below.)

Larson, Jacob, Ong "The Model Coupling Toolkit: A New Fortran90 Toolkit for Building Multiphysics Parallel Coupled Models." 2005: Int. J. High Perf. Comp. App.,19(3), 277-292. online, [pdf]

Jacob, Larson, Ong "MxN Communication and Parallel Interpolation in CCSM3 Using the Model Coupling Toolkit." 2005: Int. J. High Perf. Comp. App.,19(3), 293-307.online, [pdf]

Other Papers/Talks:

MCT Applications:

Craig, Jacob, Kauffman, Bettge, Larson, Ong, Ding, He, 2005: "Cpl6: The New Extensible High-Performance Parallel Coupler for the Community Climate System Model." Int. J. High Perf. Comp. App.,19(3), 309-327. online, [pdf](preprint)


We welcome feedback and any suggestions for code changes. We also welcome code contributions and will, after review, include them with full credit. Please mail any suggestions to Robert Jacob jacob@mcs.anl.gov or Jay Larson larson@mcs.anl.gov

View the Change log

Compiler Notes - details about compiling MCT with Intel Fortran and other compilers.

Search for or report a bug at MCT's Bugzilla


MCT developers:

Robert Jacob
Jay Larson
Ray Loy
Everest Ong


MCT development is supported by the Climate and Environmental Sciences Division of the Office of Biological & Environmental Research, Office of Science, U. S. Department of Energy

MCT was developed under the following projects: DOE ACPI Avante Garde project, DOE Scientific Discovery through Advanced (SciDAC) Computing program, and Climate Science for a Sustainable Energy Future.