GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - Parallel-NetCDF/PnetCDF-Python: PnetCDF for Python

BranchesTags
Open more actions menu

Latest commit

 

History

597 Commits
597 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
docs
docs
 
 
examples
examples
 
 
include
include
 
 
src/pnetcdf
src/pnetcdf
 
 
test
test
 
 
.readthedocs.yaml
.readthedocs.yaml
 
 
COPYRIGHT
COPYRIGHT
 
 
MANIFEST.in
MANIFEST.in
 
 
Makefile
Makefile
 
 
README.md
README.md
 
 
RELEASE_NOTES.md
RELEASE_NOTES.md
 
 
pyproject.toml
pyproject.toml
 
 
setup.cfg
setup.cfg
 
 
setup.py
setup.py
 
 

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:
    • 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
    • Additional packages are required: torch and torchvision
    • Add the PnetCDF and MPI installation paths to the environment variable LD_LIBRARY_PATH, for example by running command:
      export LD_LIBRARY_PATH="${PNETCDF_DIR}/lib:${MPI_DIR}/lib:${LD_LIBRARY_PATH}"
      
    • 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

  • 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 <[email protected]>
  • Wei-keng Liao <[email protected]>

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

netcdfparallel-iopnetcdfpython

Resources

Readme
License
Activity
Custom properties

Stars

4 stars

Watchers

2 watching

Forks

3 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.