This topic aims to describe the specification from a technical point of view.

1.3 Granularity

The following discussion apply to data extraction from individual OIFits files.

Subgrouping must be done in the following order : target(OI_TARGET), instrument(OI_WAVELENGTH), night (OI_DATA rows)

Group by targets

The purpose is to identify different targets within an OIFits file or a file set.

Check and identify a target with Simbad

Function: return id for a target given its description Inputs: target name (string) and/or coords (ra(deg), dec(deg), equinox(int)) Output: Simbad target identifier

Definitions

Target identifier (integer): OID (integer) from Simbad resolution if success resolving target

Function contents

  • if target_name
    • do name resolution with Simbad
      • no result
        • continue
      • single result: check returned coords against given coords
        • no coords: return identifier
        • off coords: raise error
        • within search radius: report difference, return identifier
      • more than one result
        • select result with closest to coords (within search radius)
  • do resolution with coords (and search radius)
    • no result
      • continue
    • single result
      • if name = result.name, report warning
      • return identifier
    • multiple result
      • report warning
      • return closest result
  • return resolution failure

Use cases

  • invalid coords
  • fancy coords
  • resolution of target name close to coords
  • target name and coords do not match (big distance)
  • unknown target

Impact

  • jmcs :
    • manage coords with equinox = 2000
    • resolve target names with simbad (catalog)
  • oiexplorer-core
    • function implemtation

Notes

  • selection of the search radius for coord resolution
  • associate resolution timestamp to result in case of reprocessing later?
  • any additional information to save from resolution result?

Identify target

Function: return id for a target given its description Inputs: target name (string) and or coords (ra(deg), dec(deg), equinox(int)) Output: target identifier

This provides an identifier even if the target is unknown by Simbad.

Definitions

temporary id: negative integer (no conflict with Simbad ID) id cache: an association table between name or coords and identifier

Function contents

  • try resolving with Simbad
    • success
      • return identifier
    • failure
      • search temporary id cache with coords
      • if unknown target
        • create a new temporary id
        • save association of temporary id with coords in cache
      • return id

Identify targets in a OIFitsFile

An OIFits file can contain data for several targets. These targets are represented as rows inside the OI_TARGET table.

There is no guarantee that the targets are correct and unique within the target.

Function: associate ids to targets in a OIFits file Inputs: OI_TARGET table (TARGET_ID, RAEP0, DECEP0, EQUINOX columns)

Definitions

OI_TARGET identifier: derived column with type integer temporary id: negative integer (to separate from Simbad identifier) associated with coords

Function contents

  • for each row in table
    • if fancy/incomplete coords
      • return failure
    • run 'identify target'
      • success
        • set derived column with id
      • error
        • search temporary id cache with coords
        • if unknown target
          • create a new temporary id
          • save association temporary id with coords
        • return temporary id

Use cases

  • invalid coords
  • resolution of target name close to coords
  • target name and coords does not match (big distance)
  • unknown target
  • set unknown targets

  • fancy coords
  • missing coords
  • missing name
  • duplicated targets in rows

Impact

  • oitools: add derived columns in OI_TARGET (TargetUUID + CatalogIDs)
  • oiexplorer-core: function implementation

Group by instrument mode

Function: retrieve instrument modes
Inputs: OI_WAVELENGTH tables : INSNAME + EFF_WAVE_min/max + NB_EFF_WAVE + EFF_BAND
knowledge instrument_mode database
Outputs: List of instrument modes

Do not presume that every data are sorted properly in OIFits files when searching for min/max values.

Use cases

  • same data with epsilon values should retrieve the same instrument mode (may feed INSNAME aliases)

Impact

  • oitools : add derived column (InsModeID for each OI_DATA or one per data row?)
  • oiexplorer-core : compute instrument signature (insname, wavelengths, resolution)
  • oidb :
    • use instrument signature to select instrument mode
    • insname aliases, knowledge database (aspro-conf)
    • instrument configurations

Examples

Questions:

  • how to handle data for unknown instrument ?
  • how to store an instrument_mode (single string, fields concatenation...)
  • How to solve ambiguity for MIDI (and MATISSE) between HIGH_SENS and SCI_PHOT ?

Group by nights

Function: split by observation nights
Inputs: OI_DATA tables : (DATE-OBS + TIME ) or (MJD), ARRNAME
OI_ARRAY tables
Outputs: List of observation nights

Use cases

  • handle oifits without OI_ARRAY

Impact

  • jmal : date, coords
  • oitools : add derived column (NightID for each data line)
  • oiexplorer-core : computing NightID

Examples

General

  • oiexplorer-core must provide for every table row : the targetId, nightId, targetUuid
  • do we have to refresh/compare data retrieved by simbad
Edit | Attach | Watch | Print version | History: r11 | r6 < r5 < r4 < r3 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r4 - 2014-04-09 - PatrickBernaud
 
  • Edit
  • Attach
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback