Skip to content

openPMD/openPMD-projects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 Commits
 
 
 
 

Repository files navigation

Projects using openPMD

The following list of projects use the openPMD standard to describe their data. For additional information, we list third-party projects marked with a (third party) to acknowledge the the work provided in those for our format handling.

Documents

Scientific Simulations

  • PIConGPU (HZDR, Germany)

    • domain: electro-dynamic particle-in-cell code
    • repository (GPLv3+/LGPLv3+)
    • maintainers: A Huebl @ax3l, M Bussmann @bussmann et al.
    • status: implemented (base standard + ED-PIC)
  • Warp (LBNL & LLNL, United States)

    • domain: electro-dynamic/static particle-in-cell code
    • repository (BSD-3-Clause-LBNL)
    • maintainers: JL Vay @jlvay, D Grote @dpgrote, R Lehe @RemiLehe et al.
    • status: implemented (base standard + ED-PIC)
  • WarpX (LBNL & LLNL, United States)

    • domain: electro-dynamic/static particle-in-cell code
    • repository (BSD-3-Clause-LBNL)
    • maintainers: JL Vay @jlvay, D Grote @dpgrote, R Lehe @RemiLehe, M Thevenet @MaxThevenet, A Huebl @ax3l et al.
    • status: implemented (base standard + ED-PIC)
  • FBPIC (LBNL, CFEL Hamburg University)

    • domain: electro-dynamic particle-in-cell code with spetral solver and Fourier-Bessel decomposition in cylindrical geometry
    • repository (BSD-3-Clause-LBNL)
    • maintainers: R Lehe @RemiLehe, M Kirchen @MKirchen et al.
    • status: implemented (base standard + ED-PIC)
  • Wake-T (DESY, Germany)

    • domain: fast particle-tracking code for plasma-based accelerators
    • repository (GPLv3+)
    • maintainers: A Ferran Pousa @AngelFP
    • status: implemented (base standard)
  • SimEx Platform (EUCALL, European XFEL)

    • domain: software platform for simulation of advanced photon experiments
    • repository (GPLv3+)
    • maintainer: C Fortmann-Grote @CFGrote
    • status: implemented (base standard)
  • LUME (SLAC, USA)

  • ParaTAXIS (HZDR, Germany)

    • domain: parallel tracer for arbitrary X-ray interaction and scattering
    • repository (GPLv3+)
    • maintainers: M Bussmann @bussmann et al.
    • original author: A Grund @Flamefire
    • status: implemented (base standard for X-ray laser & density profiles)
  • OSIRIS (UCLA, USA and IST, Portugal)

    • domain: electro-dynamic particle-in-cell code
    • repository: closed, available through MoU
    • maintainers: OSIRIS Consortium (UCLA/IST)
    • original author: R G Hemker (UCLA)
    • an openPMD fork for OSIRIS 4.0 is available from UCLA; existing grid data can be converted from the previous OSIRIS file format to openPMD format by using the python library https://github.com/UCLA-Plasma-Simulation-Group/pyVisOS
  • UPIC-Emma (UCLA, USA)

    • domain: 2-1/2D electromagnetic particle-in-cell code
    • repository (UCLA-NC)
    • maintainer: F Tsung @tsung1029
    • original author: V Decyk
    • status: implemented
  • Sirepo/Warp PBA (RadiaSoft, USA)

    • domain: 2-1/2D r-z electromagnetic PIC for beam-plasma and laser-plasma
    • repository
    • free use
    • maintainers: P Moeller @moellep, R Nagler @robnagler, D Bruhwiler @bruhwiler
    • original UI authors: P Moeller @moellep, R Nagler @robnagler
    • original code authors: JL Vay @jlvay, D Grote @dpgrote
    • status: implemented
  • Sirepo/Warp VND (RadiaSoft, USA)

    • domain: 2D and 3D Cartesian electrostatic PIC with complex boundaries and dielectrics
    • repository
    • free use
    • maintainers: P Moeller @moellep, R Nagler @robnagler, N Cook @ncook882
    • original UI authors: P Moeller @moellep, R Nagler @robnagler, N Cook @ncook882
    • original code authors: D Grote @dpgrote, JL Vay @jlvay
    • status: implemented
  • HiPACE++ (DESY, LBNL)

    • domain: 3D GPU-capable quasi-static particle-in-cell code for plasma acceleration
    • repository (BSD-3-Clause-LBNL)
    • maintainers: M Thevenet @MaxThevenet, S Diederichs @SeverinDiederichs, A Huebl @ax3l et al.
    • status: implemented
  • ACE3P (SLAC, USA)

    • domain: 3D parallel electromagnetics code suite
    • repository: closed, available through MoU
    • maintainers: Lixin Ge @lge, Cho-Kuen Ng @cho
    • original code authors: Lixin Ge @lge, Cho-Kuen Ng @cho
    • status:
      • implemented – conversion tool for EM field on unstructured grid to structured grid (David A. Bizzozero, Ji Qiang, Lixin Ge, Zenghai Li, Cho-Kuen Ng Liling Xiao, "Multi-objective optimization with an integrated electromagnetics and beam dynamics workflow", Nuclear Inst. and Methods in Physics Research, A 1020 (2021) 165844).
      • to be implemented - particles data on base standard.
  • CarpetX, a new AMR driver intended for the Einstein Toolkit

    • domain: relativistic astrophysics (black holes, neutron stars, core-collapse supernovae, and more)
    • maintainers: Roland Haas, Erik Schnetter
    • repository: https://bitbucket.org/eschnett/cactusamrex
    • status: openPMD is fully supported for reading/writing/checkpointing/recovery for 3D grids, including support for adaptive mesh refinement
  • Synergia3 (FNAL, USA)

    • domain: accelerator modeling and simulation
    • repository
    • current maintainers: Eric Stern, Marc Paterno, James Amundson, Sajid Ali
    • original code authors: James Amundson, Steve Goldhaber, Paul Lebrun, Qiming Lu, Alexandru Macridin, Leo Michelotti (CHEF libraries), Chong Shik Park, Panagiotis Spentzouris and Eric Stern
    • status: openPMD I/O is implemented for bunch I/O and statistics. Internal checkpoints still use custom HDF5 formats, but these would likely be moved to openPMD in the future.
  • MALA (Materials Learning Algorithms) (CASUS, SNL)

    • domain: ML models that replace density functional theory (DFT) calculations
    • repository: https://github.com/mala-project/mala/ (BSD 3-Clause License)
    • maintainers: Attila Cangi & Sivasankaran Rajamanickam (scientific supervision), Lenz Fiedler & Jon Vogel (code maintenance)
    • status: openPMD implemented as a feature-complete alternative to the default Numpy I/O
  • Quokka (ANU, MSU)

