easyblock = 'Bundle'

name = 'prace'
version = '20160107'

homepage = 'http://www.prace-ri.eu/PRACE-Common-Production'
description = """**** PRACE Common Production Environment (PCPE) ****\n
Initialisation of the PRACE common production environment. This 
allows you to assume that the following tools/libraries are available
by default in your PATH/environment.

 * Fortran, C, C++ Compilers
 * MPI
 * BLAS, LAPACK, BLACS, ScaLAPACK
 * FFTW
 * HDF5, NetCDF
 
The compiler commands on are:

 * mpif90 - Fortran compiler
 * mpicc  - C compiler
 * mpicxx - C++ compiler

For more information on the PCPE please see the documentation at:

http://www.prace-ri.eu/PRACE-Common-Production

For help using this system, please see Local User Guide available at:

http://prace-ri.eu/Best-Practice-Guide-Anselm-HTML
"""

toolchain = {'name': 'intel', 'version': '2016.01'}

dependencies = [
    ('Java', '1.7.0_79', '', True),
    ('netCDF', '4.3.2'), # this one will also bring in HDF5
    ('FFTW', '3.3.4'),
    ('CMake', '3.3.1'),
    ('PETSc', '3.6.1', '-Python-2.7.9'),
]

modextravars = {
     'PRACE_FFLAGS' : '-ipo -O3 -xAVX -xCORE-AVX2 -qopt-report1 -qopt-report-phase=vec -openmp',
     'PRACE_CFLAGS' : '-ipo -O3 -xAVX -xCORE-AVX2 -qopt-report1 -qopt-report-phase=vec -openmp',
     'PRACE_LDFLAGS' : '-L$env(LD_LIBRARY_PATH)',
     'PRACE_STORE' : '/home/$env(USER)',
     'PRACE_SCRATCH' : '/scratch/work/user/$env(USER)',
	 'PRACE_ARCH' : 'Linux_Generic_X86-64_AVX2',
	 'PRACE_COMPILER' : 'ICC_16.0.1',
	 'PRACE_FTN_VERSION' : 'ifort version 16.0.1',
	 'PRACE_CC_VERSION' : 'icc version 16.0.1 (gcc version 4.9.3 compatibility)',
	 'PRACE_CPP_VERSION' : 'icc version 16.0.1 (gcc version 4.9.3 compatibility)',
}

modaliases = {'prftn': "mpifc",
              'prcc': "mpicc",
              'prcpp': "mpicxx"
}

moduleclass = 'toolchain'
