ESMF/8.8.0-cpeGNU-24.03-MPI-PIO (ESMF-8.8.0-cpeGNU-24.03-MPI-PIO.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 ESMF/8.8.0-cpeGNU-24.03-MPI-PIO
.
EasyConfig:
# contributed by Luca Marsella (CSCS), Theofilos Manitaras (CSCS)
# Adapted by Kurt Lust (kurt.lust@uantwerpen.be) for the LUMI consortium
#DOC ESMF compiled with support for MPICH and PIO.
#DOC It also uses netCDF with the parallel HDF5 back-end.
easyblock = 'esmfcray'
local_ESMF_version = '8.8.0' # https://github.com/esmf-org/esmf/releases - Candidate for version bump if time left
name = 'ESMF'
version = local_ESMF_version
versionsuffix = '-MPI-PIO'
homepage = 'http://sourceforge.net/projects/esmf'
whatis = [
'Description: ESMF is the Earth System Modeling Framework, software for coupling weather, climate and related models'
]
description = """
The Earth System Modeling Framework (ESMF) is software for building and coupling weather,
climate, and related models.
This module provides the parallel (MPI) version. PIO support is also enabled but this
required some dirty tricks, so no guarantee for future support.
"""
software_license_urls = [
f'https://github.com/esmf-org/esmf/blob/v{version}/LICENSE',
]
toolchain = {'name': 'cpeGNU', 'version': '24.03'}
toolchainopts = {'usempi': True, 'openmp': True}
# https://github.com/esmf-org/esmf/archive/refs/tags/v8.3.0.tar.gz
sources = [
{
'download_filename': 'v%(version)s.tar.gz',
'filename': SOURCE_TAR_GZ,
'source_urls': ['https://github.com/esmf-org/esmf/archive/refs/tags']
}
]
patches = ['ESMF-6.1.1_libopts.patch']
checksums = [
'f89327428aeef6ad34660b5b78f30d1c55ec67efb8f7df1991fdaa6b1eb3a27c', # ESMF-8.8.0.tar.gz
'3851627f07c32a7da55d99072d619942bd3a1d9dd002e1557716158e7aacdaf4', # ESMF-6.1.1_libopts.patch
]
builddependencies = [ # Create a reproducible build environment.
('buildtools', '%(toolchain_version)s', '', True),
]
dependencies = [
('cray-hdf5-parallel', EXTERNAL_MODULE),
('cray-netcdf-hdf5parallel', EXTERNAL_MODULE),
]
mpicomm = 'mpi' # System mpi, see build_config/Unicos.gfortran.default
usepio = 'internal'
optlevel = '2' # Has to be a string
postinstallcmds = [
'mkdir -p %(installdir)s/share/licenses/%(name)s',
'cd %(start_dir)s && cp LICENSE README.md %(installdir)s/share/licenses/%(name)s',
]
# Just a single sanity check command as the other commands generate output files even when simply using
# -h or --version. It should be enough though to check if the executable can find all necessary
# shared libraries.
sanity_check_commands = [
'ESMF_PrintInfoC --version',
]
moduleclass = 'geo'