Last modified 21 months ago Last modified on 01/21/21 05:54:57

Curing VSO Searches or "How the hell did that just work?"

Occasionally, you'll make a typo or other mistake when searching using the VSO, and the search will actually come back with a useful result. It's actually part of the design of the VSO.

Part of our design philosophy was:

  1. It's better to return too much data (that the researcher can then filter down) than too little data
  2. Make the VSO easy to use

So, although we have a data model, there are a few subtle things about how we handle matching and we occasionally re-write a query to 'cure' (fix problems with) it.

Some examples:

  1. If you call something a 'detector' and it was actually an 'instrument' (which is the FITS INSTRUME field, typically used for the investigation name), it will still work. If the VSO can't find a match in its registry, it will swap those two fields and re-try the search. So if you ask for an instrument named "EUVI", it will still work, even though we've classified it as a "detector" under the "instrument" of SECCHI.
  1. Some items are registered under more than one name. For instance, early documentation for Hinode/SOT called the various filtergram modes as NFI and BFI, NB and WB or simply FG. The data is registered under all of those names
  1. Numbers are matched in a fuzzy manner. For those that allow a string to be passed in (such as exposure time), if you give it a single value, it may be matched within some tolerance. So AIA exposure times are matched within 1% of the requested value. You should be able to override this by giving it a range ("2-2" rather than just "2")
  1. Some instrument filters will match a wider range than the instrument PI's name for the filter. As EIT, EUVI, and AIA all observe four of the same lines, but couldn't agree on what to call FE-IX, if you ask for anywhere from 171 to 175 Angstrom, they will all return results.
  1. Names for things with underscores in them will match just on the prefix part. So a search for a "source" of STEREO will match both "STEREO_A" and "STEREO_B". You can also use dashes (STEREO-A) instead of underscore, and it will work.
  1. Unknown facets will match *everything*. Just like how if you don't specify a search facet it will match all data, if some data isn't indexed by a given facet, it will match all queries. (This goes back to 'it's better to return too much data')

There have been requests for us to cure a few other things (such as adding +/- 8 minutes on all times, to account for solar vs. earth time), but we felt that this was a problem for high-cadence observations as it returned too many unintended results. It's possible that some low cadence data providers might do this on their own, but the VSO does not apply it automatically. NOTE: STEREO uses an "earth coordinated time", in which they adjust for time-of-light so that the time listed for the observation is the time that state of the sun would have been seen on Earth. It is *not* the spacecraft time or solar time.