Skip to content

Commit

Permalink
add WIP easyconfig for Yambo 5.1.2 (#16)
Browse files Browse the repository at this point in the history
  • Loading branch information
boegel committed Jun 27, 2023
1 parent 2e14a8d commit 9024e22
Showing 1 changed file with 88 additions and 0 deletions.
88 changes: 88 additions & 0 deletions 16_Yambo/Yambo-5.1.2-intel-2021b.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
easyblock = 'MakeCp'

name = 'Yambo'
# see https://github.com/yambo-code/yambo/wiki/Releases-%28tar.gz-format%29
version = '5.1.2'
local_yambo_libs_ver = '1.0'

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': 'intel', 'version': '2021b'}
toolchainopts = {'usempi': True, 'openmp': True}

local_yambo_ext_cmd = 'mkdir yambo-%(version)s && '
local_yambo_ext_cmd += 'tar --strip-components=1 -xzf %s -C yambo-%(version)s'
local_yambo_lib_ext_cmd = 'mkdir -p yambo-%(version)s/lib/yambo/ && '
local_yambo_lib_ext_cmd += 'tar --strip-components=1 -xzf %s -C yambo-%(version)s/lib/yambo/'

source_urls = ['https://github.com/yambo-code/yambo/archive/']
sources = [
{
'download_filename': '%(version)s.tar.gz',
'filename': 'yambo-%(version)s.tar.gz',
'extract_cmd': local_yambo_ext_cmd,
},
{
'source_urls': ['https://github.com/yambo-code/yambo-libraries/archive/'],
'download_filename': '%s.tar.gz' % local_yambo_libs_ver,
'filename': 'yambo-libraries-%s.tar.gz' % local_yambo_libs_ver,
'extract_cmd': local_yambo_lib_ext_cmd,
},
{
# see https://github.com/yambo-code/yambo/wiki/Libraries#external-libraries
'source_urls': ['https://github.com/yambo-code/yambo/files/962173/'],
'filename': 'iotk-y1.2.2.tar.gz',
'extract_cmd': 'cp %s yambo-%(version)s/lib/archive/',
},
]
checksums = [
{'yambo-5.1.2.tar.gz': '9625d8a96bd9a3ff3713ebe53228d5ac9be0a98adecbe2a2bad67234c0e26a2e'},
{'yambo-libraries-1.0.tar.gz': 'f25d86101cc9cead9f64f05181aab1f06eac8528fea5ba5c586b2b9512cb8492'},
{'iotk-y1.2.2.tar.gz': 'c0a4eb19f3e885d83d7afa52eb90658fba7cb1cb6e66049866a98dcc980de543'},
]

dependencies = [
('HDF5', '1.12.1'),
('netCDF', '4.8.1'),
('netCDF-Fortran', '4.5.3'),
('PETSc', '3.18.4'),
('SLEPc', '3.18.2'),
('libxc', '5.1.6'),
]

with_configure = True

configopts = 'FC=mpiifort CC=mpiicc --enable-msgs-comps '
configopts += '--prefix=%(builddir)s/%(namelower)s-%(version)s/ '
configopts += '--enable-open-mp --enable-hdf5-par-io '
configopts += '--with-blas-libs="$LIBBLAS" '
configopts += '--with-lapack-libs="$LIBLAPACK" --with-blacs-libs=mkl '
configopts += '--with-scalapack-libs=mkl '
configopts += '--with-fft-libs="-mkl" --with-fft-includedir="$FFT_INC_DIR" '
configopts += '--with-netcdf-lib=$EBROOTNETCDF/lib --with-netcdf-include="$EBROOTNETCDF/include" '
configopts += '--with-netcdff-path="$EBROOTNETCDFMINFORTRAN" '
configopts += '--with-hdf5-path="$EBROOTHDF5" --with-petsc-path="$EBROOTPETSC" '
configopts += '--with-slepc-path="$EBROOTSLEPC" --with-libxc-path="$EBROOTLIBXC" '
configopts += '--enable-par-linalg --enable-slepc-linalg '

prebuildopts = "export FPATH=$EBROOTPETSC/include:$EBROOTSLEPC/include:$FPATH && "

prebuildopts = "export SHELL='sh -x' && "
buildopts = 'all'

files_to_copy = [
(['bin/*'], 'bin'),
(['%(builddir)s/%(namelower)s-%(version)s/lib/external/intel/mpiifort/bin/*'], 'bin')
]

sanity_check_paths = {
'files': ['bin/' + x for x in ['a2y', 'p2y', 'yambo', 'yambo_ph', 'ypp', 'ypp_ph',
'iotk', 'iotk.x']],
'dirs': []
}

sanity_check_commands = ["yambo -h"]

moduleclass = 'phys'

0 comments on commit 9024e22

Please sign in to comment.