Skip to content

Commit 13d30df

Browse files
authored
Merge pull request #78 from Bonnarel/main
Changes before June 2025 interop
2 parents 63824c2 + b9610ba commit 13d30df

File tree

4 files changed

+142
-43
lines changed

4 files changed

+142
-43
lines changed

Appendix.tex

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ \subsection{Use case - dataproduct\_type}
8989
IV. dataproduct\_type = spatial\_profile or scan\_mode contains map\\
9090
V. 51544 < observation time (MJD) < 60309 \\
9191

92+
9293
\begin{verbatim}
9394
SELECT * FROM ivoa.obscore
9495
NATURAL JOIN ivoa.obscore-radio
@@ -180,6 +181,7 @@ \subsection{ use case - visibility data product and target object selection }
180181
\end{verbatim}
181182

182183

184+
183185
\subsection{Use case - maximum angular scale selection}
184186
\textit{Any visibility dataset Within an arcec around FRB 121102 where maximum angular scale is larger than 1 minute .}\\ \\
185187
Show me all datasets satisfying:\\
@@ -247,7 +249,8 @@ \subsection{Use case - instrument type and mode selection }
247249
CONTAINS(POINT(s_ra,s_dec), CIRCLE(187.2779159404900, +02.0523882305500,0.05)) = 1)
248250
\end{verbatim}
249251

