Improved output handling
Refactored and hardened for
Records are not flushed before the ambiguity between scalar and vector records are resolved.
Trying to write globally zero-extent records will throw gracefully instead of leading to undefined behavior in backends.
Changes to “0.3.1-alpha”¶
- do not assume record structure prematurely #297
- throw in (global) zero-extent dataset creation and write #309
- ADIOS2 stub header #302
- name sanitization in ADIOS1 and HDF5 backends #310
- CI updates: #291
- measure C++ unit test coverage with coveralls
- clang-format support
- clang-tidy support
- include-what-you-use support #291 export headers #300
- OSX High Sierra support #301
- individual cache per build # 303
- readable build names #308
- remove superfluous whitespaces #292
- readme: openPMD is for scientific data #294
- spack load:
- default constructors and destructors #304
- string pass-by-value #305
- test cases with 0-sized reads & writes #135
Refined fileBased Series & Python Data Load
A specification for iteration padding in filenames for
fileBased series is introduced.
Padding present in read iterations is detected and conserved in processing.
Python builds have been simplified and python data loads now work for both meshes and particles.
Changes to “0.3.0-alpha”¶
openPMD::openPMDalias for full-source inclusion #277
- include internally shipped pybind11 v2.2.3 #281
- ADIOS1: enable serial API usage even if MPI is present #252 #254
- introduce detection and specification
%0\d+Tof iteration padding #270
- add unit tests #249
- expose record components for particles #284
- improved handling of
- return actual data in
- return actual data in
- improve “Install from source” section #274 #285
- Spack python 3 install command #278
Python Attributes, Better FS Handling and Runtime Checks
This release exposes openPMD attributes to Python. A new independent mechanism for verifying internal conditions is now in place. Filesystem support is now more robust on varying directory separators.
Changes to “0.2.0-alpha”¶
- CMake: add new
VERIFYmacro for pre-/post-conditions that replaces
- serial Singularity container #236
- expose attributes #256 #266
- use lists for offsets & extents #266
setAttributesignature changed to const ref #268
- handle directory separators platform-dependent #229
- recursive directory creation with existing base #261
FindADIOS.cmake: reset on multiple calls #263
SerialIOTest: remove variable shadowing #262
- ADIOS1: memory violation in string attribute writes #269
- enforce platform-specific directory separators on user input #229
- link updates to https #259
- minimum MPI version #251
- title updated #235
- remove MPI from serial ADIOS interface #258
- better name for scalar record in examples #257
- check validity of internally used pointers #247
- various CI updates #246 #250 #261
Initial Numpy Bindings
Adds first bindings for record component reading and writing. Fixes some minor CMake issues.
ADIOS1 Build Fixes & Less Flushes
We fixed build issues with the ADIOS1 backend. The number of performed flushes in backends was generally minimized.
This is the first developer release of openPMD-api.
Both HDF5 and ADIOS1 are implemented as backends with serial and parallel I/O support. The C++11 API is considered alpha state with few changes expected to come. We also ship an unstable preview of the Python3 API.