A modest proposal for VOEvent

Frederic Hessman hessman at astro.physik.uni-goettingen.de
Sun Feb 22 23:24:06 PST 2009


Here's a very good role for a simple VOEvent vocabulary:

<Param name="PJ97T030" type="voe:MPCephemeris">PJ97T030 1998 03  
9.3751 ...</Param>
<Group name="Pluto" type="voe:orbitalEphemeris">
	<Param name="q" type="voe:massRatio" ...> ...
	<Param name="e" type="voe:orbitalEccentricity" ...> ...
	<Param name="i" type="voe:orbitalInclination" ...> ...
	...
</Group>

where MPCephemeris is a narrower concept than orbitalEphemeris.  Will  
have to take a look in detail, but all of this (with the probable  
exception of MPCephemeris) is already in IVOAT.  This solves Petr's  
problem with the parsing of designations, e.g.

	<Param name="inclination" type="voe:orbitalInclination" ...>

would be just as good - this is the whole point of using an official  
vocabulary.  If VOEvent wants to keep the bytes trimmed, then

	<Param name="i" type="voe:orbi" ...>

(and "voe:orbq", ....) would be just as good - this is for machines,  
not poets.

I suggest that everyone submit the "names" they have been using for  
their own parcels so that we can construct an official VOEvent  
vocabulary that can immediately be mapped to IVOAT/IAU93/..... and  
hence made officially identifiable.    This would be a great goal for  
VOEvent 2.0.

Rick

P.S. Does the current schema allow <Param>value</Param> or must one  
use attributes?  Wouldn't this be a good change?  I personally find

	<Param name="blah" unit="furlongs">1.234</Param>

much clearer than

	<Parram name="blah" unit="furlongs" value="1.234"/>

since the content is emphasized.   Would this be an official change in  
the direction of clearer structures and content?


>> I'm a KISS Principle guy. The MPC has standard formats for numbered  
>> asteroid and
>> cometary elements already, the so-called "1-line" format(s).  
>> Everyone knows what
>> these are, how they are formatted, and what units they are in.  
>> They've been
>> around for many years. MP versus cometary can be determined by  
>> inspection. So
>> something as simple as
>>
>>   <orbitalElements>K01FI5V  7.7   0.15 K014L   0.10308 ...</ 
>> orbitalElements>
>>   <orbitalElements>    PJ97T030  1998 03  9.3751  ...</ 
>> orbitalElements>
>>
>> would carry everything there is to know about the elements. If only  
>> the number
>> or designator is given, that could automatically reference the  
>> MPC's orbital
>> elements database. That would provide the "latest" elements if that  
>> were
>> preferable (maybe you want to specify the elements that WERE used  
>> and not the
>> elements TO use). So
>>
>>   <orbitalElements>K01FI5V</orbitalElements>
>>   <orbitalElements>0029P</orbitalElements>
>>
>> Now what about NEOs which have only a rough short-arc orbit, and  
>> for which there
>> are no elements available? I've successfully used the MPC's "NEOCP  
>> Ephemeris"
>> format. Needless to say, the position of an NEO is not well known  
>> very far
>> ahead, so this would apply only to timely observations in response  
>> to a VOEvent.
>> In that case, some ephemeris lines covering the expected validity  
>> period of the
>> event, spaced an hour or two apart, should be "good enough". One  
>> can do
>> something like a Lagrange interpolation over that data and get a  
>> pretty good
>> position. So something like
>>
>>   <ephemeris name="A123456789">
>>      <pos>2004 10 27 02    01.6915    -40.095</pos>
>>      <pos>2004 10 27 03    01.6834    -40.167</pos>
>>      ...
>

> Perhaps we can use the existing VOEvent structure, with no need to  
> add any extra schema (see below). The Group type (eg ="ephemeris")  
> tells the software what Params to expect inside. Everything can be  
> represented with what we already have!
> ----------------------------------
>
> <What>
> <Group name="Pluto" type="orbit">
> <Param name="q"             unit="AU"  dataType="float" value="123" />
> <Param name="e"                        dataType="float" value="123" />
> <Param name="i"             unit="deg" dataType="float" value="123" />
> <Param name="node"          unit="deg" dataType="float" value="123" />
> <Param name="time_peri_MJD" unit="MJD" dataType="float" value="123" />
> <Param name="arg_peri"      unit="deg" dataType="float" value="123" />
> <Param name="epoch"         unit="MJD" dataType="float" value="123" />
> <Param name="src" value="1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17  
> 18 19 20 21" />
> </Group>
>
> Then we would add geocentric ephemeris
>
> <Group name="E012" type="ephemeris">
> <Param name="ephem_type"                              
> value="geocentric"/>
> <Param name="ra"         unit="deg" dataType="float" value="123" />
> <Param name="dec"        unit="deg" dataType="float" value="123" />
> <Param name="mjd"        unit="day" dataType="float" value="123" />
> </ephemeris>
>
> And the detections used to derive the orbit
>
> <Group name="D023" type="detections">
> <Param name="ra"  unit="deg" dataType="float" value="123" />
> <Param name="dec" unit="deg" dataType="float" value="123" />
> <Param name="mjd" unit="day" dataType="float" value="123" />
> <Param name="obscode"                         value="123" />
> </Group>
> </What>



More information about the semantics mailing list