Data Processing and Visualization

  • openPMD-viewer (LBNL, CFEL Hamburg University)

    • domain: high level python api and interactive IPython notebook GUI
    • repository (BSD-3-Clause-LBNL)
    • maintainer: R Lehe @RemiLehe et al.
    • status: implemented
  • yt project (Members, third party)

  • VisIt (LLNL, third party)

    • domain: analysis and visualization
    • repository (BSD-3-Clause)
    • plugin repository (BSD-3-Clause-LBNL)
    • maintainers: VisIt collaborators (LBNL: reader plugin contribution by M Lobet @xxirii, ORNL: mainlined by D Pugmire @dpugmire)
    • status:
      • 3.1.0+: implemented (HDF5 reader for base standard: 1.0.0-1.1.0)
      • note: needs renaming of .h5 files for detection to .opmd
      • future: generalize to openPMD-api reader (ADIOS, HDF5, JSON)
  • ParaView (Kitware, third party)

    • domain: analysis and visualization
    • repository (BSD-3-Clause)
    • maintainers: Kitware (reader plugin contribution by B Geveci @berkgeveci and A Huebl @ax3l)
    • status:
      • 5.9+: implemented an openPMD-api reader plugin (ADIOS, HDF5, JSON) for base standard (particles & 3D meshes)
      • 5.10+: added support for 1D and 2D meshes
      • note: needs a helper text file ending on .pmd containing a line with the openPMD-api Series filename, e.g. "data_%T.bp"
  • VisualPIC (DESY, Germany)

    • domain: high-level Python API (+GUI) for data analysis and interactive 2D/3D visualization
    • repository (GPLv3+)
    • maintainer: A Ferran Pousa @AngelFP
    • status: implemented (reads data via openPMD-viewer)
  • postpic (U Jena, Germany)

    • domain: post-processing and visualization tool for particle-in-cell data
    • repository (GPLv3+)
    • maintainer: S Kuschel @skuschel
    • status: implemented (HDF5 reader for base standard + ED-PIC)
  • PlasmaPy (Members, third party)

    • domain: plasma physics analysis
    • repository (BSD-3-Clause)
    • maintainers: Nick Murphy @namurphy, Dominik Stańczak @StanczakDominik et al. (reader implemented by Ritiek Malhotra @ritiek)
    • status:
      • 0.2.0+: implemented (HDF5 reader for base standard: 1.0.0-1.0.1)
  • APtools (DESY, Germany)

    • domain: ollection of tools for accelerator physics
    • repository (GPLv3+)
    • maintainer: A Ferran Pousa @AngelFP
    • status: implemented (read/write particle distributions following the base standard)
  • pyVisOS (UCLA, USA)

    • domain: post-processing and visualization tool for particle-in-cell data
    • repository (BSD-3-Clause)
    • maintainer: H. Wen (@Wen-Han)
    • status: implemented
  • openPMD-beamphysics (SLAC, USA)

    • domain: tools for analyzing and viewing particle accelerator data in the openPMD standard, extension beamphysics
    • repository (Apache License 2.0)
    • maintainers: C Mayes @ChristopherMayes et al.
    • status: implemented (base standard + BeamPhysics)
  • PP Ana (GSI)

    • domain: parallel python post processor
    • repository
    • maintainers: Denis Bertini @denisbertini
    • status: implemented (base standard)

