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.11.0 -- released February 11, 2021

MCT Users:

Download Software:

MCT Source:
tar files

To run the climate examples, download the mct20_test_dataLE.tar.gz file at the above link and untar it inside the MCT source directory. It will create a directory called "data" with the needed files.

Git repository:

Source code can be browsed:

To check out the source: git clone

Optional Additional Downloads:

To install these options, first get the source code from one of the above links.
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.

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 [pdf]  

Older vesion in HTML [html]  

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.