Open s-sajid-ali opened 6 months ago
This file was produced by Bmad. We should discuss this with @davidsagan at https://github.com/bmad-sim/bmad-ecosystem/issues
The BeamPhysics extension for OpenPMD only becomes official with the 2.0 version so making things compatible with V1.1 I'm guessing is not possible.
That's right, but we found small little defects in what we propose for 2.0 that we would like to fix now, before we standardize them.
The validator for 2.0 already checks all proposed changes and does not pass the example files. https://github.com/openPMD/openPMD-validator/tree/2.0.X
@s-sajid-ali volunteered to update the repo here as part of CAMPA, and we will need only tiny updates (e.g., a few more attributes and a particle species directory) in Bmad to improve it.
@ax3l : Could you expand on how the 2.0 standard is a superset of the 1.1 standard which would make every 2.0 compliant OpenPMD file also a 1.1 compliant file (but not the other way around) ?
@s-sajid-ali No. 2.0 compliant will not necessarily be 1.1 compliant.
I understand the confusion now, @s-sajid-ali, I must have explained it badly, sorry for this.
openPMD extensions, e.g., the beamphysics extension, must be compatible with the base standard (of the respective version). Otherwise we cannot use a lot of tools for the community, e.g., extract particles, convert series, use large vis tools like ParaView, etc.
Currently, the BeamPhysics extension (for 2.0) is not compatible with the openPMD standard (2.0), because we are a bit ambiguous in the wording and forgot the particle species group in /data/%T/particles/
+ particleSpecies/
+ records
, which is an easy fix here, in the standard and Bmad.
The other small detail are a few missing attributes in the example file (see: validator for 2.0).
The other thing I mentioned in person: we will likely update openPMD-api to be able to read 1.1 and 2.0 files (and only be able to write 2.0 files) in coming releases.
The plan of action I propose is:
After that, we do another update to the repo here, using openPMD-api (once it got its 2.0 update itself). (This will then support more file formats here, e.g., ADIOS2.)
We'll take this on again. @moellep is also interested in this and volunteers to post a PR to update this repo (point 1).
I'll work on the validator updates for 2.0.
The test/example file bmad_particles.h5 (at
openPMD-beamphysics/docs/examples/data/
) is currently incompatible with the OpenPMD-1.1 standard as shown by the following errors raised byopenpmd-ls
:openPMD_check_h5
:Could the example file be updated so as to make it compliant with the base
OpenPMD-1.1.0
specification? Thanks!I am working (alongside @ax3l) to update the visualization tools for
OpenPMD
artifacts as part of the CAMPA project. We are looking to contribute a simplified backend which uses the Python bindings ofopenpmd-api
instead ofh5py
to allow for the usage of ADIOS2 files inopenpmd-beamphysics
once the above issue is fixed so as to not break the tool for existing users.