Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions doc/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ DOCNAME = MANGO
DOCVERSION = 1.0

# Publication date, ISO format; update manually for "releases"
DOCDATE = 2026-03-05
DOCDATE = 2026-04-29

# What is it you're writing: NOTE, WD, PR, REC, PEN, or EN
DOCTYPE = PR
DOCTYPE = REC

# An e-mail address of the person doing the submission to the document
# repository (can be empty until a make upload is being made)
Expand Down
6 changes: 3 additions & 3 deletions doc/ivoatexmeta.tex
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
% GENERATED FILE -- edit this in the Makefile
\newcommand{\ivoaDocversion}{1.0}
\newcommand{\ivoaDocdate}{2026-03-05}
\newcommand{\ivoaDocdatecode}{20260305}
\newcommand{\ivoaDoctype}{PR}
\newcommand{\ivoaDocdate}{2026-04-29}
\newcommand{\ivoaDocdatecode}{20260429}
\newcommand{\ivoaDoctype}{REC}
\newcommand{\ivoaDocname}{MANGO}
\renewcommand{\ivoaBaseURL}{https://www.ivoa.net/documents/MANGO}
47 changes: 4 additions & 43 deletions mivot/mango/mango.AssociatedMangoObject.xml
Original file line number Diff line number Diff line change
@@ -1,50 +1,11 @@
<INSTANCE dmrole="" dmtype="mango:AssociatedMangoObject">
<!-- This class gives the role of a link associating 2 \texttt{MangoObject} together." -->
<!-- Reference to another MANGO instance that is part of the associated data." -->
<INSTANCE dmrole="mango:AssociatedMangoObject.semantics" dmtype="mango:VocabularyTerm">
<!-- Class holder for a term of a standardized vocabulary that applies to a property." -->
<!--
TODO : Missing description : please, update your UML model asap.
" -->
<ATTRIBUTE dmrole="mango:VocabularyTerm.uri" dmtype="ivoa:string" ref="@@@@@" value=""/>
<ATTRIBUTE dmrole="mango:VocabularyTerm.label" dmtype="ivoa:string" ref="@@@@@" value=""/>
</INSTANCE>
<ATTRIBUTE dmrole="mango:AssociatedMangoObject.description" dmtype="ivoa:string" ref="@@@@@" value=""/>
<INSTANCE dmrole="mango:AssociatedMangoObject.mangoObject" dmtype="mango:MangoObject">
<!-- Central model class: applied to a data table, each row can be modelled as a \texttt{MangoObject} instance.
Each \texttt{MangoObject} hosts a collection of physical or calculated parameters,
a description of the data origin and an identifier." -->
<ATTRIBUTE dmrole="mango:MangoObject.identifier" dmtype="ivoa:string" ref="@@@@@" value=""/>
<COLLECTION dmrole="mango:MangoObject.propertyDock">
<INSTANCE dmrole="" dmtype="mango:Property">
<!-- Class holder for a \textit{flavor} of property, i.e., there should be a Property subclass for each \textit{flavor}
of Property being hosted.
The property types are not limited to &#8220;physical or calculated&#8221; (eg: flags, assigned labels)
This class specifies both type and role of the property, and hosts the property instance itself.
" -->
<INSTANCE dmrole="mango:Property.semantics" dmtype="mango:VocabularyTerm">
<!-- Class holder for a term of a standardized vocabulary that applies to a property." -->
<ATTRIBUTE dmrole="mango:VocabularyTerm.uri" dmtype="ivoa:string" ref="@@@@@" value=""/>
<ATTRIBUTE dmrole="mango:VocabularyTerm.label" dmtype="ivoa:string" ref="@@@@@" value=""/>
</INSTANCE>
<ATTRIBUTE dmrole="mango:Property.description" dmtype="ivoa:string" ref="@@@@@" value=""/>
<COLLECTION dmrole="mango:Property.associatedProperties">
<INSTANCE dmtype="mango:Property"/>
</COLLECTION>
</INSTANCE>
</COLLECTION>
<COLLECTION dmrole="mango:MangoObject.mangoObjects">
<INSTANCE dmtype="mango:AssociatedMangoObject"/>
</COLLECTION>
<INSTANCE dmrole="mango:MangoObject.queryOrigin" dmtype="mango:origin.QueryOrigin">
<!-- Description of the query the \texttt{MangoObject} results from." -->
<ATTRIBUTE dmrole="mango:origin.QueryOrigin.publisher" dmtype="ivoa:string" ref="@@@@@" value=""/>
<ATTRIBUTE dmrole="mango:origin.QueryOrigin.server_software" dmtype="ivoa:string" ref="@@@@@" value=""/>
<ATTRIBUTE dmrole="mango:origin.QueryOrigin.service_protocol" dmtype="ivoa:string" ref="@@@@@" value=""/>
<ATTRIBUTE dmrole="mango:origin.QueryOrigin.request" dmtype="ivoa:string" ref="@@@@@" value=""/>
<ATTRIBUTE dmrole="mango:origin.QueryOrigin.request_date" dmtype="ivoa:string" ref="@@@@@" value=""/>
<ATTRIBUTE dmrole="mango:origin.QueryOrigin.query" dmtype="ivoa:string" ref="@@@@@" value=""/>
<ATTRIBUTE dmrole="mango:origin.QueryOrigin.contact" dmtype="ivoa:string" ref="@@@@@" value=""/>
<ATTRIBUTE dmrole="mango:origin.QueryOrigin.ivoid" dmtype="ivoa:string" ref="@@@@@" value=""/>
<COLLECTION dmrole="mango:origin.QueryOrigin.dataOrigin">
<INSTANCE dmtype="mango:origin.DataOrigin"/>
</COLLECTION>
</INSTANCE>
</INSTANCE>
</INSTANCE>
11 changes: 6 additions & 5 deletions mivot/mango/mango.Brightness.xml
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
<INSTANCE dmrole="" dmtype="mango:Brightness">
<!-- Observed brightness of the \texttt{MangoObject}.
The purpose of this property is to gather a brightness value with its error and its photometric calibration
The distinction between fluxes and magnitudes is made by the unit.
The photometric calibration is modeled by the \texttt{Phot} data model (1.1)." -->
<!--
TODO : Missing description : please, update your UML model asap.
" -->
<INSTANCE dmrole="mango:Property.semantics" dmtype="mango:VocabularyTerm">
<!-- Class holder for a term of a standardized vocabulary that applies to a property." -->
<!--
TODO : Missing description : please, update your UML model asap.
" -->
<ATTRIBUTE dmrole="mango:VocabularyTerm.uri" dmtype="ivoa:string" ref="@@@@@" value=""/>
<ATTRIBUTE dmrole="mango:VocabularyTerm.label" dmtype="ivoa:string" ref="@@@@@" value=""/>
</INSTANCE>
Expand Down
22 changes: 12 additions & 10 deletions mivot/mango/mango.Color.xml
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
<INSTANCE dmrole="" dmtype="mango:Color">
<!-- Property that describes a color of the \texttt{MangoObject}.
The purpose of this property is to gather a color value with its error and the 2 related filters (high and low)
The color can be given as a magnitude difference or a hardness ratio.
" -->
<!--
TODO : Missing description : please, update your UML model asap.
" -->
<INSTANCE dmrole="mango:Property.semantics" dmtype="mango:VocabularyTerm">
<!-- Class holder for a term of a standardized vocabulary that applies to a property." -->
<!--
TODO : Missing description : please, update your UML model asap.
" -->
<ATTRIBUTE dmrole="mango:VocabularyTerm.uri" dmtype="ivoa:string" ref="@@@@@" value=""/>
<ATTRIBUTE dmrole="mango:VocabularyTerm.label" dmtype="ivoa:string" ref="@@@@@" value=""/>
</INSTANCE>
Expand All @@ -16,11 +17,12 @@ The color can be given as a magnitude difference or a hardness ratio.
<!-- Replace by an INSTANCE of a derived classes of error.PropertyError if applicable. -->
<INSTANCE dmrole="mango:Color.error" dmtype="mango:error.PropertyError"/>
<INSTANCE dmrole="mango:Color.colorDef" dmtype="mango:ColorDef">
<!-- Physical color definition giving the way a color is calculated (magnitude difference or hardness ratio)
and the filters on which the color is based.
In case of hardness ratio, the energy bands might be modeled as instances of \texttt{Phot:PhotometryFilter}
with a square transfer function." -->
<!-- Enumeration of the different types of colors supported by the model. -->
<!--
TODO : Missing description : please, update your UML model asap.
" -->
<!--
TODO : Missing description : please, update your UML model asap.
-->
<!-- Enumeration datatype: supported values are ColorIndex HardnessRatio -->
<ATTRIBUTE dmrole="mango:ColorDef.definition" dmtype="mango:ColorDefinition" value="OneOf ColorIndex HardnessRatio "/>
<INSTANCE dmrole="mango:ColorDef.high" dmtype="Phot:PhotometryFilter"/>
Expand Down
13 changes: 6 additions & 7 deletions mivot/mango/mango.ColorDef.xml
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
<INSTANCE dmrole="" dmtype="mango:ColorDef">
<!-- Physical color definition giving the way a color is calculated (magnitude difference or hardness ratio)
and the filters on which the color is based.
In case of hardness ratio, the energy bands might be modeled as instances of \texttt{Phot:PhotometryFilter}
with a square transfer function." -->
<!-- Enumeration of the different types of colors supported by the model. -->
<!--
TODO : Missing description : please, update your UML model asap.
" -->
<!--
TODO : Missing description : please, update your UML model asap.
-->
<!-- Enumeration datatype: supported values are ColorIndex HardnessRatio -->
<ATTRIBUTE dmrole="mango:ColorDef.definition" dmtype="mango:ColorDefinition" value="OneOf ColorIndex HardnessRatio "/>
<INSTANCE dmrole="mango:ColorDef.high" dmtype="Phot:PhotometryFilter"/>
<INSTANCE dmrole="mango:ColorDef.low" dmtype="Phot:PhotometryFilter"/>
</INSTANCE>
8 changes: 4 additions & 4 deletions mivot/mango/mango.DataLink.xml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<INSTANCE dmrole="" dmtype="mango:DataLink">
<!-- This property describes static links pointing to some external data.
This allows services that do not implement DataLink services to expose linked data as
flattened DataLink (1.1) responses." -->
<!-- Class for associated data referenced by an URL" -->
<INSTANCE dmrole="mango:Property.semantics" dmtype="mango:VocabularyTerm">
<!-- Class holder for a term of a standardized vocabulary that applies to a property." -->
<!--
TODO : Missing description : please, update your UML model asap.
" -->
<ATTRIBUTE dmrole="mango:VocabularyTerm.uri" dmtype="ivoa:string" ref="@@@@@" value=""/>
<ATTRIBUTE dmrole="mango:VocabularyTerm.label" dmtype="ivoa:string" ref="@@@@@" value=""/>
</INSTANCE>
Expand Down
10 changes: 3 additions & 7 deletions mivot/mango/mango.DateTime.xml
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
<INSTANCE dmrole="" dmtype="mango:DateTime">
<!-- Data type for timestamps and their representation.
Timestamps are modeled by a single value and a representation mode.
There is no time scale associated with \texttt{mango:DateTime}.
The scale is either imposed by the representation mode or defined by the
time coordinate system relevant for the host object,
usually an instance of \texttt{mango:EpochPosition}.
" -->
<!--
TODO : Missing description : please, update your UML model asap.
" -->
<ATTRIBUTE dmrole="mango:DateTime.representation" dmtype="ivoa:string" ref="@@@@@" value=""/>
<ATTRIBUTE dmrole="mango:DateTime.dateTime" dmtype="ivoa:datetime" unit="" ref="@@@@@" value=""/>
</INSTANCE>
64 changes: 8 additions & 56 deletions mivot/mango/mango.EpochPosition.xml
Original file line number Diff line number Diff line change
@@ -1,59 +1,9 @@
<INSTANCE dmrole="" dmtype="mango:EpochPosition">
<!-- This class (fig \ref{fig:EpochPosition}) is a flattened view of objects/concepts from the
Astronomical Measurements Model \citep{2022ivoa.specQ1004R} that have been put together
to form a consistent description of the position of an object moving over time.
It consists of a celestial position, a proper motion, a radial velocity and a parallax and their associated
errors encapsulated into the \texttt{EpochPositionErrors} class.
The values of these properties are pulled from the underlying Astronomical Coordinates and Coordinate Systems
model \citep{2022ivoa.spec.1004R}.

At a high level the properties map as follows:
\begin{itemize}
\item celestial position -> \texttt{meas:Position}
\item proper motion -> \texttt{meas:ProperMotion}
\item radial velocity -> \texttt{meas.Velocity}
\item parallax -> no suitable counterpart at this time
\end{itemize}


All components use the same coordinate systems for both time and space coordinates.

\begin{itemize}
\item Both position and proper motion reuse \texttt{coords:LonLatPoint} elements.
\item The space coordinate system is imported from \texttt{coords:SpaceSys}.
\item The time coordinate system is imported from \texttt{coords:TimeSys}.
\end{itemize}


It is recommended to use the \texttt{ObsDate} field to store the epoch of the observation instead
of the \texttt{epoch} field of \texttt{coords:SpaceSys}.
There are 2 reasons for this:
\begin{itemize}
\item Using the epoch of \texttt{coords:SpaceSys} requires to work with the
\texttt{coords:CustomRefLocation} class to carry the reference location.
This class does not support the standard reference locations such as e.g. BARYCENTER.
\item The observation date can be read in a column and therefore change with each data row.
In this case, it cannot be stored as an element of the space coordinate system
but as an \texttt{EpochPosition} attribute.
\end{itemize}

All components have their own units which must be consistent with each other.
This consistency is not enforced by the model.

Possible correlations between \texttt{EpochPosition} parameters are handled by the \texttt{EpochPositionCorrelations} class.
Errors along the different axes are grouped in the \texttt{EpochPositionErrors} class.

In some cases the errors might conflict with the correlations:

\begin{itemize}
\item \texttt{Ellipse} errors on position or proper motion must not be used together with the
\texttt{longitudeLatitude} (or \texttt{pmLongitudePmLatitude}) correlation fields.
In fact, using elliptical errors implies a correlation between the two spatial axes which must not conflict
with the correlations defined in \texttt{EpochPositionCorrelations}.
\end{itemize}
" -->
<!-- Class grouping all parameters needed to define an object position at a given epoch. The space coordinate system is common to all attributes to insure the consistance between all of the instance parameters." -->
<INSTANCE dmrole="mango:Property.semantics" dmtype="mango:VocabularyTerm">
<!-- Class holder for a term of a standardized vocabulary that applies to a property." -->
<!--
TODO : Missing description : please, update your UML model asap.
" -->
<ATTRIBUTE dmrole="mango:VocabularyTerm.uri" dmtype="ivoa:string" ref="@@@@@" value=""/>
<ATTRIBUTE dmrole="mango:VocabularyTerm.label" dmtype="ivoa:string" ref="@@@@@" value=""/>
</INSTANCE>
Expand All @@ -70,7 +20,7 @@ In some cases the errors might conflict with the correlations:
<ATTRIBUTE dmrole="mango:EpochPosition.obsDate" dmtype="ivoa:datetime" unit="" ref="@@@@@" value=""/>
<ATTRIBUTE dmrole="mango:EpochPosition.pmCosLatApplied" dmtype="ivoa:boolean" unit="" ref="@@@@@" value=""/>
<INSTANCE dmrole="mango:EpochPosition.errors" dmtype="mango:EpochPositionErrors">
<!-- Class holder for the errors of the EpochPosition attributes" -->
<!-- Class for the error attached to a EpochPosition. The component in this class represent the errors of individual parameters as well as errors due to the parameter correlations." -->
<!-- Replace by an INSTANCE of a derived classes of error.PropertyError if applicable. -->
<INSTANCE dmrole="mango:EpochPositionErrors.parallax" dmtype="mango:error.PropertyError"/>
<!-- Replace by an INSTANCE of a derived classes of error.PropertyError if applicable. -->
Expand All @@ -81,7 +31,9 @@ In some cases the errors might conflict with the correlations:
<INSTANCE dmrole="mango:EpochPositionErrors.position" dmtype="mango:error.PropertyError"/>
</INSTANCE>
<INSTANCE dmrole="mango:EpochPosition.correlations" dmtype="mango:EpochPositionCorrelations">
<!-- Class holder for the correlation coefficients between the \texttt{EpochPosition} components." -->
<!--
TODO : Missing description : please, update your UML model asap.
" -->
<ATTRIBUTE dmrole="mango:EpochPositionCorrelations.longitudeParallax" dmtype="ivoa:real" unit="" ref="@@@@@" value=""/>
<ATTRIBUTE dmrole="mango:EpochPositionCorrelations.latitudeParallax" dmtype="ivoa:real" unit="" ref="@@@@@" value=""/>
<ATTRIBUTE dmrole="mango:EpochPositionCorrelations.pmLongitudeParallax" dmtype="ivoa:real" unit="" ref="@@@@@" value=""/>
Expand Down
4 changes: 3 additions & 1 deletion mivot/mango/mango.EpochPositionCorrelations.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
<INSTANCE dmrole="" dmtype="mango:EpochPositionCorrelations">
<!-- Class holder for the correlation coefficients between the \texttt{EpochPosition} components." -->
<!--
TODO : Missing description : please, update your UML model asap.
" -->
<ATTRIBUTE dmrole="mango:EpochPositionCorrelations.longitudeParallax" dmtype="ivoa:real" unit="" ref="@@@@@" value=""/>
<ATTRIBUTE dmrole="mango:EpochPositionCorrelations.latitudeParallax" dmtype="ivoa:real" unit="" ref="@@@@@" value=""/>
<ATTRIBUTE dmrole="mango:EpochPositionCorrelations.pmLongitudeParallax" dmtype="ivoa:real" unit="" ref="@@@@@" value=""/>
Expand Down
2 changes: 1 addition & 1 deletion mivot/mango/mango.EpochPositionErrors.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<INSTANCE dmrole="" dmtype="mango:EpochPositionErrors">
<!-- Class holder for the errors of the EpochPosition attributes" -->
<!-- Class for the error attached to a EpochPosition. The component in this class represent the errors of individual parameters as well as errors due to the parameter correlations." -->
<!-- Replace by an INSTANCE of a derived classes of error.PropertyError if applicable. -->
<INSTANCE dmrole="mango:EpochPositionErrors.parallax" dmtype="mango:error.PropertyError"/>
<!-- Replace by an INSTANCE of a derived classes of error.PropertyError if applicable. -->
Expand Down
17 changes: 9 additions & 8 deletions mivot/mango/mango.Footprint.xml
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
<INSTANCE dmrole="" dmtype="mango:Footprint">
<!-- Description of the spatial extent of the MANGO object (e.g. for dust clouds).
Footprint is serialized as a string.
\begin{itemize}
\item The supported serialization modes are listed in the \texttt{FootprintSerialization} enumeration.
\item If the space coordinate system is not embedded in the serialization mode, it can be defined by the \texttt{spaceSys} reference.
\end{itemize}" -->
<!--
TODO : Missing description : please, update your UML model asap.
" -->
<INSTANCE dmrole="mango:Property.semantics" dmtype="mango:VocabularyTerm">
<!-- Class holder for a term of a standardized vocabulary that applies to a property." -->
<!--
TODO : Missing description : please, update your UML model asap.
" -->
<ATTRIBUTE dmrole="mango:VocabularyTerm.uri" dmtype="ivoa:string" ref="@@@@@" value=""/>
<ATTRIBUTE dmrole="mango:VocabularyTerm.label" dmtype="ivoa:string" ref="@@@@@" value=""/>
</INSTANCE>
Expand All @@ -15,7 +14,9 @@ Footprint is serialized as a string.
<INSTANCE dmtype="mango:Property"/>
</COLLECTION>
<ATTRIBUTE dmrole="mango:Footprint.serialization" dmtype="ivoa:string" ref="@@@@@" value=""/>
<!-- Enumeration of the supported serialization modes for the footprints -->
<!--
TODO : Missing description : please, update your UML model asap.
-->
<!-- Enumeration datatype: supported values are SMOC STC-S POLYGON -->
<ATTRIBUTE dmrole="mango:Footprint.mode" dmtype="mango:FootprintSerialization" value="OneOf SMOC STC-S POLYGON "/>
<INSTANCE dmrole="mango:Footprint.spaceSys" dmtype="coords:SpaceSys"/>
Expand Down
12 changes: 6 additions & 6 deletions mivot/mango/mango.Label.xml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<INSTANCE dmrole="" dmtype="mango:Label">
<!-- Free text label seen as \texttt{MangoObject} property.
The meaning of the label must match the property \texttt{semantics} attribute.
This rule is not enforced by the model.
For example, the Label property can be used to associate the sky object class
of the \texttt{MangoObject} (e.g., Cataclysmic Variable) with the appropriate vocabulary." -->
<!--
TODO : Missing description : please, update your UML model asap.
" -->
<INSTANCE dmrole="mango:Property.semantics" dmtype="mango:VocabularyTerm">
<!-- Class holder for a term of a standardized vocabulary that applies to a property." -->
<!--
TODO : Missing description : please, update your UML model asap.
" -->
<ATTRIBUTE dmrole="mango:VocabularyTerm.uri" dmtype="ivoa:string" ref="@@@@@" value=""/>
<ATTRIBUTE dmrole="mango:VocabularyTerm.label" dmtype="ivoa:string" ref="@@@@@" value=""/>
</INSTANCE>
Expand Down
Loading
Loading