This page gives an overview of the process that takes DiaSources generated by difference imaging, updates the Level 1 Database, and generates alerts that are sent to the community.
Baseline Documents
The primary documents are:
Inputs
- DiaSources from difference imaging
- Current Level 1 Database
- NightMOPS-predicted SSObject locations
- Pre-generated dump from Level 1 Database of all DiaObjects in image area (with some fuzz), including all previous DiaSources
- Pre-generated dump from Level 2 Database from last Data Release of all Objects in image area (with some fuzz)
Overall Process
Most of this is laid out in detail in the Data Products Definition Document. As long as DiaSource measurement on the boundaries of an image area (e.g. CCD) are well-defined (TBD: how will edges be handled?), this process appears to be parallelizable.
- Associate the DiaSources with a (single) best-fit DiaObject or SSObject each. (TBD: exact association algorithm)
- For all associated DiaSources:
- Retrieve all past DiaSources.
- If DiaSource is associated with an SSObject:
- Update SSObject with DiaSource properties. (TBD: not mentioned explicitly in LSE-163; can this wait for DayMOPS?)
- If DiaSource is not associated:
- Create a new DiaObject
- For all unassociated DiaObjects:
- Do forced measurement on difference image, calibrated image (for fpFlux), and difference of snaps (diffFlux), generating new DiaSource
- Note that this is a normal DiaSource, not a ForcedDiaSource (which does not exist any more), but it may need to have a flag set to indicate that it was forced.
- Update all DiaSources with their associated DiaObject identifier.
- Insert all normal and forced measurement DiaSources into Level 1 Database.
- For all DiaObjects:
- (Re)compute DiaObject measurements from DiaSources.
- Ingest DiaObjects into Level 1 Database: as one transaction, invalidate previous DiaObject row and insert new DiaObject row.
- Issue alert for each DiaSource with contents:
- Alert Identifier
- Level 1 Database Identifier
- DiaSource contents
- DiaObject or SSObject contents
- All previous DiaSources (including any new precovery forced measurements)
- Difference image cutout
- Template image cutout
- Image metadata
- Note that no calibrated image cutout is included.
- Package alerts into VOEvent or other relevant standard.
- Transmit VOEvents to public VOEvent brokers via pre-configured transport protocol and internal LSST filtering service.
- Internal LSST filtering service executes pre-configured per-user filters for each alert.
- If filter returns True, alert is forwarded to user via pre-configured transport protocol.
- During the next day, for all unassociated DiaSources
- Do precovery forced measurement on 30-day difference image cache, creating additional forced DiaSources.
- The note above about forced DiaSources applies here as well.
- TBD: Do we cache difference images or just calibrated images and parameters to recompute difference images?
- TBD: DiaSources include data from (differences of) snaps (diffFlux); those have to be cached as well
- Do precovery forced measurement on 30-day difference image cache, creating additional forced DiaSources.