Details
-
Type:
Story
-
Status: Done
-
Resolution: Done
-
Fix Version/s: None
-
Component/s: daf_butler
-
Labels:
-
Story Points:4
-
Epic Link:
-
Team:Data Release Production
-
Urgent?:No
Description
Unlike gen2, gen3 can work with multiple instruments and so therefore generally requires that an instrument be specified in a dataId or where clause when selecting datasets.
This requirement to always specify an "unnecessary" instrument has generated some negative feedback.
The problem with globally declaring that a registry only has one instrument is that if you ever change your mind (say adding LATISS data to an LSSTCam registry) then all the code that assume the instrument would default now breaks.
One proposal is to treat instrument as a special property (see also DM-27152) and allow for instruments to be associated with specific collections. If you are using collection "HSC/raw/all" then it is likely that a single instrument is relevant. If a collection happens to include data from multiple instruments it would not be associated with a defaulted instrument but that would be rare and in most cases would have been deliberately configured to be like that.
I have not thought through how we would modify collections to have this additional metadata or what would need to change to make use of this metadata.
Presumably raw ingest and calibration ingest would know how to declare the instrument for the collection (maybe complaining if a different instrument was already registered) and if we create an output collection it would have to be configured with the instrument from all the input collections.
The quantum graph builder and butler.get would have to look up the input collection and add the dataId.