# IT4Innovations # LK 2022 easyblock = 'MakeCp' name = 'Yambo' version = '5.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': '2021a'} toolchainopts = { 'usempi': True, 'openmp': True, } local_copy_cmd_pattern = 'cp %s yambo-%(version)s/lib/archive/' source_urls = ['https://github.com/yambo-code/yambo/archive/refs/tags/'] sources = [ '%(version)s.tar.gz', # Yambo { 'source_urls': ['https://github.com/yambo-code/yambo-libraries/archive/'], 'filename': '0.0.2.tar.gz', 'extract_cmd': 'tar --strip-components=1 -xzf %s -C yambo-%(version)s/lib/yambo/', }, { 'source_urls': ['https://github.com/yambo-code/yambo/files/783150/'], 'filename': 'libxc-2.2.3.tar.gz', 'extract_cmd': local_copy_cmd_pattern, }, { 'source_urls': ['https://github.com/yambo-code/yambo/files/962173/'], 'filename': 'iotk-y1.2.2.tar.gz', 'extract_cmd': local_copy_cmd_pattern, }, ] checksums = [ 'ce8d4af0f29e996f797a5823ee70b559dc8cc6ed5cc59eadb9a0abbe20ebf04f', # 5.1.0.tar.gz 'cac7e4bf93e16d3cdf640d034e15854455a08dad796aece3cad5c7c491a68a59', # 0.0.2.tar.gz '2f2b00b77a75c7fe8fe3f3ae70700cf28a09ff8d0ce791e47980ff7f9cde68e7', # libxc-2.2.3.tar.gz 'c0a4eb19f3e885d83d7afa52eb90658fba7cb1cb6e66049866a98dcc980de543', # iotk-y1.2.2.tar.gz ] dependencies = [ ('HDF5', '1.10.7'), ('netCDF', '4.8.0'), ('netCDF-Fortran', '4.5.3'), ('libxc', '5.1.5'), ] with_configure = True 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="$LIBBLACS" ' configopts += '--with-scalapack-libs="$LIBSCALAPACK" ' configopts += '--with-fft-libs="$LIBFFT" --with-fft-includedir="$FFT_INC_DIR" ' configopts += '--with-netcdf-path="$EBROOTNETCDF" ' configopts += '--with-netcdff-path="$EBROOTNETCDFMINFORTRAN" ' configopts += '--with-hdf5-path="$HDF5_DIR" ' buildopts = 'all' parallel = 1 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', 'xc-info']], 'dirs': [] } moduleclass = 'phys'