######################################################################

 -- Argonne National Laboratory

    Model Coupling Toolkit (MCT)

    Robert Jacob
    Jay Larson
    Everest Ong
    Ray Loy

    For more information, see http://www.mcs.anl.gov/mct

    See MCT/COPYRIGHT for license.

######################################################################

  This is version 2.10 of the Model Coupling Toolkit (MCT).

  Our purpose in creating this toolkit is to support the construction
  of highly portable and extensible high-performance couplers
  for distributed memory parallel coupled models.

######################################################################


  Current Contents of the directory MCT:

  README   -- this file

  COPYRIGHT - copyright statement and license.

  mct/     -- Source code for the Model Coupling Toolkit.

  mpeu/    -- Source code for the message-passing environment utilities
              library (MPEU), which provides support for MCT

  mpi-serial/  -- Source code for optional mpi replacement library.

  examples/-- Source code for examples which demonstrate the use of MCT.

  doc/     -- documentation for MCT

  protex/  -- tool for constructing documentation from source code

  data/    -- input data for running example programs.  Not needed to
              compile the library.

  m4/      -- files for autoconf (not needed to build).

Optional Contents available

  babel/   -- multi language interface for MCT using BABEL.
              See babel/README for more information.
	      NO LONGER SUPPORTED

######################################################################
  REQUIREMENTS:

  Building MCT requires a Fortran90 compiler.

  A full MPI library is now optional.  To compile without MPI, add
  --enable-mpiserial to the configure command below.  Note that
  not all the examples will work without MPI.  See mpi-serial/README
  for more information.


  The MCT library builds and the examples run on the following
  platforms/compilers:

  Linux: Portland Group, Intel, gfortran, Absoft, Pathscale, Lahey, NAG
  MacOSX: gfortran
  IBM (AIX) xlf
  IBM BlueGene (see PLATFORM NOTE below)
  SGI Altix
  Cray XT/XK
  Compaq  Compaq Fortran Compiler (X5.5-2801-48CAG or later)
  SUN (Solaris) f90 WorkShop
  NEC
  Fujitsu

  Running some of the examples requires a full MPI installation with mpirun
  Memory requirements are modest.

######################################################################
  BUILD INSTRUCTIONS:

  In the top level directory (the location of this README):
	> ./configure
	> make

  "make examples" will build the example programs.

  BUILD HELP:
  Try "./configure -help"  for a list of options.

  The correct Fortran90 compiler must be in your current path.
  A frequent problem on Linux is when more than one F90 compiler
  is in your path and configure finds one and later finds mpif90
  for another.

  Example: If configure has trouble finding the correct F90 compiler:
    > ./configure FC=pgf90.

  You can also direct configure through environment variables:
    > setenv FC xlf90
    > ./configure

  If the build fails, please do the following:
    > ./configure >& config.out
    > make >& make.out
  and send us config.out, make.out and config.log (which is produced by the
  configure command)

  PLATFORM NOTES:
  On a BlueGene, use:
  >  ./configure FC=bgxlf90_r CC=mpixlc_r MPIFC=mpixlf90_r (can also use versions without _r)

######################################################################
  INSTALLATION INSTRUCTIONS:

  "make install" will copy the .mod files to the /usr/include directory
  and the *lib.a files to /usr/lib.   To override these choices, use
  "-prefix" when running configure:
       > ./configure --prefix=/home/$USER
  With the above option, "make install" will place .mod's in /home/$USER/include
  and *lib.a's in /home/$USER/lib

######################################################################
  BUILDING AND RUNNING THE EXAMPLES

  The programs in MCT/examples/simple require no input.

  The programs in MCT/examples/climate_concur1 and MCT/examples/climate_sequen1
  require some input data in a directory called MCT/data.  The dataset is available with MCT
   or separately from the website.

  To build them, type "make examples" in the top level directory or
  cd to examples and type "make".

######################################################################

  Both MCT and MPEU source code are self-documenting.  All modules
  and routines contain prologues that can be extracted and processed
  into LaTeX source code by the public-domain tool ProTeX.  ProTeX is
  included in the MCT source and available from:
  http://gmao.gsfc.nasa.gov/software/protex/

  You can build the documentation with protex and latex by following
  the directions in the doc directory.

######################################################################

  REVISION HISTORY:

  18 Oct, 2000 -- Initial prototype
  09 Feb, 2001 -- working MxN transfer
  27 Apr, 2001 -- Sparse Matrix Multiply
  13 Jun, 2001 -- General Grid
  23 Aug, 2001 -- Linux PGF90 port
  14 Dec, 2001 -- PCM support
  29 Mar, 2002 -- Rearranger
  14 Nov, 2002 -- version 1.0.0 -- first public release
  11 Feb, 2003 -- version 1.0.4
  12 Mar, 2003 -- version 1.0.5
  02 Apr, 2003 -- version 1.0.7
  03 Jul, 2003 -- version 1.0.9
  26 Aug, 2003 -- version 1.0.12
  12 Sep, 2003 -- version 1.0.14
  21 Jan, 2004 -- version 1.4.0
  05 Feb, 2004 -- version 1.6.0
  23 Apr, 2004 -- version 2.0.0
  18 May, 2004 -- version 2.0.1
  11 Jul, 2004 -- version 2.0.2
  19 Oct, 2004 -- version 2.0.3 (not released)
  21 Jan, 2005 -- version 2.1.0
  01 Dec, 2005 -- version 2.2.0
  22 Apr, 2006 -- version 2.2.1 (not released)
  08 Sep, 2006 -- version 2.2.2
  16 Oct, 2006 -- version 2.2.3
  10 Jan, 2007 -- version 2.3.0
  17 Aug, 2007 -- version 2.4.0
  21 Nov, 2007 -- version 2.4.1
  20 Dec, 2007 -- version 2.4.2 (not released)
  21 Jan, 2008 -- version 2.4.3 (not released)
  28 Jan, 2008 -- version 2.5.0
  20 May, 2008 -- version 2.5.1
  05 Mar, 2009 -- version 2.6.0
  05 Jan, 2010 -- version 2.7.0 (released only in CCSM4)
  28 Feb, 2010 -- version 2.7.1 (released only in CESM1)
  30 Nov, 2010 -- version 2.7.2 (released only in CESM1.0.3)
  25 Jan, 2011 -- version 2.7.3 (not released)
  07 Mar, 2012 -- version 2.7.4 (not released)
  30 Apr, 2012 -- version 2.8.0
  05 Jul, 2012 -- version 2.8.1 (not released)
  12 Sep, 2012 -- version 2.8.2 (not released)
  16 Dec, 2012 -- version 2.8.3
  19 Jun, 2015 -- version 2.9.0
  12 Mar, 2018 -- version 2.10.0
