VOUnits RFC
Frederic V. Hessman
Hessman at Astro.physik.Uni-Goettingen.DE
Thu Aug 1 06:20:33 PDT 2013
On 1 Aug 2013, at 14:48, Marco Molinaro <molinaro at oats.inaf.it> wrote:
> On the opposite, generic float scale-factors can be parsed and used as are, if we strictly mandate standard units and symbols.
> But relying only on generic float scale-factors has a problem on scale-factor calibration and time-variability that can only in part be solved, e.g. the uncertainty on the scale-factor may be negligible once considered in combination with an error bar for the observable. Of course there are cases where this latter assumption will not work.
> Also, using float scale-factors can make it easy to compare quantities but it has some problem in comparing units.
>
> If I say my weight is 1 in units of 'MarcoWeight' I have a problem at application level, the app has to search for 'MarcoWeight' and translate it in kg (e.g.).
> If I say my weight is 1 in units of '8.4e+1kg' the application is happy during conversion but is not able to find if unit '8.4e+1kg' is equal, comparable or different from unit '8.41e+1kg'.
>
> The example is stupid but I think it is all around similar things we are discussing.
No, the example is exactly what we're worrying about.
Isn't the point that
- the standard is for now AND for the intermediate future
- we need to (gently) push things in the long-term direction
- we need scaling now to handle non-SI units which are out there whether one likes it or not
- simple pre-factor scaling with a standard floating point number is trivially parsed, so no complaints
- scaling is NOT easily compared with other scalings, so this won't be good enough in the long run; no metadata, no semantics, no embedded context to help out
- unknown_units are easily parsed
- since the VO is intrinsically networked, looking up unknown_units is not a big deal unless you're reducing data on a desert island
- providing simple translations of unknown_units into scalefactors and SI units is not rocket science (google already does it for millions)
- providing semantic contexts for units would not be difficult in the intermediate future (though it does need to be done)
- getting a semantic meaning for the unit will let your app deal with previously un-encountered units in the long run
- keeping a semantic meaning means your data is easier to pass on (sure, you're using 8.4e+1 instead of your colleagues 8.41e+1, but you both know it's a "MarcoWeight")
An example for the intermediate future:
- your app gets "km/s/h" and sees that "km/s" is close but doesn't know what to do with the rest
- your friendly units-interpreter-service says:
- "km/s" is trivial and undoubtedly the best guess
- "h" could be
- "hour", generic context
- "Planck's constant", generic physical context, not often combined with a velocity, but you never know ….
- "Hubble factor", probably based on the standard "h_100" scaling, cosmological context
- your software knows you're reducing Type Ia supernova spectra, and guesses from the semantic context you want a hubble factor.
No, we don't get this functionality now, but we get this later, because all of the groundwork is already laid.
Rick
More information about the semantics
mailing list