Note: For third-party frameworks, the general idea is to implement our readers upstream as soon as they are working.

Please check the individual repositories and feel free to contribute.

Libraries

  • openPMD-api (HZDR, Germany and LBNL, USA)

    • domain: C++ & Python API for writing & reading (BP, HDF5, JSON, ...), serial & parallel (MPI)
    • repository (LGPLv3+)
    • maintainers: F Poeschel @franzpoeschel, A Huebl @ax3l
    • status:
      • implemented: ADIOS1, ADIOS2, HDF5 and JSON for base standard (1.0.0-1.1.0)
    • supersedes our legacy C++ library:
      • libSplash (TU Dresden/HZDR, Germany)
        • domain: high-level C++ HDF5 library for mesh and particle records
        • repository (LGPLv3+)
        • maintainers: F Schmitt @f-schmitt-zih, A Huebl @ax3l
        • status:
          • 1.4.0+: full API available to fulfill the standard (read+write)
  • Fortran openPMD writer (UCLA, USA)

    • domain: Fortran 2003 HDF5 File Writers in openPMD Standard
    • repository (UCLA-NC)
    • maintainer: Weiming An @caozigao
    • status: openPMD 1.0 implemented
  • openPMD-CCD (LBNL, USA)

    • domain: A Python Module + LabView bindings for Storing CCD Images with openPMD
    • repository (BSD-3-Clause-LBNL)
    • maintainers: A Huebl @ax3l, Anthony Gonsalves @ag6520
    • status:
      • implemented: HDF5 for base standard (1.0.0-1.1.0)
  • HDF5 (third party)

    • domain: libraries for reading & writing the HDF5 format C/C++/Fortran
    • maintainer: HDF Group
  • ADIOS (ORNL, United States; third party)

    • domain: libraries for reading & writing the HDF5 format C/C++/Fortran/Java/Python
    • repository (BSD-3-Clause-DOE)
    • maintainers: N Podhorszki @pnobert, S Klasky @sklasky at al.
  • h5py (third party)

    • domain: python bindings for HDF5
    • repository
    • maintainer: A Collette @andrewcollette et al.

Tools & Converters

Please be aware that all existing tools for general file handling (HDF5, ADIOS, ...) are also usable with openPMD flavoured files!

A non-complete list of third party software for your consideration:

  • openPMD-validator (HZDR, LBNL)

    • domain: scripts and python module to validate files according to the openPMD standard
    • repository (ISC)
    • maintainers: A Huebl @ax3l, R Lehe @RemiLehe
    • status: implemented (base standard + ED-PIC)
  • openPMD-updater (HZDR, LBNL)

    • domain: scripts and python module to update openPMD files to newer versions of the openPMD standard
    • repository (ISC)
    • maintainers: A Huebl @ax3l, R Lehe @RemiLehe
    • status: currently implementing update routines for openPMD 1.0/1.1 to (upcoming) openPMD 2.0
  • openPMD-converter

    • domain: copy converters from and to openPMD, e.g. for tools/frameworks/applications without native openPMD support
    • repository
    • maintainers: various
  • openPMD-resampler (ELI-NP)

    • domain: Particle down-sampling and phase space visualization tools for post-processing in GEANT4/GPT/Wake-T etc.
    • repository
    • maintainers: A Berceanu @berceanu
  • HDF Compass (HDF Group; third party)

    • domain: viewer for HDF5 and related formats
    • repository (BSD-3-Clause-HDF)
    • development repository (our fork for ADIOS support)
    • maintainer: HDF Group (HZDR: ADIOS reader contribution by @michaelsippel)
    • status: HZDR implemented an ADIOS reader
  • HDFView (HDF Group; third party)

    • domain: viewer for HDF5
    • maintainer: HDF Group
    • download (BSD-3-Clause-HDF)
  • HDF5 command line tools (HDF Group; third party)

    • domain: HDF5 file handling
    • maintainer: HDF Group
    • examples: h5ls, h5dump, h5diff, h5repack, gif2h5, ...
  • ADIOS command line tools (ORNL, United States; third party)

    • domain: ADIOS file handling
    • maintainers: N Podhorszki @pnorbert, S Klasky @sklasky et al.
    • examples: bpls, bpdump, bpdiff, bp2bp, bp2h5, ...
  • png2gas (HZDR, Germany)