Skip to content

Generated model schemas

This page is generated from the installed pydantic data models during every MkDocs build. It therefore documents the same table and column definitions that the service creates and registers in TAP_SCHEMA at startup.

The tables are rendered for the pgsphere geometry backend: each s_region_geom footprint column is a spoly, and it is skyregion under TAP_GEOMETRY_BACKEND=skycell instead (see Deployment).

odp

Root model: ska_src_mm_notification.models.schemas.srcnet_ingestion.SRCIngestionNotification
SQL schema: srcnet
JSON ingest endpoint: /api/v1/notifications

srcnet.projects

Model: ska_src_mm_notification.models.schemas.srcnet_ingestion.SRCIngestionNotification
Primary key: project_id

Column Model field SQL type TAP type Nullable Key Constraints Description
schema_version schema_version text char[*] no no — Version of the schema this payload conforms to
project_id project_id text char[*] no yes — Project identifier
group_ids group_ids jsonb char[*] no no — Group IDs that have access to this data
project_title project_title text char[*] yes no — Human-readable title for the project
pi_name pi_name text char[*] yes no — Principal Investigator name
data_rights data_rights text char[*] yes no data_rights IN ('public', 'proprietary', 'private') Access rights for the data (public, proprietary, private)

srcnet.observations

Model: ska_src_mm_notification.models.schemas.srcnet_ingestion.Observation
Primary key: project_id, obs_id

Column Model field SQL type TAP type Nullable Key Constraints Description
project_id project_id text char[*] no yes — —
obs_id obs_id text char[*] no yes — Observation identifier (namespace/scope, e.g., SKA-Mid.integration)
obs_title obs_title text char[*] no no — Human-readable title for the observation
collection collection text char[*] yes no — Collection identifier (es=early science, sv=science verification, cycle-N=observation cycle)
instrument_name instrument_name text char[*] yes no — Name of the instrument used (e.g., SKA-Mid, SKA-Low)
facility_name facility_name text char[*] yes no — Name of the facility/observatory

srcnet.scheduling_blocks

Model: ska_src_mm_notification.models.schemas.srcnet_ingestion.SchedulingBlock
Primary key: project_id, obs_id, sbd_id

Column Model field SQL type TAP type Nullable Key Constraints Description
project_id project_id text char[*] no yes — —
obs_id obs_id text char[*] no yes — —
sbd_id sbd_id text char[*] no yes — Scheduling block definition identifier

srcnet.execution_blocks

Model: ska_src_mm_notification.models.schemas.srcnet_ingestion.ExecutionBlock
Primary key: project_id, obs_id, sbd_id, eb_id

Column Model field SQL type TAP type Nullable Key Constraints Description
project_id project_id text char[*] no yes — —
obs_id obs_id text char[*] no yes — —
sbd_id sbd_id text char[*] no yes — —
eb_id eb_id text char[*] no yes — Execution block identifier

srcnet.data_products

Model: ska_src_mm_notification.models.schemas.srcnet_ingestion.DataProduct
Primary key: project_id, obs_id, sbd_id, eb_id, product_id

Column Model field SQL type TAP type Nullable Key Constraints Description
project_id project_id text char[*] no yes — —
obs_id obs_id text char[*] no yes — —
sbd_id sbd_id text char[*] no yes — —
eb_id eb_id text char[*] no yes — —
product_id product_id text char[*] no yes — Unique identifier for the data product
data_product_origin data_product_origin text char[*] yes no data_product_origin IN ('ODP', 'ADP') Origin of the data product: ODP (Observatory Data Product) or ADP (Advanced Data Product)
o_ucd o_ucd text char[*] no no — Unified Content Descriptor for the observable (e.g., phot.flux.density;em.radio)
dataproduct_type dataproduct_type text char[*] no no dataproduct_type IN ('image', 'cube', 'spectrum', 'visibility', 'sed', 'timeseries', 'table') Type of data product
calib_level calib_level bigint long no no calib_level >= 0; calib_level <= 3 Calibration level (0=raw, 1=calibrated, 2=science-ready, 3=analysis)
target_name target_name text char[*] yes no — Name of the observed target
is_calibrator is_calibrator boolean boolean yes no — Whether this target is a calibrator
calibrator_type calibrator_type text char[*] yes no calibrator_type IN ('flux', 'bandpass', 'phase', 'polarization', 'delay') Type of calibrator if is_calibrator is true
em_band em_band text char[*] yes no — Electromagnetic band (e.g., Radio, Optical)
s_ra s_ra double precision double yes no s_ra >= 0.0; s_ra <= 360.0 Right ascension of product center in degrees (computed from artifacts)
s_dec s_dec double precision double yes no s_dec >= -90.0; s_dec <= 90.0 Declination of product center in degrees (computed from artifacts)
s_fov s_fov double precision double yes no s_fov > 0.0; s_fov <= 10.0 Field of view diameter in degrees (computed from artifacts, must be > 0)
s_region s_region text char[*] yes no — Spatial region as STC-S in ICRS frame, degrees (computed from artifacts)
s_region_geom derived from s_region spoly char[*] yes no — pgsphere footprint derived from s_region at ingestion; query it with INTERSECTS/CONTAINS
em_wlen em_wlen double precision double yes no em_wlen >= 0.0 Representative wavelength in meters (computed from artifacts)
em_min em_min double precision double yes no em_min >= 0.0195; em_min <= 6.0 Minimum wavelength in meters (computed from artifacts)
em_max em_max double precision double yes no em_max >= 0.0195; em_max <= 6.0 Maximum wavelength in meters (computed from artifacts)
t_min t_min double precision double yes no t_min >= 0 Start time in MJD (computed from artifacts)
t_max t_max double precision double yes no t_max >= 0 End time in MJD (computed from artifacts)
t_exptime t_exptime double precision double yes no t_exptime >= 0.0 Total exposure time in seconds (sum from artifacts)
s_xel1 s_xel1 bigint long yes no s_xel1 >= 1 Number of elements along spatial axis 1
s_xel2 s_xel2 bigint long yes no s_xel2 >= 1 Number of elements along spatial axis 2
em_xel em_xel bigint long yes no em_xel >= 1 Number of spectral samples
t_xel t_xel bigint long yes no t_xel >= 1 Number of time samples
baseline_min baseline_min double precision double yes no baseline_min >= 0.0 Minimum baseline length in meters
baseline_max baseline_max double precision double yes no baseline_max >= 0.0 Maximum baseline length in meters for interferometry observations
num_baselines num_baselines bigint long yes no num_baselines >= 0 Number of baselines
num_antennas num_antennas bigint long yes no num_antennas >= 0 Number of antennas
beam_size beam_size double precision double yes no beam_size >= 0.0 Synthesized beam size in arcseconds
beam_maj beam_maj double precision double yes no beam_maj > 0.0 Beam major axis FWHM in degrees (synthesized beam for interferometry, PSF for single dish)
beam_min beam_min double precision double yes no beam_min > 0.0 Beam minor axis FWHM in degrees (synthesized beam for interferometry, PSF for single dish)
beam_pa beam_pa double precision double yes no beam_pa >= -180.0; beam_pa <= 180.0 Beam position angle in degrees (measured East of North)
pol_states pol_states text char[*] yes no — Polarization states as concatenated codes (e.g., 'IQUV', 'XXYXYXYX')
pol_xel pol_xel bigint long yes no pol_xel >= 1 Number of polarization dimensions/axes in the data product
baselines baselines jsonb char[*] yes no — List of unique baseline identifiers
calibrator_targets calibrator_targets jsonb char[*] yes no — Names of ancillary targets used for calibration (e.g., bandpass calibrators, flux calibrators)

srcnet.artifacts

Model: ska_src_mm_notification.models.schemas.srcnet_ingestion.Artifact
Primary key: project_id, obs_id, sbd_id, eb_id, product_id, artifact_id

Column Model field SQL type TAP type Nullable Key Constraints Description
project_id project_id text char[*] no yes — —
obs_id obs_id text char[*] no yes — —
sbd_id sbd_id text char[*] no yes — —
eb_id eb_id text char[*] no yes — —
product_id product_id text char[*] no yes — —
artifact_id artifact_id text char[*] no yes — Unique identifier for the artifact
access_url access_url text char[*] no no — URL or path to access the artifact (e.g., file://staging/data/file.fits)
access_format access_format text char[*] no no — MIME type of the artifact (e.g., image/fits, application/fits)
access_estsize access_estsize bigint long no no access_estsize >= 0 Estimated size of the artifact in bytes
path_to_parent path_to_parent text char[*] yes no — Virtual path to parent directory for organizing artifacts (e.g., ./cubes/)
semantics semantics text char[*] yes no semantics IN ('science', 'auxiliary', 'noise', 'calibration') Semantic type of the artifact (science, auxiliary, noise, calibration)
s_ra s_ra double precision double yes no s_ra >= 0.0; s_ra <= 360.0 Right ascension of artifact center in degrees
s_dec s_dec double precision double yes no s_dec >= -90.0; s_dec <= 90.0 Declination of artifact center in degrees
s_fov s_fov double precision double yes no s_fov > 0.0; s_fov <= 10.0 Field of view diameter in degrees (must be > 0)
s_region s_region text char[*] yes no — STC-S region in ICRS frame, degrees: CIRCLE|POLYGON|POSITION (e.g. 'CIRCLE 3.5867 -30.4 0.25')
s_region_geom derived from s_region spoly char[*] yes no — pgsphere footprint derived from s_region at ingestion; query it with INTERSECTS/CONTAINS
em_wlen em_wlen double precision double yes no em_wlen >= 0.0 Representative wavelength in meters
em_min em_min double precision double yes no em_min >= 0.0195; em_min <= 6.0 Minimum wavelength in meters (SKA range: 0.0195m to 6m)
em_max em_max double precision double yes no em_max >= 0.0195; em_max <= 6.0 Maximum wavelength in meters (SKA range: 0.0195m to 6m)
t_min t_min double precision double yes no t_min >= 0 Start time in MJD (Modified Julian Date, days)
t_max t_max double precision double yes no t_max >= 0 End time in MJD (days)
t_exptime t_exptime double precision double yes no t_exptime >= 0.0 Exposure time in seconds
pol_states pol_states text char[*] yes no — Polarization states present in the artifact as concatenated codes (e.g., 'IQUV', 'XXYXYXYX')
pol_xel pol_xel bigint long yes no pol_xel >= 1 Number of polarization samples in artifact

software

Root model: ska_src_sdm.software.Software
SQL schema: srcnet
JSON ingest endpoint: /api/v1/software

srcnet.software

Model: ska_src_sdm.software.Software
Primary key: uri

Column Model field SQL type TAP type Nullable Key Constraints Description
uri uri text char[*] no yes — Format: {publisher}:{name}:{version} where version is semver
description description text char[*] yes no — —
release_date release_date timestamptz char[*] yes no — —
changelog changelog text char[*] yes no — —
status status text char[*] yes no status IN ('ALPHA', 'BETA', 'TESTING', 'STABLE', 'DEPRECATED') —
discovery_science_category discovery.science_category jsonb char[*] yes no — —
discovery_function_category discovery.function_category jsonb char[*] yes no — —
discovery_science_working_group discovery.science_working_group jsonb char[*] yes no — —
discovery_tools_included discovery.tools_included jsonb char[*] yes no — —
data_compatibility_data_input_type data_compatibility.data_input_type jsonb char[*] yes no — —
data_compatibility_data_output_type data_compatibility.data_output_type jsonb char[*] yes no — —
resources_requires_gpu resources.requires_gpu boolean boolean yes no — —
resources_min_memory resources.min_memory bigint long yes no resources_min_memory >= 1 —
resources_recommended_memory resources.recommended_memory bigint long yes no resources_recommended_memory >= 1 —
provenance_repository_url provenance.repository_url text char[*] yes no — —
provenance_registered_by provenance.registered_by text char[*] yes no — —
provenance_registration_date provenance.registration_date timestamptz char[*] yes no — —

srcnet.software_artifacts

Model: ska_src_sdm.software.Artifact
Primary key: uri, location

Column Model field SQL type TAP type Nullable Key Constraints Description
uri uri text char[*] no yes — —
kind kind text char[*] no no kind IN ('DOCKER', 'SINGULARITY', 'OCI') —
location location text char[*] no yes — —
cpu_architecture cpu_architecture jsonb char[*] no no — —
digest digest text char[*] yes no — —
entrypoint entrypoint text char[*] yes no — —
supported_modes supported_modes jsonb char[*] yes no — —