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/" by running one MPI process.
    • Command "make ptests" tests all the programs by running more than one MPI process.
    • Note when using OpenMPI, use command below.
      make check  TESTMPIRUN="/path/to/OpenMPI/bin/mpirun --oversubscribe"
      make ptests TESTMPIRUN="/path/to/OpenMPI/bin/mpirun --oversubscribe"
      

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.

About

PnetCDF for Python

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy