Skip to content

[Yambo] [package list]

Yambo/5.2.3-cpeGNU-23.09 (Yambo-5.2.3-cpeGNU-23.09.eb)

Install with the EasyBuild-user module:

eb Yambo-5.2.3-cpeGNU-23.09.eb -r
To access module help after installation and get reminded for which stacks and partitions the module is installed, use module spider Yambo/5.2.3-cpeGNU-23.09.

EasyConfig:

easyblock = 'ConfigureMake'

name = 'Yambo'
version = '5.2.3'

homepage = 'http://www.yambo-code.org'
description = """Yambo is a FORTRAN/C code for Many-Body calculations in solid state and molecular physics.
 Yambo relies on the Kohn-Sham wavefunctions generated by two DFT public codes: abinit, and PWscf."""

toolchain = {'name': 'cpeGNU', 'version': '23.09'}
toolchainopts = {'openmp': True}

source_urls = ['https://github.com/yambo-code/yambo/archive/refs/tags/']
sources = [
    '%(version)s.tar.gz',  
]

dependencies = [
    ('cray-libsci/23.09.1.1', EXTERNAL_MODULE),
    ('cray-fftw/3.3.10.5', EXTERNAL_MODULE),
    ('cray-hdf5-parallel/1.12.2.7', EXTERNAL_MODULE),
    ('cray-parallel-netcdf/1.12.3.7', EXTERNAL_MODULE),
    ('cray-netcdf-hdf5parallel/4.9.0.7', EXTERNAL_MODULE),
    ('cray-parallel-netcdf/1.12.3.7', EXTERNAL_MODULE),
    ('libxc', '6.2.2'),
    ('PETSc', '3.19.5'),
]

preconfigopts = 'sed -i "s/-ansi/-traditional/" configure && sed -i "s/\*ftn\* |//" configure && '

configopts = 'FC=ftn CC=cc MPIFC=ftn MPICC=cc FCFLAGS="-O2 -ftree-vectorize -fno-math-errno -fopenmp -fallow-argument-mismatch" CPP="cpp -P" FPP="cpp -P -traditional" --enable-hdf5-par-io '
configopts += '--enable-msgs-comps '
configopts += '--enable-open-mp --enable-mpi '
configopts += '--with-blas-libs="-lsci_gnu_mpi_mp" '
configopts += '--with-lapack-libs="-lsci_gnu_mpi_mp" --with-blacs-libs="-lsci_gnu_mpi_mp" '
configopts += '--enable-par-linalg --with-scalapack-libs="-lsci_gnu_mpi_mp" '
configopts += '--with-fft-path="$FFTW_ROOT" --with-fft-libs="-L$FFTW_DIR -lfftw3_mpi -lfftw3_omp" --with-fft-libdir="$FFTW_DIR" --with-fft-includedir="$FFTW_INC" '
configopts += '--with-netcdf-path="$NETCDF_DIR" '
configopts += '--with-netcdff-path="$NETCDF_DIR" '
configopts += '--with-hdf5-path="$HDF5_DIR" '
configopts += '--with-libxc-path="$EBROOTLIBXC" '
configopts += '--with-libxc-libs="-L$EBROOTLIBXC/lib64 -lxcf90 -lxcf03 -lxc" '
configopts += '--with-libxc-libdir="$EBROOTLIBXC/lib64" '
configopts += '--with-libxc-includedir="$EBROOTLIBXC/include" '
configopts += '--with-petsc-path="$EBROOTPETSC" '

prebuildopts = 'unset LIBS && '

buildopts = 'all'

# This is to avoid removing binaries that `make all` puts in the install dir
# instead of `make install` which is not implemented
install_cmd = 'echo'
keeppreviousinstall = True

sanity_check_paths = {
    'files': ['bin/yambo'],
    'dirs': ['bin']
}

moduleclass = 'phys'

[Yambo] [package list]