MeerKAT Science Data Processor Controller - provides central control and monitoring services for the SDP.
The master controller is the first component to start, and last to stop, in the SDP software stack. It is responsible for bringup and shutdown of all subordinate processes and plays the central management role in the SDP.
All ingest processes are configured and controlled via the master controller.
spead2 is an implementation of the SPEAD protocol, with both Python and C++ bindings. The 2 in the name indicates that this is a new implementation of the protocol; the protocol remains essentially the same.
Receives SPEAD data streams from the CBF. Principle function is to time and frequency average data into need onward streams (typically a 1k continuum and 32k spectral product), as well as performing a first pass 1-D (single timestamp) RFI flagging, and producing data to drive the real-time signal displays.
This package serves as a data access library to interact with the chunk stores and HDF5 files produced by the MeerKAT radio telescope and its predecessors (KAT-7 and Fringe Finder), which are collectively known as MeerKAT Visibility Format (MVF) data sets. It uses memory carefully, allowing data sets to be inspected and partially loaded into memory. Data sets may be concatenated and split via a flexible selection mechanism. In addition, it provides a script to convert these data sets to CASA MeasurementSets.
Coordinate library for the MeerKAT project, providing astronomical coordinate transformations, antenna pointing models, correlator delay models, source flux models and basic source catalogues, using an existing coordinate library such as PyEphem to do the low-level calculations.
This is a client package that allows connection to the Redis database that stores telescope state information for the Science Data Processor of the MeerKAT radio telescope. This database is colloquially known as telstate.
aiokatcp is an implementation of the katcp protocol based around the Python asyncio system module. It requires Python 3.6 or later. It is loosely inspired by the Python 2 bindings, but has a much narrower scope.
For our purposes kattelmod defines a simulated telescope system with the ability to mix in real and fake components as needed. Once a system configuration has been defined, it allows telescope schedule block scripts to be run and fully exercise the components (with a focus on SDP).