Installation

Installation is possible using either conda or spack as a package and environment manager. - Installation instructions for miniconda can be found here. - Installation instructions for spack can be found here.

Installation using conda

  1. A new environment can be created using conda and a valid python version:

conda create --name self-cal python=3.11
  1. Activate the new environment:

conda activate self-cal
  1. Clone the repository, including SKA submodules, with SSH:

git clone --recurse-submodules git@gitlab.com:ska-telescope/sdp/science-pipeline-workflows/ska-sdp-distributed-self-cal-prototype.git

or with HTTPS:

git clone --recurse-submodules https://gitlab.com/ska-telescope/sdp/ska-sdp-distributed-self-cal-prototype.git

Submodules are required for use with SKA Makefiles and make commands.

  1. Navigate to the project directory:

cd ska-sdp-distributed-self-cal-prototype
  1. Install poetry (v1.5.1 or later is required) using pip:

pip install poetry
  1. Install project dependencies using poetry:

poetry install

Installation using spack

  1. Clone the repository, including SKA submodules, with SSH:

git clone --recurse-submodules git@gitlab.com:ska-telescope/sdp/science-pipeline-workflows/ska-sdp-distributed-self-cal-prototype.git

or with HTTPS:

git clone --recurse-submodules https://gitlab.com/ska-telescope/sdp/ska-sdp-distributed-self-cal-prototype.git

Submodules are required for use with SKA Makefiles and make commands.

  1. Navigate to the project directory:

cd ska-sdp-distributed-self-cal-prototype
  1. Add spack recipe included in this repo to spack (N.B. in the future this will be moved to the ska-sdp-spack repo which contains spack recipes for various software packages)

spack repo add repos/ska-sdp-distributed-self-cal-prototype/spack
  1. A new spack environment can be created using spack env create:

spack env create self-cal
  1. Activate the new environment:

spack env activate self-cal
  1. Add the latest py-ska-sdp-distributed-self-cal-prototype package to the environment (with gcc@12.3.0 as an example compiler):

spack add py-ska-sdp-distributed-self-cal-prototype@latest %gcc@12.3.0
  1. Check package is added

spack find
  1. Concretize then install. This may take several hours the first time since everything is compiled from scratch. Subsequent runs should take seconds.

spack concretize
spack install

If you run into issues with the spack install step it might be an issue with the gcc version you are using. Check that gcc 12.3.0 is available to spack and if not install it using spack and the gcc version that is available before installing this package.

  1. Install project dependencies using poetry (these dependencies will be moved into the spack recipe in the future):

poetry install