###################################################################### -- Mathematics + Computer Science Div. / Argonne National Laboratory Model Coupling Toolkit (MCT) Jay Larson Robert Jacob Everest Ong Ray Loy For more information, see http://www.mcs.anl.gov/mct See MCT/COPYRIGHT for license. ###################################################################### This is version 2.8 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. ###################################################################### REQUIREMENTS: Building MCT requires a Fortran90 compiler. An 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 parallel platform. 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/P, use: > ./configure FC=bgxlf90_r CC=mpixlc_r MPIFC=mpixlf90_r (can also use versions without _r) At ALCF, one can just type "./configure". On the Cray X* (e.g. jaguar) use: > ./configure --host=Linux FC=ftn MPIFC=ftn ###################################################################### 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 available by anonymous ftp from: Software: ftp://dao.gsfc.nasa.gov/pub/papers/sawyer/protex1.4.tar.Z Documentation: ftp://dao.gsfc.nasa.gov/pub/office_notes/on9711r0.ps.Z 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 Tag $Name$ $Id$