PnetCDF
Parallel-NetCDF (Parallel I/O Library for NetCDF Files also knows as pnetcdf) is a library providing high-performance I/O while still maintaining file-format compatibility with Unidata's NetCDF (Network Common Data Form). Parallel netCDF (officially abbreviated PnetCDF) is a library for parallel I/O providing higher-level data structures (e.g. multi-dimensional arrays of typed data). PnetCDF creates, writes, and reads the same file format as the serial netCDF library, meaning PnetCDF can operate on existing datasets, and existing serial analysis tools can process PnetCDF-generated files. PnetCDF is built on top of MPI-IO, which guarentees the portability across various platforms and high performance.
Installation of NetCDF on LRZ platforms
For Software stacks earlier than 24.5.0 please refer to the NetCDF-Dokumentation how the modules are named/organised.
For Software Stacks 24.5.0 and newer we provide parallel-netcdf for GCC and INTEL compiler, e.g.:
:~> module av parallel-netcdf --------------------------------------------------------------- /lrz/sys/spack/release/sles15.7/24.6.0/modules/skylake_avx512 ---------------------------------------------------------------- parallel-netcdf/1.11.2-gcc14-impi parallel-netcdf/1.11.2-intel25-impi parallel-netcdf/1.12.3-gcc14-impi parallel-netcdf/1.12.3-intel25-impi
Both versions are configured for intel-mpi.To make use of PnetCDF, please load the appropriate Environment Module, e.g.
module load parallel-netcdf/1.11.2-intel25-impi
If the libraries are not autodetected by your build system, you can also compile your code with
[mpicx/mpif90] -c $PNETCDF_INC my_example.[c|cc|f90]
and then link it with
[mpicx|mpif90] -o my_example.exe my_example.o $PNETCDF_SHLIB -lpnetcdf
Documentation
Please refer to the Parallel-NetCDF Web Site for documentation of the interface.