fmu.context.stage is (will be) included in the schema definition.
However, this requires some discussion and agreement of the contexts. Current proposal is based on the assumed hierarchy of case/iteration/realization.
Data produced by an individual realization will have fmu.context.stage: realization. fmu.case, fmu.iteration and fmu.realization is present.
Data produced on iteration level (e.g. aggregated data across all realizations in an iteration) will have fmu.context.stage: iteration. fmu.case and fmu.iteration will be present.
Data produced on case level (e.g. observation data produced by pre-processing workflows) will have fmu.context.stage: case. fmu.case will be present.
Tabulated:
fmu.case
fmu.iteration
fmu.realization
fmu.context.stage
Example
✅
❌
❌
"case"
Observation data produced by a pre-process
✅
✅
❌
"iteration"
Aggregated data across an iteration
✅
✅
✅
"realization"
A data object produced within a realization
Note that this has at least two issues:
It contains the logic twice. E.g. the "iteration" context can be derived either by observing that only fmu.case and fmu.iteration is present, or by reading fmu.context. This further requires synchronization.
It does not differentiate between "pre-processed" and "post-processed" data on any level. (These terms should also be avoided, as they are relative and can be applied on several levels.)
Specific operation-tags exists, and more could exist. Current example is fmu.aggregation which carries information specifically related to aggregations.
fmu.context.stage
is (will be) included in the schema definition.However, this requires some discussion and agreement of the contexts. Current proposal is based on the assumed hierarchy of case/iteration/realization.
fmu.context.stage: realization
.fmu.case
,fmu.iteration
andfmu.realization
is present.fmu.context.stage: iteration
.fmu.case
andfmu.iteration
will be present.fmu.context.stage: case
.fmu.case
will be present.fmu.case
fmu.iteration
fmu.realization
fmu.context.stage
Note that this has at least two issues:
fmu.case
andfmu.iteration
is present, or by readingfmu.context
. This further requires synchronization.Specific operation-tags exists, and more could exist. Current example is
fmu.aggregation
which carries information specifically related to aggregations.