Yambo/5.2.3-cpeGNU-23.09 (Yambo-5.2.3-cpeGNU-23.09.eb)
Install with the EasyBuild-user module:
To access module help after installation and get reminded for which stacks and partitions the module is installed, usemodule 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'