The HECToR Service is now closed and has been superceded by ARCHER.

Compiling SIESTA 2.0.2 on HECToR phase 3

Instructions for compiling the SIESTA code on HECToR phase 3 (Cray XE6, Interlagos)

Module setup

Swap to the PGI compiler

module swap PrgEnv-cray PrgEnv-pgi/4.0.30
module swap pgi pgi/11.9.0

Load the NetCDF and FFTW 3 modules:

module add fftw/3.3.0.0
module add netcdf/4.1.2
module swap hdf5 hdf5/1.8.6

Configure the build

Set the compiler commands

export FC=ftn
export MPIFC=ftn

Configure the package:

cd siesta-2.0.2/Src
cp Sys/cscs-cray-mpi.make arch.make

Edit top part of arch.make to the following:

# This file is part of the SIESTA package.
#
# Copyright (c) Fundacion General Universidad Autonoma de Madrid:
# E.Artacho, J.Gale, A.Garcia, J.Junquera, P.Ordejon, D.Sanchez-Portal
# and J.M.Soler, 1996-2006.
#
# Use of this software constitutes agreement with the full conditions
# given in the SIESTA license, as signed by all legitimate users.
#
SIESTA_ARCH=hector-phase3-
cray-mpi
#
# For Cray XE6
#
FC=ftn
FPP=pgf90 -F
FC_ASIS=$(FC)
#
FFLAGS=-fastsse
FFLAGS_DEBUG= -g -O0
RANLIB=echo
COMP_LIBS=
#
NETCDF_LIBS=         #  /usr/local/netcdf-3.5/lib/pgi/libnetcdf.a
NETCDF_INTERFACE=    #  libnetcdf_f90.a
DEFS_CDF=            #  -DCDF
#
KINDS=4 8
MPI_LIBS=
MPI_INTERFACE=libmpi_f90.a
MPI_INCLUDE=.
DEFS_MPI=-DMPI
#
LIBS=
SYS=nag
DEFS= $(DEFS_CDF) $(DEFS_MPI)

Build the package

Then build the package:

make