250-
% use case FB
252+
253+
251254
\subsection{Use case - instrument type and frequency selection }
252255
\textit{Any single dish or beam forming dataset with spectral range inside the 500 Mhz - 1Ghz band and in the Coma Cluster.}\\ \\
253256
Show me all datasets satisfying:\\
@@ -261,12 +264,13 @@ \subsection{Use case - instrument type and frequency selection }
261264
NATURAL JOIN ivoa.obscore-radio
262265
WHERE (instr_type = 'SD' OR
263266
instr_type = 'beamForming')
264-
AND f_min > 500
265-
AND f_max < 1000
267+
AND 299792458 / em_max > 500
268+
AND 299792458 / em_min < 1000
266269
AND CONTAINS(POINT(s_ra,s_dec),CIRCLE(194.93502, +27.91246, 0.3) = 1
267270
\end{verbatim}
268271

269272

273+
270274
\subsection{Use case - instrument parameters selection }
271275
\textit{Any interferometry data of good quality and significant spatial resolution from the instrumental point of view. }\\ \\
272276
Show me all datasets satisfying:\\

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ DOCNAME = ObsCoreExtensionForRadioData
77
DOCVERSION = 1.0
88

99
# Publication date, ISO format; update manually for "releases"
10-
DOCDATE = 2025-04-25
10+
DOCDATE = 2025-06-02
1111
# What is it you're writing: NOTE, WD, PR, or REC
1212
DOCTYPE = PEN
1313

ObsCoreExtensionForRadioData.tex

Lines changed: 133 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,13 @@
4141

4242

4343

44+
4445
%definition of table names
4546
%\def\radioexttable {ivoa.obscore-radio-ext} % explicit
4647
\def\radioexttable {ivoa.obsradio} % not explicitely related to Obscore
4748
\def\radioexttable {ivoa.obscore-radio}
4849
%definition of standard id for utypes content
49-
%\def\obsradioSTDID {ivo://ivoa.net/std/obscore-radio-ext#table-1.0}
50+
%\def\obsradioSTDID {ivo://ivoa.net/std/obscore-radio-ext#table-1.0}
5051

5152
\begin{document}
5253

@@ -429,19 +430,60 @@ \subsection{observational configuration and instrumental parameters}
429430
We note that \emph{instr\_feed} could also account for the number of beams in the case of a beam forming/PAF receiver.
430431

431432
The scanning strategy adopted in an observation is described by the parameter \emph{scan\_mode}. This parameter covers both spatial
432-
and frequency scanning modes (see Sect.~\ref{subsec:sd} for details).
433+
and frequency scanning modes (see Sect.~\ref{subsec:sd} for details and table~\ref{tab:scanmode} for possible values).
433434
It is applicable to SD as well as interferometry cases.
434435

435-
Pointing mode distinguishes targeted observations from fixed alt-azimuth or wobble ones. The ObsLocTAP specification \citep{2021ivoa.spec.0724S} defines the term \emph{tracking\_type} for describing this as well as a vocabulary for these modes.
436-
We include the same term here in the extension.
436+
437+
\begin{longtable}{ p{6cm} p{7cm} }
438+
\sptablerule
439+
\textbf{value}&\textbf{definition}\cr
440+
\sptablerule
441+
\sptablerule
442+
\texttt{on-source}&\texttt{pointed measurement}\cr
443+
\sptablerule
444+
\texttt{on-off}&\texttt{switched measurements between two positions (source and background)}\cr
445+
\sptablerule
446+
\texttt{raster-map}&\texttt{successive measurement spots on a rectangular mesh}\cr
447+
\sptablerule
448+
\texttt{on-the-fly-cross-scan}&\texttt{successive continuous measurements along two orthogonal directions}\cr
449+
\sptablerule
450+
\texttt{on-the-fly-map}&\texttt{successive continuous measurements along parallel directions}\cr
451+
\sptablerule
452+
\texttt{skydip}&\texttt{long strip of measurements}\cr
453+
\sptablerule
454+
\texttt{frequency-switching}&\texttt{switch from line frequency band to a lineless frequency band }\cr
455+
456+
% \texttt{target}&\texttt{extrasolar target follow up}\cr
457+
\sptablerule
458+
\caption{scan-mode attribute values}
459+
\label{tab:scanmode}
460+
\end{longtable}
461+
462+
463+
Pointing mode distinguishes observations pointed on a fixed target from
464+
observations fixed on a given elevation and azimuth.
465+
%In addition the wobble mode observes both the source and the surrounding background.
466+
The ObsLocTAP specification \citep{2021ivoa.spec.0724S} defines the term
467+
\emph{tracking\_type} for describing this as well as a vocabulary for
468+
these modes. We include the same term here in the extension. The two
469+
possible values for radio astronomy data are the following:
470+
\begin{itemize}
471+
\item Sidereal : observations pointed on a fixed target, as defined in
472+
ObsLocTAP
473+
\item Fixed-az-el-transit : observations fixed on a given elevation
474+
and azimuth, as in ObsLocTAP
475+
% \item Wobble : observations measuring both the source and the surroundings
476+
\end{itemize}
437477

438478
\subsection{Auxiliary datasets useful for data quality estimation}
439479

440480
Auxiliary datasets such as \emph{uv} distribution map, dirty beam maps, frequency/amplitude plots, phase/amplitude plots are useful for astronomers to check data quality.
481+
441482
In that case DataLink \citep{2023ivoa.spec.1215B} may provide a solution to attach these auxiliary data to ObsCore records. The \texttt{semantics} FIELD in the \{link\}
442483
response will contain \#auxiliary for links to these maps or plots while the \texttt{content\_qualifier} FIELD introduced from 1.1 could contain a term from a defined vocabulary (to be defined) following the IVOA vocabulary definition \citep{2021ivoa.spec.0525D}.
443484

444485

486+
445487
\section{The ivoa.obscore\_radio table}
446488
\label{sec:implementation}
447489
The ObsCore Extension for Radio is accessed as a table within a TAP
@@ -606,9 +648,9 @@ \section{The ivoa.obscore\_radio table}
606648
\sptablerule
607649
\texttt{instr\_feed}&\texttt{number of feeds}&\texttt{Provenance.ObsConfig.\newline Instrument.Feed}&instr.param&& radio \cr
608650
\sptablerule
609-
\texttt{scan\_mode}&\texttt{scan mode (on-off, \newline raster map, on-the-fly map,...)\newline }&\texttt{Provenance.\newline Observation.\newline sky\_scan\_mode}&instr.param&& radio \cr
651+
\texttt{scan\_mode}&\texttt{sky and spectral axis scan mode }&\texttt{Provenance.\newline Observation.\newline sky\_scan\_mode}&instr.param&& radio \cr
610652
\sptablerule
611-
\texttt{tracking\_mode}&\texttt{targeted, alt-azimuth, wobble, ...)\newline }&\texttt{Provenance.\newline Observation.\newline tracking\_mode}&instr.param&& radio \cr
653+
\texttt{tracking\_type}&\texttt{target tracking modes}&\texttt{Provenance.\newline Observation.\newline tracking\_mode}&instr.param&& radio \cr
612654
\caption{ObsCore extension proposal for instrumental parameters for radio data}
613655
\label{tab:ExtensionAtt_instrumental}
614656
\end{longtable}
@@ -659,34 +701,43 @@ \section{Registry Aspects}
659701

660702
Services compliant with this specification are registered using
661703
VODataService \citep{2021ivoa.spec.1102D} tablesets.
704+
Compliant tables use the utype
705+
$$
706+
\hbox{\nolinkurl{ivo://ivoa.net/std/ObsCore#radioExt-1.0}.}
707+
$$
708+
%
662709
%The view table providing the
663710
%join between the basic ObsCore table and the obscore\_radio table
664711
%use the utype
665712
%$$
666713
%\hbox{\nolinkurl{ivo://ivoa.net/std/obscore#radioext-1.0}.}
667714
%$$
668715
%and this is a signature of the compliance of the service with the current specification.
669-
Due to the status of the current specification as an endorsed note, and in prevision of a major
670-
upgrade of the ObsCore specification itself which will address the definition of standardID for the
671-
different extensions and recommand how to expose them in the compliant services, we don't define
672-
any standardID for the extension yet. The discovery of the services and schema containing the
673-
radio extension table MUST be done using the table\_name only as stated below.
716+
%Due to the status of the current specification as an endorsed note, and in prevision of a major
717+
%upgrade of the ObsCore specification itself which will address the definition of standardID for the
718+
%different extensions and recommand how to expose them in the compliant services, we don't define
719+
%any standardID for the extension yet. The discovery of the services and schema containing the
720+
%radio extension table MUST be done using the table\_name only as stated below.
721+
While it is admitted that the table only sits in the tableset of the
722+
embedding TAP service, implementors are urged to use a seperate registry
723+
record with the main TAP service as an auxiliary capability
724+
\citep{2019ivoa.spec.0520D}. In this way, meaningful information
725+
on coverage in space, time, and spectral axes as per VODataService 1.2 can
726+
be communicated to the Registry, which, again, data providers are urged
727+
to do.
728+
%There is no expectation that the coverage information only
729+
%pertains to data with entries in \verb|ivoa.obscore_radio|, i.e., it may be
730+
%a copy of the coverage of the basic ObsCore table.\footnote{Is that
731+
%acceptable? Or should we require pure radio coverage?}
732+
674733

675734
However, discovering the obscore\_radio table alone would be irrelevant because querying this
676-
extension table per se doesn't make sense. The same schema MUST also contain the ObsCore table.
677-
Being sure our \textit{ivoa} schema contains these both tables,
735+
extension table per se doesn't make sense. The same service delivering the \verb|obscore_radio| table
736+
MUST also contain the ObsCore table.
737+
Being sure our service contains these both tables,
678738
the user is able to build any natural JOIN query between these two tables.
679739

680-
%While it is admitted that the table only sits in the tableset of the
681-
%embedding TAP service, implementors are urged to use a seperate registry
682-
%record with the main TAP service as an auxiliary capability
683-
%\citep{2019ivoa.spec.0520D}. In this way, meaningful information
684-
%on coverage in space, time, and spectral axes as per VODataService 1.2 can
685-
%be communicated to the Registry, which, again, data providers are urged
686-
%to do. There is no expectation that the coverage information only
687-
%pertains to data with entries in \verb|ivoa.obscore_radio|, i.e., it may be
688-
%a copy of the coverage of the basic ObsCore table.\footnote{Is that
689-
%acceptable? Or should we require pure radio coverage?}
740+
690741

691742
%A sample registry record for an obscore\_radio table comes with this
692743
%specification\footnote{\auxiliaryurl{sample-record.xml}}.
@@ -701,31 +752,75 @@ \section{Registry Aspects}
701752
query like:
702753

703754
\begin{lstlisting}
704-
SELECT DISTINCT(access_url), schema_name, table_name
755+
SELECT DISTINCT(access_url), table_name
756+
FROM rr.res_table
757+
NATURAL JOIN rr.capability
758+
NATURAL JOIN rr.interface
759+
WHERE
760+
standard_id LIKE 'ivo://ivoa.net/std/tap%'
761+
AND intf_role='std'
762+
AND table_utype LIKE 'ivo://ivoa.net/std/ObsCore#radioExt-1.%'
763+
AND EXISTS (select 1 from rr.res_table where
764+
table_name LIKE '%obscore')
765+
\end{lstlisting}
766+
767+
In the current status of the ObsCore specification the last statement in the WHERE clause
768+
is the simplest one to ensure the service also delivers the main obscore table.
769+
In the future this statement could be replaced by
770+
\begin{lstlisting}
771+
AND EXISTS (select 1 from rr.res_table where
772+
table_utype LIKE 'ivo://ivoa.net/std/obscore#core-1.%')
773+
\end{lstlisting}
774+
775+
When we will have other extensions (for example for time) we may want to
776+
discover services which deliver several extensions in addition to obscore
777+
main table.
778+
779+
This could be done by queries such as
780+
781+
\begin{lstlisting}
782+
SELECT DISTINCT(access_url), table_name
783+
FROM rr.res_table
784+
NATURAL JOIN rr.capability
785+
NATURAL JOIN rr.interface
786+
WHERE
787+
standard_id LIKE 'ivo://ivoa.net/std/tap%'
788+
AND intf_role='std'
789+
AND table_utype LIKE 'ivo://ivoa.net/std/ObsCore#radioExt-1.%'
790+
AND EXISTS (select 1 from rr.res_table where
791+
table_utype LIKE 'ivo://ivoa.net/std/ObsCore#timeExt-1.0'
792+
AND EXISTS (select 1 from rr.res_table where
793+
table_name LIKE '%obscore')
794+
\end{lstlisting}
795+
796+
assuming that the standardID for the time extension currently in progress will be
797+
$$
798+
\hbox{\nolinkurl{ivo://ivoa.net/std/ObsCore#timeExt-1.0}}
799+
$$
800+
801+
In addition the schema containing the ObsCore main table and potentially some of the extensions
802+
SHOULD use the root ObsCore standardID utype :
803+
$$
804+
\hbox{\nolinkurl{ivo://ivoa.net/std/ObsCore}}
805+
$$
806+
807+
808+
in such a way that the query
809+
810+
\begin{lstlisting}
811+
SELECT DISTINCT(access_url), table_name, schema_name
705812
FROM rr.res_table
706813
NATURAL JOIN rr.capability
707814
NATURAL JOIN rr.interface
708815
NATURAL JOIN rr.res_schema
709816
WHERE
710817
standard_id LIKE 'ivo://ivoa.net/std/tap%'
711818
AND intf_role='std'
712-
AND table_name LIKE '%obs_radio'
713-
AND schema_name LIKE '%ivoa%'
819+
AND schema_utype LIKE 'ivo://ivoa.net/std/ObsCore'
714820
\end{lstlisting}
715821

716-
%Alternatively the schema and tables can be discovered this way
822+
would allow to discover all services delivering ObsCore and which extension tables they deliver.
717823

718-
%\begin{lstlisting}
719-
%SELECT DISTINCT(access_url), table_name, schema_name
720-
%FROM rr.res_table
721-
%NATURAL JOIN rr.capability
722-
%NATURAL JOIN rr.interface
723-
%NATURAL JOIN rr.res_schema
724-
%WHERE
725-
%standard_id LIKE 'ivo://ivoa.net/std/tap%'
726-
%AND intf_role='std'
727-
%AND schema_utype LIKE 'ivo://ivoa.net/std/ObsCore#obscore-radioExt-%'
728-
%\end{lstlisting}
729824

730825
\appendix
731826

0 commit comments

Comments
 (0)