Visibility Receive Workflow

This is a simple C code for a visibility receiver capable of receiving UDP-based SPEAD (Streaming Protocol for Exchanging Astronomical Data) streams containing the item identifiers specified in the of the SDP-CSP ICD.

This code was originally written for the SKA Science Data Processor Integration Prototype and copied to this repository.

More information about SPEAD can be found here https://casper.ssl.berkeley.edu/astrobaki/images/9/93/SPEADsignedRelease.pdf

Dependencies

Build Instructions

To build the code on a local machine, ensure make and CMake are both installed and give the following commands from the current directory:

mkdir build
cd build
cmake ..
make

To run the unit tests from the build directory, either run

ctest

or run the unit test binary directly using:

./test/recv_test

Test Instructions

Starting the receiver

Run natively with:

./recv -d .

or with Docker:

docker run -t --rm \
    -p 41000:41000/udp \
    -v $(pwd)/output:/app/output \
    --env USER=orca \
    nexus.engageska-portugal.pt/sdp-prototype/vis-receive:latest

Staring the sender

python3 send.py