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

Software Modules

Description

Architecture/ design description

User Documentation

katsdpcontroller

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

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

 

SPEAD-2 Documentation

katsdpingest

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

katsdpdatawriter

Receives visibilities via SPEAD and writes them to long term storage.

n/a

n/a

katsdpbfingest

Raw data capture of MeerKAT beamformer data streams

See section 5 of the SP Design Description Document (M1400-0000-003)

n/a

katsdpdisp

Signal Displays

See section 5 of the SP Design Description Document (M1400-0000-003)

n/a

katsdpcam2telstate

Capture sensors from CAM and store them using katsdptelstate

n/a

n/a

katsdpcal

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. 

katsdpsigproc

Assorted radio astronomy signal processing routines, with hardware acceleration.

n/a

readthedocs

katsdpcontim

Continuum Imaging Pipeline

See section 5 of the SP Design Description Document (M1400-0000-003)

README

katsdpimager

katsdpimager is a GPU-accelerated spectral line imager for radio astronomy. 

See section 5 of the SP Design Description Document (M1400-0000-003)

readthedocs

katsdpmetawriter

Serialise a view of the Telescope State for a MeerKAT observation to long term storage.

n/a

n/a

katsdpservices

This contains common code used by services that make up the telescope system, such as common logging setup.

n/a

n/a

katsdpmodels

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

readthedocs

SDP Libraries

katdal

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.

Data Models

MVFv4 Documentation

katpoint

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

readthedocs

katbeam

Primary beam model library for the MeerKAT project, providing functionality to compute simplified beam patterns of MeerKAT antennas.

n/a

n/a

katsdptelstate

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)

readthedocs

aiokatcp

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

readthedocs

Simulators & Emulators

katcbfsim

katcbfsim is a correlator and beamformer simulator, which is intended to match the output formats used by the MeerKAT CBF.

Simulators & Emulators



See section 5 of the SP Design Description Document (M1400-0000-003)

readthedocs

kattelmod

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).

Simulators & Emulators



See section 5 of the SP Design Description Document (M1400-0000-003)

n/a

Master Controller Sandbox

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

README 

Related pages