Skip to content

Reading: Improved Error Handling #983

@ax3l

Description

@ax3l

When writing a "long time" into an openPMD iteration, which is especially the case for WarpX back-transformed diagnostics from the boosted frame, we already see the files on disk (valid ADIOS2) but they are not yet completely written with data or openPMD meta-data. An example meta-data that we write at the end (rightfully) is the base attribute /openPMD.

The typical workflow we need to handle is that users might already read part of a written series. Currently, we read all files of a file-based iteration encoding into the Container of Iterations, even if the /openPMD attribute does not yet exist for some of the iterations. This leads to read issues when accessing the Series. For example:

RuntimeError: [ADIOS2] Requested attribute (/openPMD) not found in backend.

and the Series cannot be constructed, although some valid (closed) iterations already exist.

Instead, we should gracefully throw errors and/or silently ignore the iterations in a Series that are not (yet) valid.

This is part of a larger effort to provide more graceful error handling, especially on the reading side.

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions