openPMD-standard icon indicating copy to clipboard operation
openPMD-standard copied to clipboard

Linter to fulfill VizSchema

Open ax3l opened this issue 10 years ago • 1 comments

Comparison of the openPMD standard to Tech-X's VisSchema:

Facts about VisSchema:

  • very free set of namings of groups and records (can be good and bad at the same time)
  • developed for visualization of various particle & mesh codes, but mainly for VORPAL
  • very close to (serial) VTK/XDMF namings (can again be good and bad at the same time)
  • they sometimes refer to it as a "markup language" for HDF5/NetCDF which is actually a good naming (e.g., in their composer)
  • wiki, talk, IPAC2010, ICAP2009
  • ADIOS (meshes only?), HDF5 & NetCDF VisIt plugins
  • also a minimal kernel of required mark-ups
  • provides C/Fortran/Python API (HDF5 & NetCDF? open source?)
  • time: also with data sets, but allow axis of a multi-dim mesh to "represent time"
  • markup-features:
    • allows "time" as an axis for multi-dimensional data sets
    • general section: try to capture also: compiler (version, tries to record flags...), host, cmd startup-line
    • some labels (e.g., strings including non-generic units for axis)
    • meshes are records that are defined and can be referenced by other records (useful abstraction for complicated geometries)
    • dx, dy, ... implicit from lower and upper bounds & number of elements (for structured grids)
    • derived records via groups; functions only what VisIt (better say VTK?) directly supports
    • checker tool VizSchemaH5DataValidator.py open source?
  • (intentionally) missing in VisSchema:
    • not open source? (or only parts of it)
    • out of VizSchema-scope: human-readability, documentation for archives/supplementary materials, domain-specific extensions, code-interoperability, filtered data sets (e.g., storing the same particle in multiple records)
    • generally missing: a documentation that is not the wiki and not the code itself (xml descr.)? lacking parallel particle patch hints? staggered positions of components? units (besides hard-coded string labels)?

It might be actually possible to add all required "vs..." attributes out of an openPMD file.

ax3l avatar Apr 21 '15 15:04 ax3l

If we find enough documentation (and if the performance is not as bad as "parallel"-xdmf reading in tools), we can add a small script that automatically adds VizSchema markdown for our records. nevertheless, for parallel reading hints like our particlePatches should lead to high(er) performance in native ParaView/VisIt implementations.

ax3l avatar Aug 18 '15 18:08 ax3l