ts_ids_components.xrd.run module#

Run component for XRD IDSs.

XrdRun extends the generic Run component with the field common to XRD instruments: a standardized measurement start/end timestamp.

XrdRun carries a pk (UUIDPrimaryKey) so a consuming IDS can declare it as a top-level array (runs: List[XrdRun]) and datacubes (see ts_ids_components.xrd.datacube and ts_ids_components.xrd.datacube_raw) can reference the specific run that produced them via fk_run, rather than relying on a file-wide singleton. pk values must still be generated deterministically by the task script (seeded from file content and task script identity), not by this component.

Model XrdRun[source]#

Bases: Run

A single XRD measurement run, with a standardized start/end timestamp.

Show JSON schema
{
   "description": "A single XRD measurement run, with a standardized start/end timestamp.",
   "type": "object",
   "properties": {
      "id": {
         "description": "Unique identifier assigned to a specific run (execution) of an experiment.",
         "type": [
            "string",
            "null"
         ]
      },
      "name": {
         "description": "Name assigned to a specific run (execution) of an experiment.",
         "type": [
            "string",
            "null"
         ]
      },
      "logs": {
         "description": "Log messages recorded during a specific run (execution) of an experiment.",
         "items": {
            "type": "string"
         },
         "type": "array"
      },
      "pk": {
         "@primary_key": true,
         "description": "Primary key for this run, referenced by datacubes belonging to it.",
         "type": "string"
      },
      "time": {
         "$ref": "#/definitions/Time",
         "description": "Start and end timestamp of the measurement run."
      }
   },
   "additionalProperties": false,
   "required": [
      "pk"
   ],
   "definitions": {
      "RawTime": {
         "additionalProperties": false,
         "description": "The base model for capturing common time fields found in primary data.",
         "properties": {
            "start": {
               "description": "Process/experiment/task start time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "created": {
               "description": "Data created time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "stop": {
               "description": "Process/experiment/task stop/finish time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "duration": {
               "description": "Process/experiment/task duration.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "last_updated": {
               "description": "Data last updated time of a file/method.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "acquired": {
               "description": "Data acquired/exported/captured time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "modified": {
               "description": "Data last modified/edited time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "lookup": {
               "description": "Data lookup time.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "type": "object"
      },
      "Time": {
         "additionalProperties": false,
         "description": "A model for datetime values converted to a standard ISO format and their\nrespective raw datetime values in the primary data.",
         "properties": {
            "start": {
               "description": "Process/experiment/task start time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "created": {
               "description": "Data created time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "stop": {
               "description": "Process/experiment/task stop/finish time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "duration": {
               "description": "Process/experiment/task duration.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "last_updated": {
               "description": "Data last updated time of a file/method.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "acquired": {
               "description": "Data acquired/exported/captured time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "modified": {
               "description": "Data last modified/edited time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "lookup": {
               "description": "Data lookup time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw": {
               "$ref": "#/definitions/RawTime",
               "description": "Raw time values from primary data."
            }
         },
         "type": "object"
      }
   }
}

Validators:

field id_: Nullable[str] (alias 'id')#

Unique identifier assigned to a specific run (execution) of an experiment.

field logs: List[str]#

Log messages recorded during a specific run (execution) of an experiment.

field name: Nullable[str]#

Name assigned to a specific run (execution) of an experiment.

field pk: str#

Primary key for this run, referenced by datacubes belonging to it.

Constraints:
  • func = <function validate_uuid at 0x7f1493ac61f0>

  • json_schema_input_type = PydanticUndefined

field time: Time#

Start and end timestamp of the measurement run.