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
Function: extract a list of targets
Inputs: OI_TARGET table / coords, coords+name, name
Outputs: List of targets (TargetUUIDs)
with CatalogIDs (HD HIP TBD1 TBD2)
Warning: target names are case sensitive
Use cases
- target name resolved
- invalids
- wrong coordinates vs simbad resolution
- ambiguity after resolution : more than one result
- target name unresolved
- valids
- duplicated targets : distinct name & same coords, approximate coordinates (which radius ?)
Impact
- oitools : add derived columns in OI_TARGET (TargetUUID + CatalogIDs)
- jmcs :
- manage coords with epoch = J2000
- resolve target names with simbad (catalog)
- oiexplorer-core
- compute uuid (using coords?) (cf oid simbad)
- compute new coordinates columns from simbad (deg J2000) (save a timestamp for the resolution, useful when running resolution later)
- oidb
- provide a proxy to retrieve target uuid replacing simbad above for target resolution
Examples
Questions
- which additional information should be retrieved by simbad resolver ?
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