diff --git a/easybuild/easyconfigs/n/netCDF-C++4/netCDF-C++4-4.3.1-gompi-2024a.eb b/easybuild/easyconfigs/n/netCDF-C++4/netCDF-C++4-4.3.1-gompi-2024a.eb new file mode 100644 index 000000000000..1b9a80b189c4 --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF-C++4/netCDF-C++4-4.3.1-gompi-2024a.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'netCDF-C++4' +version = '4.3.1' + +homepage = 'https://www.unidata.ucar.edu/software/netcdf/' +description = """NetCDF (network Common Data Form) is a set of software libraries + and machine-independent data formats that support the creation, access, and sharing of array-oriented + scientific data.""" + +toolchain = {'name': 'gompi', 'version': '2024a'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/Unidata/netcdf-cxx4/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e3fe3d2ec06c1c2772555bf1208d220aab5fee186d04bd265219b0bc7a978edc'] + +dependencies = [ + ('netCDF', '4.9.2'), +] + + +sanity_check_paths = { + 'files': ['include/netcdf', 'lib/libnetcdf_c++4.a', 'lib/libnetcdf_c++4.so'], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.6.1-gompi-2024a.eb b/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.6.1-gompi-2024a.eb new file mode 100644 index 000000000000..2bc6e2077943 --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.6.1-gompi-2024a.eb @@ -0,0 +1,28 @@ +name = 'netCDF-Fortran' +version = '4.6.1' + +homepage = 'https://www.unidata.ucar.edu/software/netcdf/' +description = """NetCDF (network Common Data Form) is a set of software libraries + and machine-independent data formats that support the creation, access, and sharing of array-oriented + scientific data.""" + +toolchain = {'name': 'gompi', 'version': '2024a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/Unidata/%(namelower)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['40b534e0c81b853081c67ccde095367bd8a5eead2ee883431331674e7aa9509f'] + +builddependencies = [ + ('M4', '1.4.19'), +] +dependencies = [ + ('netCDF', '4.9.2'), + ('bzip2', '1.0.8'), +] + +# (too) parallel build fails, but single-core build is fairly quick anyway (~1min) +parallel = 1 + + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/n/netCDF/netCDF-4.9.2-gompi-2024a.eb b/easybuild/easyconfigs/n/netCDF/netCDF-4.9.2-gompi-2024a.eb new file mode 100644 index 000000000000..861603571096 --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF/netCDF-4.9.2-gompi-2024a.eb @@ -0,0 +1,54 @@ +name = 'netCDF' +version = '4.9.2' + +homepage = 'https://www.unidata.ucar.edu/software/netcdf/' +description = """NetCDF (network Common Data Form) is a set of software libraries + and machine-independent data formats that support the creation, access, and sharing of array-oriented + scientific data.""" + +toolchain = {'name': 'gompi', 'version': '2024a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/Unidata/%(namelower)s-c/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version_major_minor)s.0_skip-nasa-test.patch'] +checksums = [ + {'v4.9.2.tar.gz': 'bc104d101278c68b303359b3dc4192f81592ae8640f1aee486921138f7f88cb7'}, + {'%(name)s-%(version_major_minor)s.0_skip-nasa-test.patch': + '19d99e03c048b037dc01f03f5b8ddc910ebaceb076d0f050540d348f26dfcd2a'}, +] + +builddependencies = [ + ('Autotools', '20231222'), + ('CMake', '3.29.3'), + ('Doxygen', '1.11.0'), +] +dependencies = [ + ('HDF5', '1.14.5'), + ('cURL', '8.7.1'), + ('Szip', '2.1.1'), + ('zstd', '1.5.6'), + ('bzip2', '1.0.8'), + ('libxml2', '2.12.7'), +] + +# disable Szip, zlib parallel I/O tests, since these can hang on some systems, e.g. generoso +# see: https://github.com/easybuilders/easybuild-easyconfigs/pull/16834 +# and https://github.com/easybuilders/easybuild-easyconfigs/pull/17107#issuecomment-1432947172 +preconfigopts = ("sed -i -e 's|@MPIEXEC@ -n 4 ./tst_parallel5|echo \"skipped by EasyBuild\"|g'" + " -e 's|@MPIEXEC@ -n 4 ./tst_parallel_zlib|echo \"skipped by EasyBuild\"|g'" + " -e 's|@MPIEXEC@ -n 4 ./tst_parallel_compress|echo \"skipped by EasyBuild\"|g'" + " %(builddir)s/%(namelower)s-c-%(version)s/nc_test4/run_par_test.sh.in &&") + +# make sure both static and shared libs are built +# and disable "remote" tests that access a unreliable external test server over internet +configopts = [ + "-DENABLE_DAP_REMOTE_TESTS=OFF -DBUILD_SHARED_LIBS=OFF", + "-DENABLE_DAP_REMOTE_TESTS=OFF -DBUILD_SHARED_LIBS=ON", +] + +# some tests try to start 16 MPI ranks, so we need to allow oversubscription to avoid failing tests +pretestopts = "OMPI_MCA_rmaps_base_oversubscribe=1 " +runtest = 'test' + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/n/netcdf4-python/netcdf4-python-1.7.1.post2-foss-2024a.eb b/easybuild/easyconfigs/n/netcdf4-python/netcdf4-python-1.7.1.post2-foss-2024a.eb new file mode 100644 index 000000000000..912e23a55b78 --- /dev/null +++ b/easybuild/easyconfigs/n/netcdf4-python/netcdf4-python-1.7.1.post2-foss-2024a.eb @@ -0,0 +1,58 @@ +easyblock = 'PythonBundle' + +name = 'netcdf4-python' +version = '1.7.1.post2' + + +homepage = 'https://unidata.github.io/netcdf4-python/' +description = "Python/numpy interface to netCDF." + +toolchain = {'name': 'foss', 'version': '2024a'} +toolchainopts = {'usempi': True} + +builddependencies = [ + ('Cython', '3.0.10'), +] + +dependencies = [ + ('Python', '3.12.3'), + ('SciPy-bundle', '2024.05'), + ('netCDF', '4.9.2'), + ('cURL', '8.7.1'), + ('mpi4py', '4.0.1'), +] + +fix_python_shebang_for = ['bin/*'] +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('cftime', '1.6.4', { + 'checksums': ['e325406193758a7ed67308deb52e727782a19e384e183378e7ff62098be0aedc'], + }), + (name, version, { + 'patches': [ + 'netcdf4-python-1.7.1.post2_relax_tolerance_compression_test.patch', + ], + 'source_tmpl': 'netcdf4-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/n/netCDF4'], + 'checksums': [ + {'netcdf4-1.7.1.post2.tar.gz': '37d557e36654889d7020192bfb56f9d5f93894cb32997eb837ae586c538fd7b6'}, + {'netcdf4-python-1.7.1.post2_relax_tolerance_compression_test.patch': + '7faa7e839ad1e816ffd0153e4b76b43ebce3e14d35f0534f812168dfaa78316c'}, + ], + }), +] + +sanity_check_paths = { + 'files': ['bin/nc3tonc4', 'bin/nc4tonc3', 'bin/ncinfo'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "nc4tonc3 --help", + "nc3tonc4 --help", + "ncinfo --help", +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/n/netcdf4-python/netcdf4-python-1.7.1.post2_relax_tolerance_compression_test.patch b/easybuild/easyconfigs/n/netcdf4-python/netcdf4-python-1.7.1.post2_relax_tolerance_compression_test.patch new file mode 100644 index 000000000000..be4deb77f96d --- /dev/null +++ b/easybuild/easyconfigs/n/netcdf4-python/netcdf4-python-1.7.1.post2_relax_tolerance_compression_test.patch @@ -0,0 +1,15 @@ +# Relax tolerance in the compression_szip test to avoid fails on some systems. +# author: maxim-masterov (SURF) +# +diff -Nru netcdf4-1.7.1.post2.orig/test/test_compression_szip.py netcdf4-1.7.1.post2/test/test_compression_szip.py +--- netcdf4-1.7.1.post2.orig/test/test_compression_szip.py 2024-10-07 16:01:21.276893761 +0200 ++++ netcdf4-1.7.1.post2/test/test_compression_szip.py 2024-10-07 16:27:47.424436617 +0200 +@@ -35,7 +35,7 @@ + assert_almost_equal(datarr,f.variables['data'][:]) + assert f.variables['data'].filters() ==\ + {'zlib':False,'szip':False,'zstd':False,'bzip2':False,'blosc':False,'shuffle':False,'complevel':0,'fletcher32':False} +- assert_almost_equal(datarr,f.variables['data_szip'][:]) ++ assert_almost_equal(datarr,f.variables['data_szip'][:], 6) + dtest = {'zlib': False, 'szip': {'coding': 'ec', 'pixels_per_block': 32}, 'zstd': False, 'bzip2': False, 'blosc': False, 'shuffle': False, 'complevel': 0, 'fletcher32': False} + assert f.variables['data_szip'].filters() == dtest + f.close() diff --git a/easybuild/easyconfigs/p/PnetCDF/PnetCDF-1.13.0-gompi-2024a.eb b/easybuild/easyconfigs/p/PnetCDF/PnetCDF-1.13.0-gompi-2024a.eb new file mode 100644 index 000000000000..b586cfd0da4b --- /dev/null +++ b/easybuild/easyconfigs/p/PnetCDF/PnetCDF-1.13.0-gompi-2024a.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'PnetCDF' +version = '1.13.0' + +homepage = 'https://parallel-netcdf.github.io/' +description = "Parallel netCDF: A Parallel I/O Library for NetCDF File Access" + +toolchain = {'name': 'gompi', 'version': '2024a'} + +source_urls = ['https://parallel-netcdf.github.io/Release'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['aba0f1c77a51990ba359d0f6388569ff77e530ee574e40592a1e206ed9b2c491'] + +builddependencies = [ + ('Autotools', '20231222'), + ('Perl', '5.38.2'), +] + +preconfigopts = "autoreconf -f -i && " +configopts = [ + '', + '--enable-shared', +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['ncmpidiff', 'ncmpidump', 'ncmpigen', 'ncoffsets', + 'ncvalidator', 'pnetcdf-config', 'pnetcdf_version']] + + ['lib/lib%(namelower)s.a', 'lib/lib%%(namelower)s.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +modextrapaths = {'PNETCDF': ''} + +moduleclass = 'data'