NCO/5.0.6-cpeAOCC-21.12 (NCO-5.0.6-cpeAOCC-21.12.eb)
This software is archived in the LUMI-EasyBuild-contrib GitHub repository as easybuild/easyconfigs/__archive__/n/NCO/NCO-5.0.6-cpeAOCC-21.12.eb. The corresponding module would be NCO/5.0.6-cpeAOCC-21.12.
# contributed by Luca Marsella (CSCS), updated by Samuel Omlin (CSCS)
# Adapted by Kurt Lust (kurt.lust@uantwerpen.be) for the LUMI consortium
easyblock = 'ConfigureMake'
local_GSL_version = '2.7' # https://ftp.gnu.org/gnu/gsl/
local_JasPer_version = '2.0.33' # https://github.com/jasper-software/jasper/releases
local_UDUNITS_version = '2.2.28' # ftp://ftp.unidata.ucar.edu/pub/udunits
name = 'NCO'
version = '5.0.6'
homepage = 'http://nco.sourceforge.net/'
whatis = [
"Description: The NCO toolkit manipulates and analyzes data stored in netCDF-accessible formats, including DAP, HDF4, and HDF5."
]
description = """
The NCO toolkit manipulates and analyzes data stored in netCDF-accessible
formats, including DAP, HDF4, and HDF5.
This version was build with cray-libsci unloaded as it causes crashes in
the tests. If work with NCO depends heavily on an optimized BLAS, it may
be very inefficient in this module.
"""
docurls = [
'Manual pages for the commands in section 1'
'Support for the info command: info nco',
]
toolchain = {'name': 'cpeAOCC', 'version': '21.12'}
toolchainopts = {'opt': True, 'pic': True}
# https://github.com/nco/nco/archive/refs/tags/5.0.6.tar.gz
sources = [
{
'download_filename': '%(version)s.tar.gz',
'filename': SOURCELOWER_TAR_GZ,
'source_urls': ['https://github.com/nco/nco/archive/']
}
]
#source_urls = ['https://github.com/nco/nco/archive/']
#sources = ['%(version)s.tar.gz']
#patches = ['NCO-%(version)s_fix_build_of_cxx_interface.patch']
checksums = [
'd4c74e0268af94bdddcb0c77189830992f61c04147c23669b66470f1a8595d60', # nco-5.0.6.tar.gz
# 'ea1bdaafd7b8bf8b84569634373868f2d8463d65bd9ec6f56143f4f7362f5c99', # NCO-5.0.1_fix_build_of_cxx_interface.patch
]
builddependencies = [ # Create a reproducible build environment.
('buildtools', '%(toolchain_version)s', '', True),
]
dependencies = [
# Cray packages
('cray-hdf5', EXTERNAL_MODULE),
('cray-netcdf', EXTERNAL_MODULE),
# LUMI software stack
('GSL', local_GSL_version),
('JasPer', local_JasPer_version),
('UDUNITS', local_UDUNITS_version), # Also pulls in expat
# Contributed dependencies
('ANTLR', '2.7.7', '-python3'), # It really requires this antique version!
('libdap', '3.20.9'),
]
preconfigopts = 'module unload cray-libsci ; '
# Configure will complain that it cannot find the udunits2.xml file. However, it only checks in
# some fixed locations and not in the the path pointed to by UDUNITS2_XML_PATH.
configopts = "--disable-udunits --enable-udunits2 "
# If that doesn't work, uncomment the next line instead
# configopts = "--enable-udunits --disable-udunits2 "
prebuildopts = 'module unload cray-libsci ; '
sanity_check_paths = {
'files': ['bin/ncbo'],
'dirs': [],
}
sanity_check_commands = [
'ncap2 --version',
'ncatted --version',
'ncbo --version',
'ncclimo --version',
'ncecat --version',
'ncflint --version',
'ncks --version',
'ncpdq --version',
'ncra --version',
'ncremap --version',
'ncrename --version',
'ncwa --version',
]
moduleclass = 'data'