Draft for review. This page describes the current AIMS handling of Vera C. Rubin Observatory / LSST alert detections.
Source summary
Rubin Observatory describes LSST alerts as products of the Prompt Processing pipeline. Alert packets contain measurements associated with detections of time-variable sources in difference images; Rubin states that alert packets are world-public and have no proprietary period.
The LSST Alert Production Database schema describes DiaSource rows as difference-image sources detected at signal-to-noise ratio >= 5, with fields such as diaSourceId, midpointMjdTai, ra, dec, raErr, decErr, psfFlux, psfFluxErr, band, and ssObjectId.
How AIMS accesses LSST alerts
AIMS receives LSST alert data through broker-backed BigQuery tables. In production, AIMS is configured to use the Pitt alert broker source for the full LSST alert stream. Non-production environments may use simulated LSST alert tables for development and testing.
AIMS stages LSST alerts through three daily surfaces:
- Raw-lite alerts — selected alert-packet fields are copied into a compact daily BigQuery table.
- Candidates — raw-lite rows are filtered for moving-source relevance and PSF quality.
- AIMS LSST — candidate rows are converted into the canonical AIMS observation schema.
AIMS date range and observatory
- AIMS LSST partition start defaults to 2025-09-01.
- AIMS treats LSST as active/continuing.
- AIMS observatory code:
X05.
AIMS filtering
AIMS first copies selected alert fields for a daily kafkaPublishTimestamp window.
The candidate filter keeps rows that pass PSF quality checks and satisfy either a solar-system association or a PSF signal-to-noise threshold:
- PSF flux quality flags must pass:
psfFlux_flagis not set;psfFlux_flag_edgeis not set;psfFlux_flag_noGoodPixelsis not set.
- Then either:
ssObjectId IS NOT NULL; orpsfFlux / psfFluxErr >= 5.0.
The final AIMS publication step also requires:
midpointMjdTai IS NOT NULL;ra IS NOT NULL;dec IS NOT NULL.
AIMS-derived and normalized values
| AIMS field | LSST source or derivation |
|---|---|
observation_id | lsst:<diaSourceId>. |
exposure_id | lsst:<visit>-<detector>, using null text for missing components. |
dataset_id | Constant lsst. |
observatory_code | Constant X05. |
| Observation time | midpointMjdTai converted from TAI MJD to UTC MJD/timestamp. |
exposure_duration_s | Defaults to 30 seconds. |
ra_deg, dec_deg | ra, dec. |
ra_sigma_deg, dec_sigma_deg | raErr, decErr. |
mag | AB magnitude derived from calibrated psfFlux in nJy. |
mag_sigma | First-order propagated AB magnitude uncertainty from psfFluxErr. |
filter | band. |
healpixel | Downsampled from LSST healpix19 to nside=128 NESTED. |
Time conversion
LSST alert source times are expressed as TAI MJD. AIMS converts them to UTC using a leap-second-aware TAI-to-UTC conversion derived from Asteroid Institute time utilities. A fixed TAI-UTC offset can be configured operationally, but the preferred behavior is leap-second-aware conversion.
Photometric conversion
AIMS converts positive calibrated PSF fluxes in nJy to AB magnitudes using:
m_AB = -2.5 * log10(psfFlux_nJy) + 31.4
AIMS converts flux uncertainty to magnitude uncertainty with the first-order approximation:
sigma_mag = (2.5 / ln(10)) * psfFluxErr / psfFlux
AIMS stores null magnitudes when psfFlux <= 0, and stores null magnitude uncertainties when the flux or uncertainty is not physically usable for this conversion.
HEALPix conversion
LSST candidate rows carry a NESTED healpix19 value. AIMS stores nside=128 NESTED HEALPix by integer downsampling:
healpixel = floor(healpix19 / 16,777,216)
Known limitations and interpretation notes
- AIMS LSST rows are alert-derived prompt detections, not a full LSST data release catalog.
- Difference-image flux can be negative; AIMS only derives AB magnitude for positive PSF flux values.
- The AIMS candidate filter prioritizes moving-source relevance and operational reliability; it is not a substitute for Rubin’s full alert packet or downstream broker classifications.
- Source schema versions and broker delivery details can change over time. Version-specific changes should be added to this page as they affect AIMS fields or filters.