-
Notifications
You must be signed in to change notification settings - Fork 705
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #16271 from maxim-masterov/CDO
{data,tools}[gompi/2022a] CDO v2.0.6, ecCodes v2.27.0
- Loading branch information
Showing
2 changed files
with
98 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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
45
easybuild/easyconfigs/e/ecCodes/ecCodes-2.27.0-gompi-2022a.eb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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' |