Quellcode durchsuchen

Adding CDFTOOLS

Pedro vor 3 Wochen
Ursprung
Commit
aef9738c20

+ 47 - 0
2024/CDFTOOLS-4.0.0-foss-2024a.eb

@@ -0,0 +1,47 @@
+easyblock = 'MakeCp'
+
+name = 'CDFTOOLS'
+version = '4.0.0'
+
+homepage = 'https://github.com/meom-group/CDFTOOLS'
+description = """CDFTOOLS is a diagnostic package written in Fortran 90 
+for the analysis of NEMO model output."""
+
+toolchain = {'name': 'foss', 'version': '2024a'}
+toolchainopts = {'usempi': True, 'pic': True}
+
+source_urls = ['https://github.com/meom-group/CDFTOOLS/archive/']
+sources = ['v%(version)s.tar.gz']
+checksums = ['97c88789452b9945af8c165852f1a1b8a9af2394ca9aa758693e196d78e9d6f4']
+
+dependencies = [
+    ('netCDF', '4.9.2'),
+    ('netCDF-Fortran', '4.6.1'), # Standard version compatible with foss/2025b
+]
+
+start_dir = 'src'
+
+# CDFTOOLS requires a make.macro file in the src directory.
+# We create one that points to the EasyBuild-managed NetCDF paths.
+#prebuildopts = 'NC_CONFIG="$EBROOTNETCDF/bin/nc-config" && '
+prebuildopts = 'NF_CONFIG="$EBROOTNETCDFMINFORTRAN/bin/nf-config" && '
+prebuildopts += 'echo "F90 = $($NF_CONFIG --fc) $($NF_CONFIG --fflags) $($NF_CONFIG --flibs)" > make.macro && '
+prebuildopts += 'echo "FFLAGS = -O3 -fno-second-underscore -ffree-line-length-256" >> make.macro && '
+prebuildopts += 'echo "LIBS =" >> make.macro && '
+prebuildopts += 'echo "NC4 = -Dkey_netcdf4" >> make.macro && '
+
+# Build command execution
+buildopts = ""
+
+# Files to copy after build
+files_to_copy = [
+    (['../bin/*'], 'bin'),
+    (['*.mod'], 'include'),
+]
+
+sanity_check_paths = {
+    'files': ['bin/cdfmoc', 'bin/cdfpsi', 'bin/cdfmaxmoc'],
+    'dirs': ['bin'],
+}
+
+moduleclass = 'phys'

+ 48 - 0
2024/CDFTOOLS-4.0.0-intel-2024a.eb

@@ -0,0 +1,48 @@
+easyblock = 'MakeCp'
+
+name = 'CDFTOOLS'
+version = '4.0.0'
+
+homepage = 'https://github.com/meom-group/CDFTOOLS'
+description = """CDFTOOLS is a diagnostic package written in Fortran 90 
+for the analysis of NEMO model output."""
+
+# Using the intel toolchain (Intel Compilers + Intel MPI + Intel MKL)
+toolchain = {'name': 'intel', 'version': '2024a'}
+
+source_urls = ['https://github.com/meom-group/CDFTOOLS/archive/']
+sources = ['v%(version)s.tar.gz']
+checksums = ['97c88789452b9945af8c165852f1a1b8a9af2394ca9aa758693e196d78e9d6f4']
+
+dependencies = [
+    ('netCDF', '4.9.2'),
+    ('netCDF-Fortran', '4.6.1'), 
+]
+
+# Move into the source directory
+start_dir = 'src'
+
+# CDFTOOLS requires a make.macro file in the src directory.
+# We create one that points to the EasyBuild-managed NetCDF paths.
+#prebuildopts = 'NC_CONFIG="$EBROOTNETCDF/bin/nc-config" && '
+prebuildopts = 'NF_CONFIG="$EBROOTNETCDFMINFORTRAN/bin/nf-config" && '
+prebuildopts += 'echo "F90 = $($NF_CONFIG --fc) $($NF_CONFIG --fflags) $($NF_CONFIG --flibs)" > make.macro && '
+prebuildopts += 'echo "FFLAGS = -O3 -fno-alias" >> make.macro && '
+prebuildopts += 'echo "LIBS =" >> make.macro && '
+prebuildopts += 'echo "NC4 = -Dkey_netcdf4" >> make.macro && '
+
+# Build command execution
+buildopts = ""
+
+# Files to copy after build
+files_to_copy = [
+    (['../bin/*'], 'bin'),
+    (['*.mod'], 'include'),
+]
+
+sanity_check_paths = {
+    'files': ['bin/cdfmoc', 'bin/cdfpsi', 'bin/cdfmaxmoc'],
+    'dirs': ['bin', 'include'],
+}
+
+moduleclass = 'phys'

