This pull-request specifies data-format specific conventions.
Depending on the data-format that is targeted, a few corner-cases need to be handled to implement additional data types or sometimes central concepts of openPMD in a compatible way.
These conventions are already established in existing implementations (openPMD-api, newer codes we supported over the last years, legacy implementations in PIConGPU, libSplash, etc.). Transitioning from tribal knowledge to proper documentation, these are now specified properly.
Affected Components
base
Logic Changes
There are no logic changes introduced that are not already used in the community.
Writer Changes
We now properly document that writers for HDF5 need to be compatible with h5py conventions and add code examples. The convention herein are used for many years in libSplash, PIConGPU, now openPMD-api and all Python implementations (including Warp, FBPIC).
We now properly document the successful implementation details of openPMD in JSON as provided by openPMD-api by @franzpoeschel
We now properly document the handling of bool types in ADIOS1 & 2.
Reader Changes
There are no logic changes introduced that are not already used in community codes.
Description
This pull-request specifies data-format specific conventions.
Depending on the data-format that is targeted, a few corner-cases need to be handled to implement additional data types or sometimes central concepts of openPMD in a compatible way.
These conventions are already established in existing implementations (openPMD-api, newer codes we supported over the last years, legacy implementations in PIConGPU, libSplash, etc.). Transitioning from tribal knowledge to proper documentation, these are now specified properly.
Affected Components
base
Logic Changes
There are no logic changes introduced that are not already used in the community.
Writer Changes
h5py
conventions and add code examples. The convention herein are used for many years in libSplash, PIConGPU, now openPMD-api and all Python implementations (including Warp, FBPIC).bool
types in ADIOS1 & 2.Reader Changes
There are no logic changes introduced that are not already used in community codes.
Data Updater
None needed.