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
- a component model registry
- domain decomposition descriptors
- communications schedulers for parallel MxN intercomponent data
transfer and MxM intracomponent data redistribution
- a flexible and indexible (i.e., random-access) field data
- a time averaging and accumulation buffer datatype
- a general spatial grid representation capable of supporting
- parallel tools for intergrid interpolation implemented as
matrix-vector multiplication spatial integration and averaging tools
(including paired integrals to support conservative interpolation)
- tools for merging data from multiple components for use by another component.
- a programming model similar to that of the Message Passing Interface.
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
- CCSM/CESM:   MCT is the underlying software for the coupler
in the latest release (version 4) of the Community Climate System Model and in CESM1.
COWAST a Coupled Ocean-Atmosphere-Wave-Sediment Transport (COAWST) modeling system.
WRF/ROMS Hurricane model:
MCT was used to couple the WRF
weather model to the ROMS ocean model to study hurricane formation.
- COAMPS/ROMS coupling with MCT to simulate the coastal atmosphere.
MCT source (including data for example programs) [.tar.gz] 4.2MB
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
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
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
MPEU (included with MCT) tutorial
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).
(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),
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.
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 firstname.lastname@example.org
Jay Larson email@example.com
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 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,
Discovery through Advanced (SciDAC) Computing program, and Climate Science for a Sustainable Energy Future.