Skip to content

Commit 4abd2bf

Browse files
committed
IterationEncoding: stepBased
Add standard guidance for stepBased iteration encoding.
1 parent 5fe2731 commit 4abd2bf

File tree

1 file changed

+14
-10
lines changed

1 file changed

+14
-10
lines changed

STANDARD.md

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,9 @@ for changes in keywords).
4848
Hierarchy of the Data File
4949
--------------------------
5050

51-
The used hierarchical data file format must provide the capability to
51+
For simplificty, we call the storage concept of a specific data format that implements the openPMD hierarchy "files", even if they are implemented in-memory or by other means.
52+
53+
The used hierarchical data format must provide the capability to
5254

5355
- create groups and sub-groups (in-file directories)
5456
- create multi-dimensional, homogeneous array-based data structures
@@ -85,7 +87,10 @@ Each file's *root* group (path `/`) must at least contain the attributes:
8587
to create a real path from it replace all occurrences
8688
of `%T` with the integer value of the iteration, e.g.,
8789
`/data/%T` becomes `/data/100`
88-
- allowed value: fixed to `/data/%T/` for this version of the standard
90+
- allowed values:
91+
- see *Iterations and Time Series* below
92+
- for `fileBased` and `groupBased`, this is fixed to `/data/%T/`
93+
- for `stepBased` this is fixed to `/data/`
8994
- note: all the data that is formatted according to the present
9095
standard (i.e. both the meshes and the particles) is to be
9196
stored within a path of the form given by `basePath` (e.g. in
@@ -195,9 +200,8 @@ standard:
195200
Iterations and Time Series
196201
--------------------------
197202

198-
Iterations can be encoded in either the file name of each master-file of a
199-
time step or in groups of the same file. (Here, an *iteration* refers
200-
to a single simulation cycle.)
203+
Iterations can be encoded in either the file name of each individual files, in groups of the same file, or in data sets & attributes (with supported data formats).
204+
(Here, an *iteration* might refer to a single measurement or simulation cycle.)
201205

202206
The chosen style shall not vary within a related set of iterations.
203207

@@ -212,6 +216,7 @@ Each file's *root* group (path `/`) must further define the attributes:
212216
- allowed values:
213217
- `fileBased` (multiple files)
214218
- `groupBased` (one file)
219+
- `stepBased` (one file with internally encoding, if supported by the data format)
215220

216221
- `iterationFormat`
217222
- type: *(string)*
@@ -225,17 +230,16 @@ Each file's *root* group (path `/`) must further define the attributes:
225230
- examples:
226231
- for `fileBased`:
227232
- `filename_%T.h5` (without file system directories)
228-
- for `groupBased`:
233+
- for `groupBased`: (fixed value)
229234
- `/data/%T/` (must be equal to and encoded in the `basePath`)
235+
- for `stepBased`: (fixed value)
236+
- `slowest varying index`
230237

231238

232239
Required Attributes for the `basePath`
233240
--------------------------------------
234241

235-
In addition to holding information about the iteration, each series of
236-
files (`fileBased`) or series of groups (`groupBased`) should have
237-
attributes that describe the current time and the last
238-
time step.
242+
In addition to holding information about the iteration, each series of files (`fileBased`), series of groups (`groupBased`) or internally encoded iterations (`stepBased`) should have attributes that describe the current time and the last time step.
239243

240244
- `time`
241245
- type: *(floatX)*

0 commit comments

Comments
 (0)