The Model Coupling Toolkit

Fork me on GitHub

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), 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.10.0 -- released April 19, 2018

MCT Users:

Download Software:

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


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

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.

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

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

Git repository:

Source code can be browsed:

To check out the source: git clone

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


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

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),, [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 or contribute directly on GitHub

View the Change log

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 has been developed under the following projects: DOE ACPI Avante Garde project, DOE Scientific Discovery through Advanced (SciDAC) Computing program, the Climate Science for a Sustainable Energy Future project and the Energy Exascale Earth System Model project.