+ 26 - 0
2024/HDF5-1.14.5-iimpi-2024a.eb

@@ -0,0 +1,26 @@
+name = 'HDF5'
+# Note: Odd minor releases are only RCs and should not be used.
+version = '1.14.5'
+
+homepage = 'https://portal.hdfgroup.org/display/support'
+description = """HDF5 is a data model, library, and file format for storing and managing data.
+ It supports an unlimited variety of datatypes, and is designed for flexible
+ and efficient I/O and for high volume and complex data."""
+
+toolchain = {'name': 'iimpi', 'version': '2024a'}
+toolchainopts = {'pic': True, 'usempi': True, 'optarch': 'mavx2'}
+
+source_urls = ['https://github.com/HDFGroup/hdf5/archive']
+sources = ['hdf5_%(version)s.tar.gz']
+checksums = ['c83996dc79080a34e7b5244a1d5ea076abfd642ec12d7c25388e2fdd81d26350']
+
+# replace src include path with installation dir for $H5BLD_CPPFLAGS
+_regex = 's, -I[^[:space:]]+H5FDsubfiling , -I%(installdir)s/include ,g'
+postinstallcmds = ['sed -i -r "%s" %%(installdir)s/bin/%s' % (_regex, x) for x in ['h5c++', 'h5pcc']]
+
+dependencies = [
+    ('zlib', '1.3.1'),
+    ('Szip', '2.1.1'),
+]
+
+moduleclass = 'data'

+ 1 - 1
2024/netCDF-4.9.2-iimpi-2024a.eb

@@ -7,7 +7,7 @@ description = """NetCDF (network Common Data Form) is a set of software librarie
  scientific data."""
 
 toolchain = {'name': 'iimpi', 'version': '2024a'}
-toolchainopts = {'pic': True, 'usempi': True}
+toolchainopts = {'pic': True, 'usempi': True, 'optarch': 'mavx2'}
 
 source_urls = ['https://github.com/Unidata/netcdf-c/archive/']
 sources = ['v%(version)s.tar.gz']

+ 1 - 1
2024/netCDF-Fortran-4.6.1-iimpi-2024a.eb

@@ -7,7 +7,7 @@ description = """NetCDF (network Common Data Form) is a set of software librarie
  scientific data."""
 
 toolchain = {'name': 'iimpi', 'version': '2024a'}
-toolchainopts = {'pic': True, 'usempi': True}
+toolchainopts = {'pic': True, 'usempi': True, 'optarch': 'mavx2'}
 
 source_urls = ['https://github.com/Unidata/netcdf-fortran/archive/']
 sources = ['v%(version)s.tar.gz']

+ 47 - 0
2025/CDFTOOLS-4.0.0-foss-2025b.eb

