The SEDRIS Data Representation Model
APPENDIX B - Constraints
General Axis Constraints

Definition

The following restrictions apply.

  1. In an <Enumeration Axis> instance X,

    1. The axis_type of X shall correspond to an EA T bound to the abstract value type EDCS_AVT_ENUMERATION.

    2. The entries of the axis_value_array of X shall be distinct and valid EEs for T.

  2. In an <Interval Axis> instance X,

    1. The axis_type of X shall correspond to an EA bound to a numeric value type.

    2. Each individual entry in the axis_interval_value_array of X shall have a value_type consistent with the numeric data type to which T is bound, and this value_type shall be the same for all entries in the axis_interval_value_array.

    3. If the axis_type of X is bound to an EQ, the value_unit shall be a member of the specified EQ.

    4. If the axis_type of X is not bound to an EQ, the value_unit and value_scale shall be set to EUC_UNITLESS and ESC_UNI, respectively.

    5. All entries in the axis_interval_value_array of X shall be mutually disjoint.

    6. The entries in the axis_interval_value_array of X shall be arranged in either monotonically ascending or monotonically descending order.

  3. In an <Irregular Axis> instance X,

    1. The axis_type of X shall correspond to an EA bound to a numeric value type.

    2. If the axis_type of X is bound to an EQ, the value_unit shall be a member of the specified EQ.

    3. If the axis_type is not bound to an EQ, the value_unit and value_scale shall be set to EUC_UNITLESS and ESC_UNI, respectively.

    4. Each individual entry in the axis_value_array of X shall have an attribute_value_type consistent with the axis_type, and this attribute_value_type shall be the same for all entries in the axis_value_array.

    5. All entries in the axis_value_array of X shall be distinct.

    6. The entries in the axis_value_array field of X shall be arranged in either monotonically ascending or monotonically descending order.

  4. In a <Regular Axis> instance,

    1. The axis_type shall correspond to an EA bound to a numeric value type.

    2. The attribute_value_type of the first_value and spacing field values of X shall be the same, and shall be consistent with the numeric data type to which the value of the axis_type is bound.

    3. If the axis_type is bound to an EQ, the value_unit shall be a member of the specified EQ.

    4. If the axis_type is not bound to an EQ, the value_unit and value_scale shall be set to EUC_UNITLESS and ESC_UNI, respectively.

Rationale

  1. The <Regular Axis> class, the <Irregular Axis> class, and the <Interval Axis> class exist to specify some set of numeric values of an independent variable used to organize dependent values in some <Data Table> instance.

    Further, arithmetic operations are required to compute the tick mark values of a <Regular Axis> instance from its first_value and spacing field values.

  2. All <Axis> instances are required to specify distinct tick marks to avoid ambiguity.

  3. For ease of processing, it is desirable to organize the tick mark values of <Interval Axis> instances and <Irregular Axis> instances monotonically.

Example

  1. axis_type = EAC_PRIMARY_SURFACE_THERMAL_CONDITION may be used only for an <Enumeration Axis> instance, and for no instance of any other <Axis> subclass.

FAQs

Can an EA of abstract value type EDCS_AVT_INDEX be used to specify the axis_type for a <Regular Axis> instance or <Irregular Axis> instance?

Yes, but the value_unit and value_scale fields are ignored. The interpolation_type field value is not applicable, and shall therefore be set to SE_INTERPTYP_DISALLOWED.

For <Interval Axis> instances and <Irregular Axis> instances, why not require ascending monotonicity, rather than allowing either ascending or descending?

In some problem domains, descending monotonicity is preferred, while in others, ascending is preferred.

Consider a <Data Table> instance describing atmospheric data, in which an <Irregular Axis> component W specifies a vertical coordinate in pressure units, which decreases with increasing height. In such a table, if the tick marks of W were required to be monotonically increasing, W could not be used to define a volume without "flipping the atmosphere over" to put the highest level at the first point on W and the lowest level at the last point on W, which could lead to confusion when the <Data Table> instance is processed by a consumer.

On the other hand, a <Data Table> instance describing oceanographic data with depth as an <Irregular Axis> component might be naturally organized in terms of increasing depth.


Prev: Finite Element Mesh Structure. Next: Hierarchy Summary Constraints. Up:Index.