APECS - The Atacama Pathfinder Experiment Control System
APECS is the distributed control system of the Atacama Pathfinder EXperiment (APEX) telescope located on the Llano de Chajnantor at an altitude of about 5100 m in the Atacama desert in northern Chile. APECS is based on parts of the Atacama Large Millimeter Array (ALMA) software and employs a modern, object-oriented design using the Common Object Request Broker Architecture (CORBA) as the middleware. Generic device interfaces simplify adding instruments to the control system.
The Python based observer command scripting language allows using many existing software libraries and facilitates creating more complex observing modes. A new self-descriptive raw data format (Multi-Beam FITS / MBFITS) has been defined to store the multi-beam, multi-frequency data. APECS provides an online pipeline for initial calibration and a graphical quick-look display. APECS is being used for regular science observations in local and remote mode since August 2005 and is still being developed to add new instruments and observing modes and to update the base software packages.
The APECS core components are organised as a pipeline system (see figure). Observations are defined using so-called Scan Objects which contain the full description of the next observation, i.e. the instrument setup details, target coordinate information and the desired observing patterns. The Scan Objects, that are created by the observer command line interface, are sent to the Observing Engine which sets up all necessary devices, controls the data acquisition and triggers the online data calibration, reduction and display.
Aside from this main functionality, we also developed a generic graphical monitoring tool to view any system property and its alarm states and an automatic observation logger that simplifies keeping detailed records of the target, instrument setup and observing mode used for each scan.
One of the most important initial steps in a software development project is to define the structure of packages and their interfaces. In a telescope control system there is an additional need for interfaces to all the hardware devices that are being used for the observations. We therefore collected information about typical setups at other radio observatories to eventually define a set of common instrument properties and methods.
An important design decision was to require that all instruments of the same kind (e.g. heterodyne receivers, spectral backends, etc.) must use the same high-level interface. This simplifies the code structure for the high-level observing software enormously because one merely adds a new instrument name without having to worry about adding new features at that level.
The APECS software is deployed at three main locations: the telescope itself, the control room at 5107 m altitude on Chajnantor and the control room in the APEX base camp in Sequitor near San Pedro de Atacama which is connected to the mountain via a microwave link.
Three main servers provide the APECS pipeline system including the distributed objects representing the hardware, the Observing Engine, the Raw Data Writer and the Calibrator. A number of client stations are used for local or remote observations from the high site, from the base camp and from the partner institutes in Europe.
One important aspect of the APECS software is the deployment in simulation mode on a single computer without the need for any real instrument hardware. This allows testing new developments in an end-to-end fashion exactly as if performed at the telescope.
Glendenning, B., Brooks, M., Chiozzi, G., Harris, G., Heald, R., Pisano, J., Pokorny, M. & Stauffer, F., 2001, Test Interferometer Control Software Design Concept, ALMA Report
Hafok, H., Muders, D. & Olberg, M., 2018, APEX SCPI Socket Command Syntax and Backend Data Stream Format, APEX Report APEX-MPI-ICD-0005, Rev. 1.1
Muders, D., 2019, APECS Observing & Operating Manual, APEX Report APEX-MPI-MAN-0011, Rev 4.1
Muders, D., 2019, APEX Instruments Generic CORBA IDL Interfaces, APEX Report APEX-MPI-IFD-0004, Rev. 4.0
Muders, D., Hafok, H., Wyrowski, F., Polehampton, E., Belloche, A., König C., Schaaf, R., Schuller, F., Hatchell, J., van der Tak, F., 2006, APECS - the Atacama pathfinder experiment control system, A&A, 454, L25
Muders, D., Hafok, H., Wyrowski, F., Polehampton, E., Belloche, A., König C., Schaaf, R., 2006, APECS - The Atacama Pathfinder Experiment Control System, ASPC, 351, 200
Muders, D., Hatchell, J., Lemke, R., Olberg, M. & Hafok, H., 2002, Software Interfaces for Submillimeter Telescope Instrumentation, APEX Report APEX-IFD-MPI-0001
Muders, D., Polehampton, E. & Hatchell, J., 2018, Multi-beam FITS Raw Data Format, APEX Report APEX-MPI-IFD-0002, Rev. 1.67
The Common Object Request Broker: Architecture and Specifications. Rev. 2.3, Framingham, MA, USA
Pardo, J. R., Cernicharo, J. & Serabyn, 2001, Atmospheric Transmission at Microwaves (ATM): An Improved Model for Millimeter/Submillimeter Applications, IEEE Trans. on Antennas and Propagation, 49, 1683
Muders, D., Hafok, H., Polehampton, E., 2019, APEX Calibration and Data Reduction Manual, APEX Report APEX-MPI-MAN-0012, Rev. 1.3
Raffi, G., Chiozzi, G. & Glendenning, B., 2001, The ALMA Common Software (ACS) as a basis for a distributed software development, ADASS XI
Rossum, G. v., Drake Jr., F.L., 2010, Python Reference Manual, Release 2.7.14, http://docs.python.org/release/2.7.14