JSON Update
- Dominant language
- C++
- Stars
- 161
- Forks
- 59
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 7
Description
This issue is supposed to collect things that we want to add to the JSON configuration of openPMD backends:
- [ ] Implement the extended layout for specifying dataset-specific configurations as experimented with already [in PIConGPU](https://github.com/ComputationalRadiationPhysics/picongpu/pull/3513#issuecomment-788820242).
- [x] more global options: explicit selection of backend and iteration encoding, etcc (?)
- [x] Priority of configuration: explicit API calls > JSON > environment variables > automatically detected stuff (e.g. file extension) > defaults
Many places already do this right, but document this and check if it's done correctly everywhere
- [ ] Replace legacy compression configurations with JSON - add helper functions to build backend-agnostic JSON strings?
- [ ] JSON configuration for ADIOS1, JSON (heh) and HDF5
- [x] capitalization. I favor capitalization-insensitivity, keeping consistent with how ADIOS2 does it.
- [x] More lenient datatypes in ADIOS2: To users, it seems weird that they should specify `adios2.engine.usesteps = true` (as a boolean) but `adios2.engine.parameters.OpenTimeoutSecs = "30"` (as a string).
- [ ] potentially install and expose a helper include if people want to use our shipped nlohmann-json
- [x] Alternatively read TOML files. Easy implementation could be done by implementing a converting reader for TOML files into instances of `nlohmann::json`. Clean implementation would be by building our own simple interface for config files that could have either JSON or TOML as a backend.
Contributor guide
Assessment
This issue has not been assessed yet.