Awesome
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:
- The above mentioned dependent software are installed and additionally,
- Cython, packaging, setuptools>=65 and wheel.
- 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
- Example python programs available in folder ./examples.
- PnetCDF-python User Guide
- Data objects in PnetCDF python programming
- Comparison of PnetCDF-python to NetCDF4-python
- PnetCDF project home page
- PnetCDF of C/Fortran library repository
Developer Team
- Youjia Li <youjia@northwestern.edu>
- Wei-keng Liao <wkliao@northwestern.edu>
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.