MeerKAT SDP Code Repositories and Technical Documentation
This page contains links to ReadMe files in github repositories and other useful places where documentation can be found. It is for developers.
Software Modules | Description | Architecture/ design description | User Documentation |
---|---|---|---|
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. | See section 5 of the SP Design Description Document (M1400-0000-003) | n/a  | |
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. | n/a  | ||
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. | See section 5 of the SP Design Description Document (M1400-0000-003) | n/a | |
Receives visibilities via SPEAD and writes them to long term storage. | n/a | n/a | |
Raw data capture of MeerKAT beamformer data streams | See section 5 of the SP Design Description Document (M1400-0000-003) | n/a | |
Signal Displays | See section 5 of the SP Design Description Document (M1400-0000-003) | n/a | |
Capture sensors from CAM and store them using katsdptelstate | n/a | n/a | |
Calibration Pipeline | See section 5 of the SP Design Description Document (M1400-0000-003) | README for running without telescope for testing purposes. Produces a telstate file. | |
Assorted radio astronomy signal processing routines, with hardware acceleration. | n/a | ||
Continuum Imaging Pipeline | See section 5 of the SP Design Description Document (M1400-0000-003) | ||
katsdpimager is a GPU-accelerated spectral line imager for radio astronomy. | See section 5 of the SP Design Description Document (M1400-0000-003) | ||
Serialise a view of the Telescope State for a MeerKAT observation to long term storage. | n/a | n/a | |
This contains common code used by services that make up the telescope system, such as common logging setup. | n/a | n/a | |
Interfaces to access various models (such as sky models, primary beam models and so on) for processing radio astronomy data. The actual models are not stored here, just code. | n/a | ||
SDP Libraries | |||
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. | n/a | ||
Primary beam model library for the MeerKAT project, providing functionality to compute simplified beam patterns of MeerKAT antennas. | n/a | n/a | |
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. | See section 5 of the SP Design Description Document (M1400-0000-003) | ||
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. | n/a | ||
Simulators & Emulators | |||
katcbfsim is a correlator and beamformer simulator, which is intended to match the output formats used by the MeerKAT CBF. | See section 5 of the SP Design Description Document (M1400-0000-003) | ||
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). | See section 5 of the SP Design Description Document (M1400-0000-003) | n/a | |
This is a docker-compose environment for testing on a local machine. Detailed instructions on building the full set of SDP containers and running a fully simulated observation on your local infrastructure. | n/a |