Page under construction
STC2:Transf Proposed Recommendation: Request for Comments
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 covers the description of measured or determined astronomical data, and includes the following concepts:
- The association of the determined ’value’ with corresponding errors. In this model, the ’value’ is given by the various Coordinate types of the Coordinates data model (Rots and Cresitello-Dittmar et al., 2019).
- A description of the Error model.
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
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 <a target="_top" href="https://volute.g-vo.org/svn/trunk/projects/dm/vo-dml/xsd/votable_ext/VOTable-1.4_vodml.xsd">VO-DML mapping syntax schema</a>
- 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
- <a target="_blank" href="https://olaurino.gitlab.io/ivoa-dm-examples/0000/01/03/Coords.html">https://olaurino.gitlab.io/ivoa-dm-examples/0000/01/03/Coords.html</a>
- <a target="_top" href="https://olaurino.gitlab.io/ivoa-dm-examples/0000/01/02/STC-current.html">https://olaurino.gitlab.io/ivoa-dm-examples/0000/01/02/STC-current.html</a> - examples of Measurement and Coords based on earlier versions of the models
- TDIG: Working project of Time Series as Cube.
- Example serializations have been generated using various annotation schemes to identify the model elements: <a target="_top" href="https://volute.g-vo.org/svn/trunk/projects/time-domain/time-series/standardized_votables/">here</a>.
- these include elements from the Measurement and Coordinates models
- Cube: Example files for Cube ( nD-Image and Sparce Cube ) incorporate Measurement and Coordinate model instances
Software:
- vodml Parser: Notebook developed by Omar Laurino parses vo-dml/Mapping annotation to generate instances of TimeSeries -Cube-Meas-Coord using <a rel="nofollow" href="https://wiki.ivoa.net/twiki/bin/edit/IVOA/AstroPy?topicparent=IVOA.CoordsRFC;nowysiwyg=0" title="AstroPy (this topic does not yet exist; you can create it)">AstroPy</a> 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.
- <a target="_top" href="https://olaurino.gitlab.io/ivoa-dm-examples/0000/01/10/PythonParserDemo.html">https://olaurino.gitlab.io/ivoa-dm-examples/0000/01/10/PythonParserDemo.html</a>
- 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 <a target="_top" href="https://wiki.ivoa.net/internal/IVOA/InterOpMay2019TDIG/splat_timeseries.pdf">PDF</a>)
- 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 <a rel="nofollow" href="https://wiki.ivoa.net/twiki/bin/edit/IVOA/AstroPy?topicparent=IVOA.CoordsRFC;nowysiwyg=0" title="AstroPy (this topic does not yet exist; you can create it)">AstroPy</a> <a rel="nofollow" href="https://wiki.ivoa.net/twiki/bin/edit/IVOA/SkyCoord?topicparent=IVOA.CoordsRFC;nowysiwyg=0" title="SkyCoord (this topic does not yet exist; you can create it)">SkyCoord</a> 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 <a rel="nofollow" href="https://wiki.ivoa.net/twiki/bin/edit/IVOA/SkyCoord?topicparent=IVOA.CoordsRFC;nowysiwyg=0" title="SkyCoord (this topic does not yet exist; you can create it)">SkyCoord</a>.
- UCD: 'pos.eq.ra', 'pos.eq.dec'
- COOSYS.system: "ICRS", "FK4", "FK5"
- COOSYS.equinox
- The COOSYS maps directly to <a rel="nofollow" href="https://wiki.ivoa.net/twiki/bin/edit/IVOA/SpaceFrame?topicparent=IVOA.CoordsRFC;nowysiwyg=0" title="SpaceFrame (this topic does not yet exist; you can create it)">SpaceFrame</a>, and the value of the system
- The UCD 'pos.eq' maps directly to meas:EquatorialPosition; with 'pos.eq.ra|dec' identifying the corresponding attributes (<a rel="nofollow" href="https://wiki.ivoa.net/twiki/bin/edit/IVOA/EquatorialPosition?topicparent=IVOA.CoordsRFC;nowysiwyg=0" title="EquatorialPosition (this topic does not yet exist; you can create it)">EquatorialPosition</a>.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 <a rel="nofollow" href="https://wiki.ivoa.net/twiki/bin/edit/IVOA/AstroPy?topicparent=IVOA.CoordsRFC;nowysiwyg=0" title="AstroPy (this topic does not yet exist; you can create it)">AstroPy</a> objects very easily.
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 Coords
The Measurement model is heavily dependent on the Coordinates model (also in RFC) for its core elements. Information about its relation to the Coordinates model, and how the requirements are distributed can be found on the
STC2 page
Comments from the IVOA Community during RFC/TCG review period: year-month-day - year-month-day
Comments from TCG member during the RFC/TCG Review Period: year-month-day - year-month-day
2019-10-21
TCG Chair & Vice Chair
TCG Vote:
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 |
|
|
|
|