Coordinates and time handling

Dimensional quanitities such as AoS and multi-dimensional data nodes have associated coordinates. Coordinates can refer to other data quantities in the IDS, which is indicated with the path to the coordinate quantity. Alternatively, a coordinate can be a plain index, which is indicated as 1...N when the size of the coordinate is variable or – for example – 1...3 when there is a strict number of items – 3 in this case.

Note that time coordinates are special due to the time slice functionality of the Access Layer. See the following section for more details.

Time coordinates and time handling

Some quantities (and array of structures) are time dependent.

This time-dependent coordinate is treated specially in the access layer, and it depends on the value of ids_properties/homogeneous_time. There are three valid values for this property:

  • 0 (heterogeneous time mode): time-dependent quantities in the IDS may have different time coordinates. The time coordinates are stored as indicated by the path in the documentation.

  • 1 (homogeneous time mode): All time-dependent quantities in this IDS use the same time coordinate. This time coordinate is located in the root of the IDS, for example core_profiles/time. The time paths indicated in the documentation are unused in this case.

  • 2 (time independent mode): The IDS stores no time-dependent data.

Note

The Access Layer provides named constants for the allowed values: IDS_TIME_MODE_HETEROGENEOUS, IDS_TIME_MODE_HOMOGENEOUS and IDS_TIME_MODE_INDEPENDENT. See the Access Layer documentation for more details.

Using these constants is preferred over the raw value: when reading code it is easier to understand ids.ids_properties.homogeneous_time = IDS_TIME_MODE_HOMOGENEOUS then ids.ids_properties.homogeneous_time = 1.

Static, constant and dynamic nodes

IDS nodes can be

Dynamic

Dynamic quantities are time-dependent in the context of the IDS. They have a time coordinate.

Constant

Constant quantities are not varying within the context of the IDS, such as the code that has produced the IDS.

Static

Static quantities are also not varying, but likely to be constant over a wider context, such as the nominal coil positions during operation.

Alternatives for a coordinate

Starting with Data Dictionary 4.0, a coordinate can indicate that other data fields can be used as coordinate instead. For example, core_profiles/profiles_1d/grid/rho_tor_norm indicates that (among others) core_profiles/profiles_1d/grid/rho_tor can be used as an alternative.

When filling any quantity that has rho_tor_norm as coordinate (for example core_profiles/profiles_1d/t_i_average), you may choose to fill an alternative coordinate instead, and leave rho_tor_norm empty.