STC2:Coords Proposed Recommendation: Request for Comments #2


WATCHOUT: This RFC page has been replaces RFC#1

Rationale for a second RFC round:

  • Many comments have been collected after RFC #1. Some of them just required text improvements but some others implied significant model changes, especially for Coords.
  • A global RFC answer has been sent to WG mailing list in February 2020: <a target="_blank" href="http://mail.ivoa.net/pipermail/dm/2020-February/005975.html">answer</a>
  • These data models should support the description of datasets and DAL responses, by defining fundamental elements which are commonly used in many contexts. The intent is that they be imported as components in these more complex models so that they all build from the same basis, thereby enhancing interoperability.
  • They should NOT be expected to fully support any use-cases outside of the described set. For example, they cannot currently support the complex error types found in various Catalogs. These use-cases are to be considered in future updates to the models.
  • Measurements cannot be used without Coords because the latest is imported by Measurements but Coords can be used in some other contexts e.g. Transform.
  • The nature of the changes in Coords, that impacts Measurements thus, led the TCG to decided on 2020-10-8 a second RFC round for both models.

<a name="Why RFC #2"></a> Summary

TBC

Many comments were collected after RFC #1. Some of them just required text Ómprovements but some others implied significant model changes, especially for Coords.

A global RFC answer has been sent to WG mailing list in February 2020: answer.

Theses models do not aim at being used as such to describe dataset classes or DAL responses. They must be seen as component boxes for top level models such as CubeDM or Mango.

This is the reason why Measurements and Coords have been split. Measurements cannot be used without Coords because the lastest in imported by Measurements but Coords can be used in some other contexts e.g. Transform.

The nature of the changes in Coords, that impacts Measurements as well, led the TCG to decided on 2020-10-8 a second RFC round for both model.

Summary

Version 1 of STC was developed in 2007, prior to the development and adoption of vo-dml modeling practices. As we progress to the development of vo-dml compliant component models, it is necessary to revisit those models which define core content. Additionally, the scope of the STC-1.0 model is very broad, making a complete implementation and development of validators, very difficult. As such it may be prudent to break the content of STC-1.0 into component models itself, which as a group, cover the scope of the original.

This effort will start from first principles with respect to defining a specific project use-case, from which requirements will be drawn, satisfied by the model, and implemented in the use-case. We will make use of the original model to ensure that the coverage of concepts is complete and that the models will be compatible. However, the form and structure may be quite different. This model will use vo-dml modeling practices, and model elements may be structured differently to more efficiently represent the concepts.

This model describes the Coordinates model and covers the following concepts.

  • Description of single and multi-dimensional coordinate space, and coordinates within that space.
  • Coordinate Frames, providing metadata describing the origin and orientation of the coordinate space.
  • Definition of simple domain-specific coordinate types for the most common use cases.
  • Coordinate Systems, a collection of coordinate frames.
The latest version of the model and supporting docs:
  • Model document: here
  • VO-DML/XML representation: here
  • XML Schema: here

Implementation Requirements

(from DM Working group twiki):

The "IVOA Document Standards" standard has a broad outline of the implementation requirements for IVOA standards. These requirements fit best into the higher level standards for applications and protocols than for data models themselves. At the Oct 2017 interop in Trieste, the following implementation requirements for Data Model Standards was agreed upon, which allow the models to be vetted against their requirements and use cases, without needing full science use cases to be implemented.

  • VO-DML models must validate against schema
  • Serializations which touch each entity of the model. These serializations may be 'fake' (ie: not based on actual data files), and are to be produced by the modeler as unit tests/examples.
  • Real world serializations covering use cases, produced by others following the model, in a mutually agreed upon format.
  • Software which interprets these serializations and demonstrates proper interpretation of the content.

VO-DML Validation:

  • The Coords model was developed using the Modelio UML tool, and exported to xmi format.
  • The xmi model description was then processed using an xslt script into VO-DML/XML format.
  • This VO-DML/XML format file was then validated against the vo-dml schema with no reported violations.
    • the xml file is available in the IVOA document repository, here.

Serializations:

  • Modeler Generated Examples:
    • using home grown python code, the modeler has generated example serializations which span all elements of the model. The examples are generated in 4 formats:
      • VOTable-1.3 standard syntax; Validates using votlint
      • VOTable-1.3 annotated with VO-DML/Mapping syntax; Validates using xmllint to a VOTable-1.3 schema enhanced with an imported VO-DML mapping syntax schema
      • XML format; Validates against the model schema
      • An internal DOC format; XML/DOM structure representing the instances generated when interpreting the instance templates.
  • Real world serializations:
    • jovial: A set of example serializations of various Coordinate and Measurement instances generated by Omar Laurino using his Jovial DSL package
    • TDIG: Working project of Time Series as Cube.
      • Example serializations have been generated using various annotation schemes to identify the model elements: here.
        • these include elements from the Measurement and Coordinates models
    • VOTable: COOSYS
      • this represents a standardized serialization of a Coordinate model SpaceFrame
        • COOSYS => SpaceFrame
        • COOSYS.system => SpaceFrame.spaceRefFrame
        • COOSYS.equinox => SpaceFrame.equinox
        • COOSYS.epoch => would map to epoch of a particular measurement set, outside the scope of SpaceFrame
        • NOTE: COOSYS lacks the 'refPosition' present in SpaceFrame.. this is on the list as a probable enhancement to COOSYS
    • VOTable TIMESYS
      • recently adopted into VOTable 1.4, this is similarly, a standardized serialization of Coordinate model TimeFrame
      • TIMESYS => TimeFrame
      • TIMESYS.timescale => TimeFrame.timescale
      • TIMESYS.refPosition => TimeFrame.refPosition
      • TIMESYS.timeorigin => TimeOffset.time0; centralizing this information high in the serialization

