Signal Class

Signal with N monotonic dimensions. The signal object is a complex object with nested data classes to define components of the signal: e.g. dimensions, errors, status mask, provenance

Core Class

Full Object Definition

object: {
    _class: string = "signal"
    _group: string = "signal"
    _type: string = "object"
    _version: uint64 = 1
    description: string = $SIGNAL_DESCRIPTION
    units: string = $SIGNAL_UNITS
    dimensions: {
        count: uint64 = $DIMENSION_COUNT
        0: signal_dimension = $DIMENSION_0_DATA_OBJECT
        1: signal_dimension = $DIMENSION_1_DATA_OBJECT
        .
        .
        .
        $N: signal_dimension = $DIMENSION_N_DATA_OBJECT
    }
    data: array<$TYPE> = $DATA
    [mask: signal_mask = $STATUS_MASK_DATA_OBJECT]
    [error: signal_error = $ERROR_DATA_OBJECT]
}

Summary Object Definition

object: {
    _class: string = "signal"
    _group: string = "signal"
    _type: string = "summary"
    _version: uint64 = 1
    description: string = $SIGNAL_DESCRIPTION
    units: string = $SIGNAL_UNITS
    dimensions: {
        count: uint64 = $DIMENSION_COUNT
        0: signal_dimension = $DIMENSION_0_META_OBJECT
        1: signal_dimension = $DIMENSION_1_META_OBJECT
        .
        .
        .
        $N: signal_dimension = $DIMENSION_N_META_OBJECT
    }
    [mask: signal_mask = $STATUS_MASK_META_OBJECT]
    [error: signal_error = $ERROR_META_OBJECT]
}

Dimension Classes

Calculated Dimension

Full Object Definition

object: {
    _class: string = "dimension_calculated"
    _group: string = "signal_dimension"
    _type: string = "object"
    _version: uint64 = 1
    description: string = $DESCRIPTION
    units: string = $UNITS
    start: fp64 = $START
    increment: fp64 = $INCREMENT
    length: uint64 = $DIMENSION_LENGTH
    temporal: bool = $TIME_DIMENSION
    [error: signal_error = $ERROR_DATA_OBJECT]
}

Summary Object Definition

object: {
    _class: string = "dimension_calculated"
    _group: string = "signal_dimension"
    _type: string = "summary"
    _version: uint64 = 1
    description: string = $DESCRIPTION
    units: string = $UNITS
    length: uint64 = $DIMENSION_LENGTH
    temporal: bool = $TIME_DIMENSION
    [error: signal_error = $ERROR_META_OBJECT]
}

Array Dimension Sub-Class

Full Object Definition

object: {
    _class: string = "dimension_array"
    _group: string = "signal_dimension"
    _type: string = "object"
    _version: uint64 = 1
    description: string = $DESCRIPTION
    units: string = $UNITS
    length: uint64 = $DIMENSION_LENGTH
    data: array<$TYPE> = $DATA
    temporal: bool = $TIME_DIMENSION
    [error: signal_error = $ERROR_DATA_OBJECT]
}

Summary Object Definition

object: {
    _class: string = "dimension_array"
    _group: string = "signal_dimension"
    _type: string = "summary"
    _version: uint64 = 1
    description: string = $DESCRIPTION
    units: string = $UNITS
    length: uint64 = $DIMENSION_LENGTH
    temporal: bool = $TIME_DIMENSION
    [error: signal_error = $ERROR_META_OBJECT]
}

Error Classes

Constant Error

Full Object Definition

object: {
    _class: string = "error_constant"
    _group: string = "signal_error"
    _type: string = "object"
    _version: uint64 = 1
    description: string = "Constant error."
    lower: fp64 = $LOWER
    upper: fp64 = $UPPER
    relative: boolean = $RELATIVE
}

Summary Object Definition

object: {
    _class: string = "error_constant"
    _group: string = "signal_error"
    _type: string = "summary"
    _version: uint64 = 1
    description: string = "Constant error."
}

Symmetrical Error Array

Full Object Definition

object: {
    _class: string = "error_symmetrical"
    _group: string = "signal_error"
    _type: string = "object"
    _version: uint64 = 1
    description: string = "Symmetrical error per point."
    data: array<$TYPE> = $ERROR_DATA
}

Summary Object Definition

object: {
    _class: string = "error_symmetrical"
    _group: string = "signal_error"
    _type: string = "summary"
    _version: uint64 = 1
    description: string = "Symmetrical error per point."
}

Asymmetric Error Array

Full Object Definition

object: {
    _class: string = "error_asymmetric"
    _group: string = "signal_error"
    _type: string = "object"
    _version: uint64 = 1
    description: string = "Asymmetric error per point."
    lower: array<$TYPE> = $LOWER_ERROR_DATA
    upper: array<$TYPE> = $UPPER_ERROR_DATA
}

Summary Object Definition

object: {
    _class: string = "error_asymmetric"
    _group: string = "signal_error"
    _type: string = "summary"
    _version: uint64 = 1
    description: string = "Asymmetric error per point."
}

Mask Classes

Scalar Status Mask

Full Object Definition

object: {
    _class: string = "mask_scalar_status"
    _group: string = "signal_mask"
    _type: string = "object"
    _version: uint64 = 1
    description: string = "Scalar status mask."
    status: uint8 = $STATUS_VALUE
    key: array<string> = $STATUS_DESCRIPTION_TABLE
}

Summary Object Definition

object: {
    _class: string = "mask_scalar_status"
    _group: string = "signal_mask"
    _type: string = "summary"
    _version: uint64 = 1
    description: string = "Scalar status mask."
}

Example

object: {
    _class: string = "mask_scalar_status"
    _group: string = "signal_mask"
    _type: string = "object"
    _version: uint64 = 1
    description: string = "Scalar status mask."
    status: uint8 = 0
    key: array<string> = ["unvalidated", "good", "medium", "poor", "unusable"]
}

Array Status Mask

Full Object Definition

object: {
    _class: string = "mask_status_array"
    _group: string = "signal_mask"
    _type: string = "object"
    _version: uint64 = 1
    description: string = "Array status mask."
    status: array<uint8> = $STATUS_VALUES
    key: array<string> = $STATUS_DESCRIPTION_TABLE
}

Summary Object Definition

object: {
    _class: string = "mask_status_array"
    _group: string = "signal_mask"
    _type: string = "summary"
    _version: uint64 = 1
    description: string = "Array status mask."
}

Example

object: {
    _class: string = "mask_status_array"
    _group: string = "signal_mask"
    _type: string = "object"
    _version: uint64 = 1
    description: string = "Array status mask."
    status: array<uint8> = [
        [4,4,4,4,3,3,2,2,1,1,1,1,1,1,1,1,4,4,1,1,1,1,2,3,3,4,4],
        [4,2,2,2,3,2,2,2,1,1,1,4,4,3,2,1,1,1,1,1,1,1,2,3,4,4,4]
    ]
    key: array<string> = ["unvalidated", "good", "medium", "poor", "unusable"]
    }