Skip to content

Commit

Permalink
Merge pull request #16271 from maxim-masterov/CDO
Browse files Browse the repository at this point in the history
{data,tools}[gompi/2022a] CDO v2.0.6, ecCodes v2.27.0
  • Loading branch information
smoors authored Nov 3, 2022
2 parents 699b5c1 + b054453 commit 45b6d66
Show file tree
Hide file tree
Showing 2 changed files with 98 additions and 0 deletions.
53 changes: 53 additions & 0 deletions easybuild/easyconfigs/c/CDO/CDO-2.0.6-gompi-2022a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# updated to version 2.0.6, based on the previous 2.0.5 version
# J. Sassmannshausen (Imperial College London, UK)
# Alex Domingo (Vrije Universiteit Brussel, BE)
# Maxim Masterov (SURF, NL)

easyblock = 'ConfigureMake'

name = 'CDO'
version = '2.0.6'

homepage = 'https://code.zmaw.de/projects/cdo'
description = """CDO is a collection of command line Operators to manipulate and analyse Climate and NWP model Data."""

toolchain = {'name': 'gompi', 'version': '2022a'}
toolchainopts = {'cstd': 'c++17', 'usempi': True}

source_urls = ['https://code.mpimet.mpg.de/attachments/download/27276/']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['ef120dea9032b1be80a4cfa201958c3b910107205beb6674195675f1ee8ed402']

builddependencies = [
('pkgconf', '1.8.0'),
]

dependencies = [
('cURL', '7.83.0'),
('ecCodes', '2.27.0'),
('FFTW', '3.3.10'),
('HDF5', '1.12.2'),
('libxml2', '2.9.13'),
('netCDF', '4.9.0'),
('PROJ', '9.0.0'),
('Szip', '2.1.1'),
('UDUNITS', '2.2.28'),
('util-linux', '2.38'),
]

# Build libcdi
configopts = "--enable-cdi-lib "

# Use dependencies from EasyBuild
configopts += "--with-curl=$EBROOTCURL --with-eccodes=$EBROOTECCODES --with-fftw3 --with-hdf5=$EBROOTHDF5 "
configopts += "--with-netcdf=$EBROOTNETCDF --with-proj=$EBROOTPROJ --with-szlib=$EBROOTSZIP "
configopts += "--with-udunits2=$EBROOTUDUNITS --with-util-linux-uuid=$EBROOTUTILMINLINUX "

sanity_check_paths = {
'files': ['bin/cdo', 'lib/libcdi.a', 'lib/libcdi.%s' % SHLIB_EXT],
'dirs': ['include'],
}

sanity_check_commands = ["cdo --version 2>&1 | grep 'CDI library version : %(version)s'"]

moduleclass = 'data'
45 changes: 45 additions & 0 deletions easybuild/easyconfigs/e/ecCodes/ecCodes-2.27.0-gompi-2022a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
easyblock = 'CMakeMake'

name = 'ecCodes'
version = '2.27.0'

homepage = 'https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home'
description = """ecCodes is a package developed by ECMWF which provides an application programming interface and
a set of tools for decoding and encoding messages in the following formats: WMO FM-92 GRIB edition 1 and edition 2,
WMO FM-94 BUFR edition 3 and edition 4, WMO GTS abbreviated header (only decoding)."""

toolchain = {'name': 'gompi', 'version': '2022a'}
toolchainopts = {'usempi': False}

source_urls = ['https://confluence.ecmwf.int/download/attachments/45757960/']
sources = ['eccodes-%(version)s-Source.tar.gz']
checksums = ['ede5b3ffd503967a5eac89100e8ead5e16a881b7585d02f033584ed0c4269c99']

builddependencies = [('CMake', '3.23.1')]

dependencies = [
('netCDF', '4.9.0'),
('JasPer', '2.0.33'),
('libjpeg-turbo', '2.1.3'),
('libpng', '1.6.37'),
('zlib', '1.2.12'),
('libaec', '1.0.6'),
]

# Python bindings are provided by a separate package 'eccodes-python'
configopts = "-DENABLE_NETCDF=ON -DENABLE_PNG=ON -DENABLE_PYTHON=OFF "
configopts += "-DENABLE_JPG=ON -DENABLE_JPG_LIBJASPER=ON "
configopts += "-DENABLE_ECCODES_THREADS=ON" # multi-threading with pthreads

local_exes = ['%s_%s' % (a, b)
for a in ['bufr', 'grib', 'gts', 'metar']
for b in ['compare', 'copy', 'dump', 'filter', 'get', 'ls']]
local_exes += ['codes_%s' % c for c in ['count', 'info', 'split_file']]

sanity_check_paths = {
'files': ['bin/%s' % x for x in local_exes] +
['lib/libeccodes_f90.%s' % SHLIB_EXT, 'lib/libeccodes.%s' % SHLIB_EXT],
'dirs': ['include'],
}

moduleclass = 'tools'

0 comments on commit 45b6d66

Please sign in to comment.