diff --git a/easybuild/easyconfigs/e/ESMF/ESMF-8.9.0-foss-2025a.eb b/easybuild/easyconfigs/e/ESMF/ESMF-8.9.0-foss-2025a.eb index 899e9528bb62..6e75ae6c2bd3 100644 --- a/easybuild/easyconfigs/e/ESMF/ESMF-8.9.0-foss-2025a.eb +++ b/easybuild/easyconfigs/e/ESMF/ESMF-8.9.0-foss-2025a.eb @@ -23,11 +23,10 @@ dependencies = [ ('netCDF-Fortran', '4.6.2'), ('netCDF-C++4', '4.3.1'), ('libarchive', '3.7.7'), + ('ParallelIO', '2.7.0'), + ('PnetCDF', '1.14.0'), ] -buildopts = 'ESMF_NETCDF_INCLUDE=$EBROOTNETCDFMINFORTRAN/include ' -buildopts += 'ESMF_NETCDF_LIBS="`nc-config --libs` `nf-config --flibs` `ncxx4-config --libs`"' - # too parallel causes the build to become really slow maxparallel = 8 diff --git a/easybuild/easyconfigs/e/ESMF/ESMF-8.9.0-foss-2025b.eb b/easybuild/easyconfigs/e/ESMF/ESMF-8.9.0-foss-2025b.eb index cbd9d7b20270..72993337581f 100644 --- a/easybuild/easyconfigs/e/ESMF/ESMF-8.9.0-foss-2025b.eb +++ b/easybuild/easyconfigs/e/ESMF/ESMF-8.9.0-foss-2025b.eb @@ -23,11 +23,10 @@ dependencies = [ ('netCDF-Fortran', '4.6.2'), ('netCDF-C++4', '4.3.1'), ('libarchive', '3.8.1'), + ('ParallelIO', '2.7.0'), + ('PnetCDF', '1.14.1'), ] -buildopts = 'ESMF_NETCDF_INCLUDE=$EBROOTNETCDFMINFORTRAN/include ' -buildopts += 'ESMF_NETCDF_LIBS="`nc-config --libs` `nf-config --flibs` `ncxx4-config --libs`"' - # too parallel causes the build to become really slow maxparallel = 8 diff --git a/easybuild/easyconfigs/e/ESMF/ESMF-8.9.0-intel-2025a.eb b/easybuild/easyconfigs/e/ESMF/ESMF-8.9.0-intel-2025a.eb index b4989943a805..a3b723075848 100644 --- a/easybuild/easyconfigs/e/ESMF/ESMF-8.9.0-intel-2025a.eb +++ b/easybuild/easyconfigs/e/ESMF/ESMF-8.9.0-intel-2025a.eb @@ -23,11 +23,10 @@ dependencies = [ ('netCDF-Fortran', '4.6.2'), ('netCDF-C++4', '4.3.1'), ('libarchive', '3.7.7'), + ('ParallelIO', '2.7.0'), + ('PnetCDF', '1.14.0'), ] -buildopts = 'ESMF_NETCDF_INCLUDE=$EBROOTNETCDFMINFORTRAN/include ' -buildopts += 'ESMF_NETCDF_LIBS="`nc-config --libs` `nf-config --flibs` `ncxx4-config --libs`"' - # too parallel causes the build to become really slow maxparallel = 8 diff --git a/easybuild/easyconfigs/e/ESMF/ESMF-8.9.0-intel-2025b.eb b/easybuild/easyconfigs/e/ESMF/ESMF-8.9.0-intel-2025b.eb index 1c2229ff46a3..5cf0aa19b11e 100644 --- a/easybuild/easyconfigs/e/ESMF/ESMF-8.9.0-intel-2025b.eb +++ b/easybuild/easyconfigs/e/ESMF/ESMF-8.9.0-intel-2025b.eb @@ -23,11 +23,10 @@ dependencies = [ ('netCDF-Fortran', '4.6.2'), ('netCDF-C++4', '4.3.1'), ('libarchive', '3.8.1'), + ('ParallelIO', '2.7.0'), + ('PnetCDF', '1.14.1'), ] -buildopts = 'ESMF_NETCDF_INCLUDE=$EBROOTNETCDFMINFORTRAN/include ' -buildopts += 'ESMF_NETCDF_LIBS="`nc-config --libs` `nf-config --flibs` `ncxx4-config --libs`"' - # too parallel causes the build to become really slow maxparallel = 8 diff --git a/easybuild/easyconfigs/p/ParallelIO/ParallelIO-2.7.0-gompi-2025a.eb b/easybuild/easyconfigs/p/ParallelIO/ParallelIO-2.7.0-gompi-2025a.eb new file mode 100644 index 000000000000..e4737f6af80f --- /dev/null +++ b/easybuild/easyconfigs/p/ParallelIO/ParallelIO-2.7.0-gompi-2025a.eb @@ -0,0 +1,44 @@ +easyblock = 'CMakeMake' + +name = 'ParallelIO' +version = '2.7.0' + +homepage = 'https://github.com/NCAR/ParallelIO' +description = """A high-level Parallel I/O Library for structured grid applications""" + +toolchain = {'name': 'gompi', 'version': '2025a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/NCAR/ParallelIO/archive/'] +sources = ['pio%s.tar.gz' % '_'.join(version.split('.'))] +patches = ['ParallelIO-2.7.0_fix-pnetcdf-linking.patch'] +checksums = [ + {'pio2_7_0.tar.gz': 'cce83743156ae723e7890931c2b48dcfe7ea8a276962dc4429f839d8f58d4a5a'}, + {'ParallelIO-2.7.0_fix-pnetcdf-linking.patch': '6091baf7ac2b6831468200c7f60fa696a110a34de6062965fa4973baf7a0c8a2'}, +] + +builddependencies = [ + ('CMake', '3.31.3'), + ('pkgconf', '2.3.0'), + ('Doxygen', '1.14.0'), +] + +dependencies = [ + ('netCDF', '4.9.3'), + ('netCDF-Fortran', '4.6.2'), + ('PnetCDF', '1.14.0'), +] + +configopts = "-DPIO_ENABLE_TIMING=OFF " +configopts += "-DNETCDF_DIR=$EBROOTNETCDF -DPNETCDF_DIR=$EBROOTPNETCDF " + +sanity_check_paths = { + 'files': ['lib/libpiof.a', 'include/pio.mod'], + 'dirs': [], +} + +modextravars = { + 'PIO': '%(installdir)s' +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/ParallelIO/ParallelIO-2.7.0-gompi-2025b.eb b/easybuild/easyconfigs/p/ParallelIO/ParallelIO-2.7.0-gompi-2025b.eb new file mode 100644 index 000000000000..9a4b17985c25 --- /dev/null +++ b/easybuild/easyconfigs/p/ParallelIO/ParallelIO-2.7.0-gompi-2025b.eb @@ -0,0 +1,44 @@ +easyblock = 'CMakeMake' + +name = 'ParallelIO' +version = '2.7.0' + +homepage = 'https://github.com/NCAR/ParallelIO' +description = """A high-level Parallel I/O Library for structured grid applications""" + +toolchain = {'name': 'gompi', 'version': '2025b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/NCAR/ParallelIO/archive/'] +sources = ['pio%s.tar.gz' % '_'.join(version.split('.'))] +patches = ['ParallelIO-2.7.0_fix-pnetcdf-linking.patch'] +checksums = [ + {'pio2_7_0.tar.gz': 'cce83743156ae723e7890931c2b48dcfe7ea8a276962dc4429f839d8f58d4a5a'}, + {'ParallelIO-2.7.0_fix-pnetcdf-linking.patch': '6091baf7ac2b6831468200c7f60fa696a110a34de6062965fa4973baf7a0c8a2'}, +] + +builddependencies = [ + ('CMake', '4.0.3'), + ('pkgconf', '2.4.3'), + ('Doxygen', '1.14.0'), +] + +dependencies = [ + ('netCDF', '4.9.3'), + ('netCDF-Fortran', '4.6.2'), + ('PnetCDF', '1.14.1'), +] + +configopts = "-DPIO_ENABLE_TIMING=OFF " +configopts += "-DNETCDF_DIR=$EBROOTNETCDF -DPNETCDF_DIR=$EBROOTPNETCDF " + +sanity_check_paths = { + 'files': ['lib/libpiof.a', 'include/pio.mod'], + 'dirs': [], +} + +modextravars = { + 'PIO': '%(installdir)s' +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/ParallelIO/ParallelIO-2.7.0-iimpi-2025a.eb b/easybuild/easyconfigs/p/ParallelIO/ParallelIO-2.7.0-iimpi-2025a.eb new file mode 100644 index 000000000000..c29a85bc0a18 --- /dev/null +++ b/easybuild/easyconfigs/p/ParallelIO/ParallelIO-2.7.0-iimpi-2025a.eb @@ -0,0 +1,44 @@ +easyblock = 'CMakeMake' + +name = 'ParallelIO' +version = '2.7.0' + +homepage = 'https://github.com/NCAR/ParallelIO' +description = """A high-level Parallel I/O Library for structured grid applications""" + +toolchain = {'name': 'iimpi', 'version': '2025a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/NCAR/ParallelIO/archive/'] +sources = ['pio%s.tar.gz' % '_'.join(version.split('.'))] +patches = ['ParallelIO-2.7.0_fix-pnetcdf-linking.patch'] +checksums = [ + {'pio2_7_0.tar.gz': 'cce83743156ae723e7890931c2b48dcfe7ea8a276962dc4429f839d8f58d4a5a'}, + {'ParallelIO-2.7.0_fix-pnetcdf-linking.patch': '6091baf7ac2b6831468200c7f60fa696a110a34de6062965fa4973baf7a0c8a2'}, +] + +builddependencies = [ + ('CMake', '3.31.3'), + ('pkgconf', '2.3.0'), + ('Doxygen', '1.14.0'), +] + +dependencies = [ + ('netCDF', '4.9.3'), + ('netCDF-Fortran', '4.6.2'), + ('PnetCDF', '1.14.0'), +] + +configopts = "-DPIO_ENABLE_TIMING=OFF " +configopts += "-DNETCDF_DIR=$EBROOTNETCDF -DPNETCDF_DIR=$EBROOTPNETCDF " + +sanity_check_paths = { + 'files': ['lib/libpiof.a', 'include/pio.mod'], + 'dirs': [], +} + +modextravars = { + 'PIO': '%(installdir)s' +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/ParallelIO/ParallelIO-2.7.0-iimpi-2025b.eb b/easybuild/easyconfigs/p/ParallelIO/ParallelIO-2.7.0-iimpi-2025b.eb new file mode 100644 index 000000000000..d73a1e3b0500 --- /dev/null +++ b/easybuild/easyconfigs/p/ParallelIO/ParallelIO-2.7.0-iimpi-2025b.eb @@ -0,0 +1,44 @@ +easyblock = 'CMakeMake' + +name = 'ParallelIO' +version = '2.7.0' + +homepage = 'https://github.com/NCAR/ParallelIO' +description = """A high-level Parallel I/O Library for structured grid applications""" + +toolchain = {'name': 'iimpi', 'version': '2025b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/NCAR/ParallelIO/archive/'] +sources = ['pio%s.tar.gz' % '_'.join(version.split('.'))] +patches = ['ParallelIO-2.7.0_fix-pnetcdf-linking.patch'] +checksums = [ + {'pio2_7_0.tar.gz': 'cce83743156ae723e7890931c2b48dcfe7ea8a276962dc4429f839d8f58d4a5a'}, + {'ParallelIO-2.7.0_fix-pnetcdf-linking.patch': '6091baf7ac2b6831468200c7f60fa696a110a34de6062965fa4973baf7a0c8a2'}, +] + +builddependencies = [ + ('CMake', '4.0.3'), + ('pkgconf', '2.4.3'), + ('Doxygen', '1.14.0'), +] + +dependencies = [ + ('netCDF', '4.9.3'), + ('netCDF-Fortran', '4.6.2'), + ('PnetCDF', '1.14.1'), +] + +configopts = "-DPIO_ENABLE_TIMING=OFF " +configopts += "-DNETCDF_DIR=$EBROOTNETCDF -DPNETCDF_DIR=$EBROOTPNETCDF " + +sanity_check_paths = { + 'files': ['lib/libpiof.a', 'include/pio.mod'], + 'dirs': [], +} + +modextravars = { + 'PIO': '%(installdir)s' +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/ParallelIO/ParallelIO-2.7.0_fix-pnetcdf-linking.patch b/easybuild/easyconfigs/p/ParallelIO/ParallelIO-2.7.0_fix-pnetcdf-linking.patch new file mode 100644 index 000000000000..f48443d6a6a0 --- /dev/null +++ b/easybuild/easyconfigs/p/ParallelIO/ParallelIO-2.7.0_fix-pnetcdf-linking.patch @@ -0,0 +1,42 @@ +Fix linking of examples to PnetCDF +author: Alex Domingo (Vrije Universiteit Brussel) +--- examples/f03/CMakeLists.txt.orig 2026-08-13 15:42:38.535863097 +0200 ++++ examples/f03/CMakeLists.txt 2026-08-13 15:43:35.059792858 +0200 +@@ -29,8 +29,8 @@ + # Ensure NetCDF Fortran and C libraries are linked + set(SRC examplePio.F90) + add_executable(examplePio_f90 ${SRC}) +-target_link_libraries(examplePio_f90 piof pioc ${TIMING_LINK_LIB}) ++target_link_libraries(examplePio_f90 piof pioc pnetcdf ${TIMING_LINK_LIB}) + + set(SRC exampleAsyncPio.F90) + add_executable(exampleAsyncPio_f90 ${SRC}) +-target_link_libraries(exampleAsyncPio_f90 piof pioc ${TIMING_LINK_LIB}) +\ No newline at end of file ++target_link_libraries(exampleAsyncPio_f90 piof pioc pnetcdf ${TIMING_LINK_LIB}) +--- examples/c/CMakeLists.txt.orig 2026-08-13 15:51:14.135383992 +0200 ++++ examples/c/CMakeLists.txt 2026-08-13 15:50:44.758686579 +0200 +@@ -29,19 +29,19 @@ + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0") + + add_executable(examplePio EXCLUDE_FROM_ALL examplePio.c) +-target_link_libraries(examplePio pioc) ++target_link_libraries(examplePio pioc pnetcdf) + add_dependencies(tests examplePio) + + add_executable(piorcw piorcw.c) +-target_link_libraries(piorcw pioc) ++target_link_libraries(piorcw pioc pnetcdf) + add_dependencies(tests piorcw) + + add_executable(example1 example1.c) +-target_link_libraries(example1 pioc) ++target_link_libraries(example1 pioc pnetcdf) + add_dependencies(tests example1) + + add_executable(darray_no_async darray_no_async.c) +-target_link_libraries(darray_no_async pioc) ++target_link_libraries(darray_no_async pioc pnetcdf) + add_dependencies(tests darray_no_async) + + # add_executable(darray_async darray_async.c)