ASPCS
 
Back to Volume
Paper: Real-time Data Ingestion at the Keck Observatory Archive (KOA)
Volume: 538, ADASS XXXII
Page: 169
Authors: G. Bruce Berriman; M. Brodheim; M. Brown; L. Fuhrman; C. R. Gelino; M. Kong; C.-H. Lee; M. S. Lynn; J. Mader; T. Oluyide; M. A. Swain; T. Tucker; A. Laity; J. Riley
DOI: 10.26624/MAAY3808
Abstract:

Since 2004, KOA has ingested data acquired at the Keck Observatory telescopes in Hawaii at the end of each night’s observations: data are prepared at WMKO for ingestion, then transmitted to the archive at NExScI. For some instruments for which an automated reduction pipeline was available, KOA created reduced products intended for quick-look purposes.

In February of this year, KOA began to prepare, transfer, and ingest data as they were acquired in near-real time. In most cases data were available to observers through KOA within one minute of acquisition. Real-time ingestion will be complete for all active instruments by the end of Summer 2022. The observatory is supporting the development of modern Python data reduction pipelines, which when delivered, will automatically create science-ready data sets at the end of each night for ingestion into the archive. This presentation will describe the infrastructure developed to support real-time data ingestion, itself part of a larger initiative at the Observatory to modernize end-to-end operations.

During telescope operations, the software at WMKO is executed automatically when a newly acquired file is recognized through monitoring a keyword-based observatory control system; this system is used at Keck to execute virtually all observatory functions. The monitor uses callbacks built into the control system to begin data prepa- ration of files for transmission to the archive on an individual basis; scheduling scripts or file system-related triggers are unnecessary. An HTTP-based system called from the Flask micro-framework enables file transfers between WMKO and NExScI and triggers data ingestion at NExScI. The ingestion system at NEXScI is a compact (4 KLOC), highly fault-tolerant, Python-based system. It uses a shared file system to transfer data from WMKO to NExScI. The ingestion code is instrument agnostic, with instrument parameters read from configuration files. It replaces an unwieldy (50 KLOC) C-based system that had been in use since 2004.

Real-time ingestion will enable observers to access their data almost as they are acquired, and positions KOA to support the science of transient, time-varying sources measured with facilities such as Zwicky Transient Factory and the Rubin Observatory (when operational), and to support discovery of electromagnetic counterparts to multi-messenger sources.

Back to Volume