@@ -32,3 +32,35 @@ Output from `bpls -A` for a boolean attribute `pybool` stored in the location of
3232
3333There is no convention yet for a unique representation of ADIOS2 variables with boolean type.
3434Thus, implementations should cast the data to and from ` unsigned char ` instead.
35+
36+ ## ` stepBased ` Encoding of Iterations
37+
38+ In order to correlate openPMD iterations with ADIOS steps, the * root* group (path ` / ` ) in ADIOS must contain a variable:
39+
40+ - ` __step__ `
41+ - type: 1-dimensional array containing N * (int)* elements, where N is the number of ADIOS steps
42+ - description: for each ADIOS step, this variable needs to be updated with the corresponding openPMD iteration.
43+ - note: ADIOS steps are absolute and not every ADIOS step or openPMD iteration contains an update for each declared openPMD record.
44+ - advice to implementers: [ decide on this] an openPMD iteration for different openPMD records might be spread over multiple ADIOS steps.
45+ An iteration of an openPMD record must correspond to exactly one ADIOS step.
46+
47+ ## Datasets
48+
49+ An openPMD ** data set** is represented by an group prefix that contains an ADIOS variable ` __data__ ` .
50+
51+ ** attributes** are defined further below and can also appear at the dataset's ** group** prefix level.
52+
53+ ## Attributes
54+
55+ openPMD ** attributes** stored as ADIOS ` Variables ` at the location where they would usually be stored.
56+
57+ Example for a mesh record ` E ` with record component ` x ` and attributes ` unitDimension ` and ` unitSI ` :
58+ ```
59+ double /data/meshes/E/unitDimension 10*{7}
60+ double /data/meshes/E/x/__data__ 10*{1000}
61+ double /data/meshes/E/x/position 10*{1}
62+ double /data/meshes/E/x/unitSI 10*scalar
63+ ```
64+
65+ This example uses ` stepBased ` iteration encoding, but other iteration encodings would work similarly with their respective ` basePath ` prefix.
66+
0 commit comments