Skip to content

Parallel-NetCDF/PnetCDF-Python

Repository files navigation

PnetCDF for Python

PnetCDF-Python is a Python interface to PnetCDF, a high-performance I/O library for accessing NetCDF files in parallel. It can provide MPI-based parallel python programs to achieve a scalable I/O performance.

Software Dependencies

  • Python 3.9 or later.
  • numpy Python package.
  • MPI C library and Python package, mpi4py.
    • Note when using mpi4py 4.0 and MPICH, MPICH version 4.2.2 and later is required.
  • PnetCDF C library, built with shared libraries.

Quick Installation

  • Make sure you have a working MPI and PnetCDF-C software installed.
  • Run pip command below to install PnetCDF-Python library from PyPI:
    CC=/path/to/mpicc PNETCDF_DIR=/path/to/pnetcdf/dir/ pip install pnetcdf
    

Developer Installation

  • Clone this GitHub repository
  • Required software for developer installation:
  • Commands to install.
    export CC=/path/to/mpicc
    export PNETCDF_DIR=/path/to/pnetcdf/dir
    pip install --no-build-isolation -e .
    
  • Testing -- Command "make check" tests all the programs available in folders "test/" and "examples/".

Additional Resources

Developer Team

Acknowledgements

Ongoing development and maintenance of PnetCDF-python is supported by the U.S. Department of Energy's Office of Science, Scientific Discovery through Advanced Computing (SciDAC) program, RAPIDS/OASIS Institute.