Source code for ska_sdp_config.entity.eb

"""Execution block configuration entities."""

from typing import Annotated

from pydantic import BaseModel, Field

from .base import MultiEntityBaseModel
from .common import ExecutionBlockId, ProcessingBlockId


[docs] class TelModel(BaseModel): """Telescope model data.""" source_uris: list[str] """List of source URIs to use to look up telescope model data.""" array_layout_path: str """Path of array layout and static delays in telescope model.""" station_data_path_prefix: str | None """Prefix of paths to station data in telescope model."""
[docs] class ExecutionBlock(MultiEntityBaseModel): """Execution block entity. Collects configuration information relating to an execution block for the SDP. """ key: ExecutionBlockId """ID of the Execution Block""" beams: Annotated[list, Field(default_factory=list)] """Beam parameters for the purpose of the Science Data Processor""" channels: Annotated[list, Field(default_factory=list)] """ Channels. This is basically a list of spectral windows per channel configuration. """ context: Annotated[dict, Field(default_factory=dict)] """Free-form information from OET to describe the observing context""" fields: Annotated[list, Field(default_factory=list)] """List of fields/targets""" max_length: float | None = None """Maximum duration of the execution block in seconds.""" pb_batch: Annotated[list[ProcessingBlockId], Field(default_factory=list)] """Batch processing blocks.""" pb_realtime: Annotated[ list[ProcessingBlockId], Field(default_factory=list) ] """Real-time processing blocks.""" polarisations: Annotated[list, Field(default_factory=list)] """Polarisation definitions""" resources: Annotated[dict, Field(default_factory=dict)] """Free-form Resources allocated to the execution block.""" scan_types: Annotated[list, Field(default_factory=list)] """ Scan types. Associates scans with per-beam fields & channel configurations """ subarray_id: Annotated[ str | None, Field(pattern=r"^[0-9]+$", default=None) ] """Subarray with which this EB is associated.""" telmodel: TelModel | None = None """Telescope model data to use in processing."""