@@ -0,0 +1,47 @@
+easyblock = 'MakeCp'
+
+name = 'CDFTOOLS'
+version = '4.0.0'
+
+homepage = 'https://github.com/meom-group/CDFTOOLS'
+description = """CDFTOOLS is a diagnostic package written in Fortran 90 
+for the analysis of NEMO model output."""
+
+toolchain = {'name': 'foss', 'version': '2025b'}
+toolchainopts = {'usempi': True, 'pic': True}
+
+source_urls = ['https://github.com/meom-group/CDFTOOLS/archive/']
+sources = ['v%(version)s.tar.gz']
+checksums = ['97c88789452b9945af8c165852f1a1b8a9af2394ca9aa758693e196d78e9d6f4']
+
+dependencies = [
+    ('netCDF', '4.9.3'),
+    ('netCDF-Fortran', '4.6.2'), # Standard version compatible with foss/2025b
+]
+
+start_dir = 'src'
+
+# CDFTOOLS requires a make.macro file in the src directory.
+# We create one that points to the EasyBuild-managed NetCDF paths.
+#prebuildopts = 'NC_CONFIG="$EBROOTNETCDF/bin/nc-config" && '
+prebuildopts = 'NF_CONFIG="$EBROOTNETCDFMINFORTRAN/bin/nf-config" && '
+prebuildopts += 'echo "F90 = $($NF_CONFIG --fc) $($NF_CONFIG --fflags) $($NF_CONFIG --flibs)" > make.macro && '
+prebuildopts += 'echo "FFLAGS = -O3 -fno-second-underscore -ffree-line-length-256" >> make.macro && '
+prebuildopts += 'echo "LIBS =" >> make.macro && '
+prebuildopts += 'echo "NC4 = -Dkey_netcdf4" >> make.macro && '
+
+# Build command execution
+buildopts = ""
+
+# Files to copy after build
+files_to_copy = [
+    (['../bin/*'], 'bin'),
+    (['*.mod'], 'include'),
+]
+
+sanity_check_paths = {
+    'files': ['bin/cdfmoc', 'bin/cdfpsi', 'bin/cdfmaxmoc'],
+    'dirs': ['bin'],
+}
+
+moduleclass = 'phys'

+ 48 - 0
2025/CDFTOOLS-4.0.0-intel-2025b.eb

@@ -0,0 +1,48 @@
+easyblock = 'MakeCp'
+
+name = 'CDFTOOLS'
+version = '4.0.0'
+
+homepage = 'https://github.com/meom-group/CDFTOOLS'
+description = """CDFTOOLS is a diagnostic package written in Fortran 90 
+for the analysis of NEMO model output."""
+
+# Using the intel toolchain (Intel Compilers + Intel MPI + Intel MKL)
+toolchain = {'name': 'intel', 'version': '2025b'}
+
+source_urls = ['https://github.com/meom-group/CDFTOOLS/archive/']
+sources = ['v%(version)s.tar.gz']
+checksums = ['97c88789452b9945af8c165852f1a1b8a9af2394ca9aa758693e196d78e9d6f4']
+
+dependencies = [
+    ('netCDF', '4.9.3'),
+    ('netCDF-Fortran', '4.6.2'), 
+]
+
+# Move into the source directory
+start_dir = 'src'
+
+# CDFTOOLS requires a make.macro file in the src directory.
+# We create one that points to the EasyBuild-managed NetCDF paths.
+#prebuildopts = 'NC_CONFIG="$EBROOTNETCDF/bin/nc-config" && '
+prebuildopts = 'NF_CONFIG="$EBROOTNETCDFMINFORTRAN/bin/nf-config" && '
+prebuildopts += 'echo "F90 = $($NF_CONFIG --fc) $($NF_CONFIG --fflags) $($NF_CONFIG --flibs)" > make.macro && '
+prebuildopts += 'echo "FFLAGS = -O3 -fno-alias" >> make.macro && '
+prebuildopts += 'echo "LIBS =" >> make.macro && '
+prebuildopts += 'echo "NC4 = -Dkey_netcdf4" >> make.macro && '
+
+# Build command execution
+buildopts = ""
+
+# Files to copy after build
+files_to_copy = [
+    (['../bin/*'], 'bin'),
+    (['*.mod'], 'include'),
+]
+
+sanity_check_paths = {
+    'files': ['bin/cdfmoc', 'bin/cdfpsi', 'bin/cdfmaxmoc'],
+    'dirs': ['bin', 'include'],
+}
+
+moduleclass = 'phys'