% $Id: user_arch.tex,v 1.52 2011/07/14 22:46:09 theurich Exp $

% List of architectures supported.  This file is 
% meant to be included in a user doc.

The following two tables list various combinations of environment 
variable settings used by the ESMF build system. A {\tt default}
value in the compiler column indicates the vendor compiler. A {\tt mpi}
value in the comm column indicates the vendor MPI implementation.

The first table lists the exact combinations which are tested regularly and are
fully supported. The second table lists all possible combinations which are 
included in the build system.

\vspace{1ex}
{\bf Fully tested combinations}: (See \htmladdnormallink{http://www.earthsystemmodeling.org/download/platforms/}{http://www.earthsystemmodeling.org/download/platforms/} for the most up-to-date table of supported combinations.)
\vspace{1ex}

\begin{tabular}{lllllll}
  &{\bfseries\footnotesize ESMF\_OS} &{\bfseries\footnotesize ESMF\_COMPILER} & {\bfseries\footnotesize ESMF\_COMM} & {\bfseries\footnotesize ESMF\_ABI} &
  {\bfseries\footnotesize F90 compiler} & {\bfseries\footnotesize C++ compiler} \\

Cray XE6              &\tt Unicos &\tt pgi          &\tt mpi        &\tt 64              & ftn/pgf90 \footnotesize 11.2-0     & CC/pgCC \footnotesize 11.2-0    \\ % hopper
%Cray XT4              &\tt Unicos &\tt intel        &\tt mpi        &\tt 64              & ftn/ifort \footnotesize 11.1.046   & CC/icpc \footnotesize 11.1.046  \\ % jaguar
%Cray XT4              &\tt Unicos &\tt pgi          &\tt mpi        &\tt 64              & ftn/pgf90 \footnotesize 10.3-0     & CC/pgCC \footnotesize 10.3-0    \\ % jaguar
Cray XT5              &\tt Unicos &\tt intel        &\tt mpi        &\tt 64              & ftn/ifort \footnotesize 11.1.046   & CC/icpc \footnotesize 11.1.046  \\ % jaguarpf
Cray XT5              &\tt Unicos &\tt pgi          &\tt mpi        &\tt 64              & ftn/pgf90 \footnotesize 10.3-0     & CC/pgCC \footnotesize 10.3-0    \\ % jaguarpf
%HP ZX6000             &\tt Linux  &\tt intel        &\tt lam        &\tt 64              & ifort \footnotesize 8.1.021        & icpc \footnotesize 8.1.024      \\ % harri
IBM Bluegene          &\tt Linux  &\tt xlf          &\tt mpi        &\tt 32              & mpxlf90 \footnotesize 11.1.0.4     & mpxlC \footnotesize 9.0.0.4     \\ % frost
%IBM Opteron           &\tt Linux  &\tt pathscale    &\tt mpich      &\tt x86\_64\_small, & pathf90 \footnotesize 2.4          & pathCC \footnotesize 2.4        \\ % lightning
%                      &           &                 &               &\tt x86\_64\_medium &                                    &                                 \\
%IBM Opteron           &\tt Linux  &\tt pgi          &\tt mpich      &\tt x86\_64\_small, & pgf90 \footnotesize 6.2-3          & pgCC \footnotesize 6.2-3        \\ % lightning
%                      &           &                 &               &\tt x86\_64\_medium &                                    &                                 \\
IBM SP                &\tt AIX    &\tt default      &\tt mpi        &\tt 32,64           & mpxlf90\_r \footnotesize 12.1.0.8  & mpCC\_r \footnotesize 10.1.0.6  \\ % bluefire
%Mac G5                &\tt Darwin &\tt absoft       &\tt lam,mpiuni &\tt 32              & f90 \footnotesize 9.0              & g++ \footnotesize 3.3           \\ % glass
%Mac G5                &\tt Darwin &\tt absoft       &\tt lam,mpiuni &\tt 32              & f90 \footnotesize 8.2              & g++ \footnotesize 3.3           \\ % glass
%Mac G5                &\tt Darwin &\tt nag          &\tt lam,mpiuni &\tt 32              & f95 \footnotesize 5.0(272)         & g++ \footnotesize 3.3           \\ % glass
%Mac G5                &\tt Darwin &\tt xlf          &\tt lam,mpiuni &\tt 32              & xlf90\_r \footnotesize 8.1         & xlC\_r \footnotesize 6.0        \\ % glass
%Mac G5                &\tt Darwin &\tt xlfgcc       &\tt lam,mpiuni &\tt 32              & xlf90\_r \footnotesize 8.1         & g++ \footnotesize 3.3           \\ % glass
Mac Xeon (64)         &\tt Darwin &\tt g95          &\tt mpiuni     &\tt 32              & g95 \footnotesize 0.92(4.0.3)       & g++ \footnotesize 4.2.1         \\ % haumea
%                      &           &                 &\tt mpich2     &                    &                                    &                                 \\
%                      &           &                 &\tt mvapich2   &                    &                                    &                                 \\
Mac Xeon (64)         &\tt Darwin &\tt gfortran     &\tt mpich2     &\tt 64              & gfortran \footnotesize 4.5.3       & g++ \footnotesize 4.5.3         \\ % haumea
                      &           &                 &\tt mvapich2   &                    &                                    &                                 \\
%Mac Xeon (64)         &\tt Darwin &\tt intel        &\tt openmpi    &\tt 64              & ifort \footnotesize 10.1.014       & icpc \footnotesize 10.1.014     \\ % haumea
%                      &           &                 &\tt mpich2     &                    &                                    &                                 \\
%                      &           &                 &\tt mvapich2   &                    &                                    &                                 \\
%Mac Xeon (64)         &\tt Darwin &\tt absoft       &\tt openmpi    &\tt 64              & f90 \footnotesize                  & g++ \footnotesize 4.4.2         \\ % haumea
%                      &           &                 &\tt mpich2     &                    &                                    &                                 \\
%                      &           &                 &\tt mvapich2   &                    &                                    &                                 \\
Mac Xeon (64)         &\tt Darwin &\tt nag          &\tt mpiuni     &\tt 64              & nagfor \footnotesize 5.2(711)       & g++ \footnotesize 4.2.1         \\ % haumea
%                      &           &                 &\tt openmpi    &                    &                                    &                                 \\
%                      &           &                 &\tt mpich2     &                    &                                    &                                 \\
%                      &           &                 &\tt mvapich2   &                    &                                    &                                 \\
%Mac Xeon (64)         &\tt Darwin &\tt pgi          &\tt openmpi    &\tt 64              & pgf90 \footnotesize                & pgCC \footnotesize              \\ % haumea
%                      &           &                 &\tt mpich2     &                    &                                    &                                 \\
%                      &           &                 &\tt mvapich2   &                    &                                    &                                 \\
%PC Pentium III        &\tt Linux  &\tt lahey        &\tt mpiuni     &\tt 32              & lf95 \footnotesize L6.20d          & g++ \footnotesize 4.1.2         \\ % longs
%PC Pentium III        &\tt Linux  &\tt pgi          &\tt mpiuni     &\tt 32              & pgf90 \footnotesize 7.1-3          & pgCC \footnotesize 7.1-3        \\ % longs
%PC Pentium III        &\tt Linux  &\tt pgigcc       &\tt mpiuni     &\tt 32              & pgf90 \footnotesize 7.1-3          & g++ \footnotesize 4.1.2         \\ % longs
%PC Xeon (32) Cluster  &\tt Linux  &\tt absoft       &\tt mpich      &\tt 32              & f90 \footnotesize 9.0 r2           & g++ \footnotesize 3.2.3         \\ % jazz
%PC Xeon (32) Cluster  &\tt Linux  &\tt absoftintel  &\tt mpich      &\tt 32              & f90 \footnotesize 9.0 r2           & icpc \footnotesize 8.1          \\ % jazz
%PC Xeon (32) Cluster  &\tt Linux  &\tt g95          &\tt mpich      &\tt 32              & g95 \footnotesize 0.92             & g++  \footnotesize 4.0.2        \\ % jazz
%PC Xeon (32) Cluster  &\tt Linux  &\tt intel        &\tt mpich      &\tt 32              & ifort \footnotesize 8.1            & icpc \footnotesize 8.1          \\ % jazz
%PC Xeon (32) Cluster  &\tt Linux  &\tt nagintel     &\tt mpich      &\tt 32              & f95 \footnotesize 5.0(361)         & icpc \footnotesize 8.1          \\ % jazz
PC Xeon (64)          &\tt Linux  &\tt g95          &\tt mpich2     &\tt 64              & g95 \footnotesize 0.92(4.0.3)      & g++  \footnotesize 4.4.0        \\ % pluto
                      &           &                 &\tt mvapich2   &                    &                                    &                                 \\
                      &           &                 &\tt openmpi    &                    &                                    &                                 \\
PC Xeon (64)          &\tt Linux  &\tt gfortran     &\tt mpich2     &\tt 64              & gfortran \footnotesize 4.4.0       & g++  \footnotesize 4.4.0        \\ % pluto
                      &           &                 &\tt mvapich2   &                    &                                    &                                 \\
                      &           &                 &\tt openmpi    &                    &                                    &                                 \\
%PC Xeon (64)          &\tt Linux  &\tt absoft       &\tt openmpi    &\tt 64              & f90 \footnotesize 11.0.2           & g++  \footnotesize 4.4.0        \\ % pluto
%                      &           &                 &\tt mpich2     &                    &                                    &                                 \\
%                      &           &                 &\tt mvapich2   &                    &                                    &                                 \\
PC Xeon (64)          &\tt Linux  &\tt nag          &\tt mpiuni     &\tt 64              & nagfor \footnotesize 5.2(668)      & g++  \footnotesize 4.4.0        \\ % pluto
                      &           &                 &\tt mpich2     &                    &                                    &                                 \\
                      &           &                 &\tt mvapich2   &                    &                                    &                                 \\
%PC Xeon (64)          &\tt Linux  &\tt lahey        &\tt openmpi    &\tt 64              & lf95 \footnotesize L8.10b          & g++  \footnotesize 4.4.0        \\ % pluto
%                      &           &                 &\tt mpich2     &                    &                                    &                                 \\
%                      &           &                 &\tt mvapich2   &                    &                                    &                                 \\
PC Xeon (64) Cluster  &\tt Linux  &\tt g95          &\tt mvapich2   &\tt 64              & g95 \footnotesize 0.92(4.0.3)      & g++ \footnotesize 4.1.2         \\ % fusion
PC Xeon (64) Cluster  &\tt Linux  &\tt gfortran     &\tt mvapich2   &\tt 64              & gfortran \footnotesize 4.4.2       & g++ \footnotesize 4.4.2         \\ % fusion
PC Xeon (64) Cluster  &\tt Linux  &\tt intel        &\tt mvapich2   &\tt 64              & ifort \footnotesize 11.1.064       & icpc \footnotesize 11.1.064     \\ % fusion
%                      &           &                 &\tt mpich2   &                    &                                    &                                 \\
%PC Xeon (64) Cluster  &\tt Linux  &\tt pgi          &\tt mpich      &\tt 64              & pgf90 \footnotesize 9.0-4          & pgCC \footnotesize 9.0-4        \\ % coral
PC Xeon (64) Cluster  &\tt Linux  &\tt intel        &\tt mvapich2   &\tt 64              & ifort \footnotesize 11.1.072       & icpc \footnotesize 11.1.072     \\ % wjet
%PC Xeon (64) Cluster  &\tt Linux  &\tt lahey        &\tt mpiuni     &\tt 64              & lf95 \footnotesize L8.00a          & g++ \footnotesize 4.1.2         \\ % wjet
%PC Xeon (64) Cluster  &\tt Linux  &\tt pgi          &\tt mvapich2   &\tt 64              & pgf90 \footnotesize 7.1-3          & pgCC \footnotesize 7.1-3        \\ % wjet
PC Xeon (64) Cluster  &\tt Linux  &\tt pgi          &\tt mvapich2   &\tt 64              & pgf90 \footnotesize 10.6-0         & pgCC \footnotesize 10.6-0       \\ % wjet
PC Xeon (64) Cluster  &\tt Linux  &\tt g95          &\tt mvapich2   &\tt 64              & g95 \footnotesize 0.92(4.0.3)      & g++ \footnotesize 4.1.2         \\ % discover
PC Xeon (64) Cluster  &\tt Linux  &\tt gfortran     &\tt mvapich2   &\tt 64              & gfortran \footnotesize 4.5.0       & g++ \footnotesize 4.5.0         \\ % discover
PC Xeon (64) Cluster  &\tt Linux  &\tt intel        &\tt intelmpi   &\tt 64              & ifort \footnotesize 11.1.069       & icpc \footnotesize 11.1.069     \\ % discover
                      &           &                 &\tt openmpi    &                    &                                    &                                 \\
PC Xeon (64) Cluster  &\tt Linux  &\tt intel        &\tt mvapich2   &\tt 64              & ifort \footnotesize 11.1.072       & icpc \footnotesize 11.1.072     \\ % discover
PC Xeon (64) Cluster  &\tt Linux  &\tt nag          &\tt mpiuni     &\tt 64              & nagfor \footnotesize 5.2(638)      & g++  \footnotesize 4.1.2        \\ % discover
%PC Xeon (64) Cluster  &\tt Linux  &\tt pgi          &\tt scalimpi   &\tt 64              & pgf90 \footnotesize 7.1-6          & pgCC \footnotesize 7.1-6        \\ % discover
%PC Xeon (64) Cluster  &\tt Linux  &\tt pgi          &\tt mvapich(v1)&\tt 64              & pgf90 \footnotesize 10.1-0         & pgCC \footnotesize 10.1-0       \\ % discover
%SGI Altix (ia64)      &\tt Linux  &\tt intel        &\tt mpi        &\tt 64              & ifort \footnotesize 11.0.083       & icpc \footnotesize 11.0.083     \\ % columbia
SGI Altix (ia64)      &\tt Linux  &\tt intel        &\tt mpiuni     &\tt 64              & ifort \footnotesize 11.1.072       & icpc \footnotesize 11.1.072     \\ % columbia
SGI Altix ICE         &\tt Linux  &\tt gfortran     &\tt mpiuni     &\tt 64              & gfortran \footnotesize 4.4.5       & g++ \footnotesize 4.4.5         \\ % pleiades
%SGI Altix ICE         &\tt Linux  &\tt intel        &\tt mpi        &\tt 64              & ifort \footnotesize 10.1.021       & icpc \footnotesize 10.1.021     \\ % pleiades
SGI Altix ICE         &\tt Linux  &\tt intel        &\tt mpiuni     &\tt 64              & ifort \footnotesize 11.0.083       & icpc \footnotesize 11.0.083     \\ % pleiades
SGI Altix ICE         &\tt Linux  &\tt pgi          &\tt mpiuni     &\tt 64              & pgf90 \footnotesize 11.0-0         & pgCC \footnotesize 11.0-0       \\ % pleiades
SGI Altix XE Cluster  &\tt Cygwin &\tt g95          &\tt mpiuni     &\tt 32              & g95 \footnotesize 0.92(4.1.1)      & g++  \footnotesize 4.3.4        \\ % SGI-NT
SGI Altix XE Cluster  &\tt Cygwin &\tt gfortran     &\tt mpiuni     &\tt 32              & gfortran \footnotesize 4.3.4       & g++  \footnotesize 4.3.4        \\ % SGI-NT
%SGI Altix XE Cluster  &\tt MinGW  &\tt intel        &\tt msmpi      &\tt 64              & ifort \footnotesize 11.1.067       & icl  \footnotesize 11.1.067     \\ % SGI-NT
%SGI Altix XE Cluster  &\tt MinGW  &\tt intelcl      &\tt msmpi      &\tt 64              & ifort \footnotesize 11.1.067       & cl  \footnotesize 14.00.50727.762  % SGI-NT
%SGI Origin 3800       &\tt IRIX64 &\tt default      &\tt mpi        &\tt 32,64           & f90 \footnotesize 7.4.4m           & CC \footnotesize 7.4.4m         \\ % ferrari
Sun Fire X4640        &\tt Linux  &\tt pgi          &\tt openmpi    &\tt 64              & pgf90 \footnotesize 10.8-0         & pgCC \footnotesize 10.8-0       \\ % euclid
%Sun SPARC             &\tt SunOS  &\tt default      &\tt mpi        &\tt 64              & f95 \footnotesize 8.3              & CC \footnotesize 5.9               % mdev890
\end{tabular}

\vspace{1ex}

{\bf All possible options}. Where multiple options exist, and the default is independent
of {\tt ESMF\_MACHINE}, the default value is in {\bf bold}:

\vspace{1ex}


\begin{tabular}{lllll}
  {\bfseries\footnotesize ESMF\_OS} &{\bfseries\footnotesize ESMF\_COMPILER} & {\bfseries\footnotesize ESMF\_COMM} & {\bfseries\footnotesize ESMF\_ABI} \\

AIX     &\tt default     &\tt mpiuni,{\bf mpi},user      &\tt 32, {\bf 64} \\
Cygwin  &\tt g95         &\tt {\bf mpiuni},mpich,mpich2,lam,openmpi,user &\tt 32, 64 \\
Cygwin  &\tt gfortran    &\tt {\bf mpiuni},mpich,mpich2,lam,openmpi,user &\tt 32, 64 \\
Darwin  &\tt absoft      &\tt {\bf mpiuni},mpich,mpich2,mvapich2,lam,openmpi,user &\tt 32, 64 \\
Darwin  &\tt g95         &\tt {\bf mpiuni},mpich,mpich2,mvapich2,lam,openmpi,user &\tt 32, 64 \\
Darwin  &\tt gfortran    &\tt {\bf mpiuni},mpich,mpich2,mvapich2,lam,openmpi,user &\tt 32, 64 \\
Darwin  &\tt intel       &\tt {\bf mpiuni},mpich,mpich2,mvapich2,lam,openmpi,user &\tt 32, 64 \\
Darwin  &\tt intelgcc    &\tt {\bf mpiuni},mpich,mpich2,lam,openmpi,user &\tt 32, 64 \\
Darwin  &\tt nag         &\tt {\bf mpiuni},mpich,mpich2,mvapich2,lam,openmpi,user &\tt 32, 64 \\
Darwin  &\tt xlf         &\tt {\bf mpiuni},mpich,mpich2,lam,openmpi,user &\tt 32 \\
Darwin  &\tt xlfgcc      &\tt {\bf mpiuni},mpich,mpich2,lam,openmpi,user &\tt 32 \\
IRIX64  &\tt default     &\tt mpiuni,{\bf mpi},user     &\tt 32, {\bf 64} \\
Linux   &\tt absoft      &\tt {\bf mpiuni},mpich,mpich2,mvapich2,lam,openmpi,user &\tt 32, 64 \\
Linux   &\tt absoftintel &\tt {\bf mpiuni},mpich,mpich2,lam,openmpi,user &\tt 32, 64  \\
Linux   &\tt g95         &\tt {\bf mpiuni},mpich,mpich2,mvapich2,lam,openmpi,user &\tt 32, 64, ia64\_64, \\
        &                &                              &\tt x86\_64\_32, \\
        &                &                              &\tt x86\_64\_small, \\
        &                &                              &\tt x86\_64\_medium \\
Linux   &\tt gfortran    &\tt {\bf mpiuni},mpich,mpich2,mvapich2,lam,openmpi,user &\tt 32, 64, ia64\_64, \\
        &                &                              &\tt x86\_64\_32, \\
        &                &                              &\tt x86\_64\_small, \\
        &                &                              &\tt x86\_64\_medium \\
Linux   &\tt intel       &\tt {\bf mpiuni},mpi,mpich,mpich2,mvapich2,lam,openmpi,&\tt 32, 64, ia64\_64, \\
        &                &\tt user,intelmpi,scalimpi    &\tt x86\_64\_32, \\
        &                &                              &\tt x86\_64\_small, \\
        &                &                              &\tt x86\_64\_medium \\
Linux   &\tt intelgcc    &\tt {\bf mpiuni},mpi,mpich,mpich2,lam,openmpi,&\tt 32, 64, ia64\_64, \\
        &                &\tt user,intelmpi             &\tt x86\_64\_32, \\
        &                &                              &\tt x86\_64\_small, \\
        &                &                              &\tt x86\_64\_medium \\
Linux   &\tt lahey       &\tt {\bf mpiuni},mpich,mpich2,mvapich2,lam,openmpi,user &\tt 32 \\
Linux   &\tt nag         &\tt {\bf mpiuni},mpich,mpich2,mvapich2,lam,openmpi,user &\tt 32 \\
Linux   &\tt nagintel    &\tt {\bf mpiuni},mpich,mpich2,lam,openmpi,user &\tt 32 \\
Linux   &\tt pathscale   &\tt {\bf mpiuni},mpich,mpich2,lam,openmpi,user &\tt 32, 64, x86\_64\_32, \\
        &                &                              &\tt x86\_64\_small, \\
        &                &                              &\tt x86\_64\_medium \\
Linux   &\tt pgi         &\tt {\bf mpiuni},mpich,mpich2,mvapich,mvapich2 &\tt 32, 64, x86\_64\_32, \\
        &                &\tt lam,openmpi,user,scalimpi &\tt x86\_64\_small, \\
        &                &                              &\tt x86\_64\_medium \\
Linux   &\tt pgigcc      &\tt {\bf mpiuni},mpich,mpich2,lam,openmpi,user &\tt 32 \\
Linux   &\tt xlf         &\tt mpiuni,{\bf mpi},user      &\tt 32  \\
MinGW   &\tt intel       &\tt {\bf mpiuni},msmpi,user    &\tt 32, 64 \\
MinGW   &\tt intelcl     &\tt {\bf mpiuni},msmpi,user    &\tt 32, 64 \\
OSF1    &\tt default     &\tt mpiuni,{\bf mpi},user      &\tt 64  \\
SunOS   &\tt default     &\tt mpiuni,{\bf mpi},user      &\tt 32, {\bf 64} \\
Unicos  &\tt default     &\tt mpiuni,{\bf mpi},user      &\tt 64  \\
Unicos  &\tt intel       &\tt mpiuni,{\bf mpi},user      &\tt 64  \\
Unicos  &\tt pgi         &\tt mpiuni,{\bf mpi},user      &\tt 64

\end{tabular}

\vspace{1ex}