Software:

  • vodml Parser: Notebook developed by Omar Laurino parses vo-dml/Mapping annotation to generate instances of TimeSeries -Cube-Meas-Coord using AstroPy and generates plots of the content using Matplotlib. Note: this was developed and presented in 2017 using earlier drafts of the models. These vary only in detail, and the demo could be updated to the current model suite.
  • TDIG: Working project of Time Series as Cube.
    • An ongoing project is underway to enhance SPLAT to load/interpret/analyze TimeSeries data. This was most recently presented at the IVOA Interop in Paris 2019 (see PDF)
    • The tool currently uses a combination of TIMESYS, table column descriptions, UCDs and UTypes to identify and interpret the data automatically. Each of these are annotation schemes which tie directly to model components.
    • Delays in resolving on a standard annotation syntax has delayed progress on this project to fully realize the possibilities. This is a high-priority for upcoming work.
  • pyVO: extract_skycoord_from_votable()
    • Demonstrated at the IVOA Interop in Paris 2019, this product of the hack-a-thon generates AstroPy SkyCoord instances from VOTables using various elements embedded in the VOTable.
      • Interrogates a VOTable-1.3 serialization, identifies key information and uses that to automatically generate instances of SkyCoord.
        • UCD: 'pos.eq.ra', 'pos.eq.dec'
        • COOSYS.system: "ICRS", "FK4", "FK5"
        • COOSYS.equinox
      • The COOSYS maps directly to SpaceFrame, and the value of the system
      • The UCD 'pos.eq' maps directly to meas:EquatorialPosition; with 'pos.eq.ra|dec' identifying the corresponding attributes (EquatorialPosition.ra|dec) as coordinates coords:Longitude and coords:Latitude.
      • This illustrates that even with minimal annotation, this sort of automatic discovery/instantiation can take place. With a defined annotation syntax, this utility could be expanded to generate other AstroPy objects very easily.
  • AST: Starlink's library for handline World Coordinate Systems
    • An ongoing project to exercise the Transform model is being worked, which includes pulling in elements from the Coordinates model to define the 'Frames' on either end of the transform.
    • This work is being done with YAML serializations, annotated to the model elements
    • Currently includes the CoordSpace, PixelSpace and SpaceFrame elements. There is a high level of correlation between the AST Frame objects and the Coordinate model elements.

Validators

As noted above, the serializations may be validated to various degrees using the corresponding schema

  • VOTable-1.3 using votlint: verifies the serialization complies with VOTable syntax
  • VOTable-1.3 + VODML: verifies the serialization is properly annotated
  • XML using xmllint with model schema: verifies the serialization is a valid instance of the model.
  • NOTE: The modeler examples undergo all levels of validation, showing that the VOTable serializations are also valid instances of the model.
I don't believe there are validators for the various software utilities. Their purpose is to show that given an agreed serialization which can be mapped to the model(s), the data can be interpreted in an accurate and useful manner.

Links with Meas

The Coordinates model a base component, primarily used to support the development of other models. Most significantly is in support of the Measurement model, which is the core model of interest to most use cases. Information about the relation to that model, how the use case requirements divide up, etc. can be found on the STC2 page

Comments from the IVOA Community during RFC/TCG review period: 2020-10-26 - 2020-12-07

The comments from the TCG members during the RFC/TCG review should be included in the next section.

In order to add a comment to the document, please edit this page and add your comment to the list below in the format used for the example (include your Wiki Name so that authors can contact you for further information). When the author(s) of the document have considered the comment, they will provide a response after the comment.

Additional discussion about any of the comments or responses can be conducted on the WG mailing list. However, please be sure to enter your initial comments here for full consideration in any future revisions of this document



Comments from TCG member during the RFC/TCG Review Period: 2020-10-26 - 2020-12-07

WG chairs or vice chairs must read the Document, provide comments if any (including on topics not directly linked to the Group matters) or indicate that they have no comment.

IG chairs or vice chairs are also encouraged to do the same, althought their inputs are not compulsory.

TCG Chair & Vice Chair

Applications Working Group

Data Access Layer Working Group

Data Model Working Group

Grid & Web Services Working Group

Registry Working Group

Semantics Working Group

Data Curation & Preservation Interest Group

Education Interest Group

Knowledge Discovery Interest Group

Solar System Interest Group

Theory Interest Group

Time Domain Interest Group

Operations

Standards and Processes Committee


TCG Vote : Vote_start_date - Vote_end_date

If you have minor comments (typos) on the last version of the document please indicate it in the Comments column of the table and post them in the TCG comments section above with the date.

Group Yes No Abstain Comments
TCG        
Apps        
DAL        
DM        
GWS        
Registry        
Semantics        
DCP        
KDIG        
SSIG        
Theory        
TD        
Ops        
<nop>StdProc        



<!--</p> <ul> <li> <ul> <li> Set ALLOWTOPICRENAME =<span class="WYSIWYG_PROTECTED"> TWikiAdminGroup</span> </li> </ul></li> </ul>-->

Topic revision: r2 - 2020-10-21 - LaurentMichel
 
This site is powered by the TWiki collaboration platformCopyright © 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback