Installation

Quickstart

We recommend using Spaceborne in a dedicated conda environment. This ensures all dependencies are properly managed. Start by cloning the repository, then run

$ conda env create -f environment.yaml
$ conda activate spaceborne
$ pip install .

Notes

  • Using mamba instead of conda in the first line will significantly speed up the environment creation. To install mamba, run conda install mamba in your base environment.

  • The environment is designed to already include all the packages required by the Spaceborne dependencies (see below), so this should be the only step needed. If you decide not to use a given package, you can remove its dependencies from the environment.yaml file (comments are provided). If, on the other hand, you encounter installation issues with a particular package (both CCL and NaMaster have a C engine, which may require some additional libraries), please refer to the official documentation of the package in question. As an example, some installation issues with CCL can be solved by running

    $ sudo apt-get install gfortran cmake build-essential autoconf bison
    

    on Linux and

    $ brew install gfortran cmake build-essential autoconf bison
    

    on OSX.

  • Finally, please note that these instructions have only been tested for Linux and OSX systems.

Main dependencies

Spaceborne leverages several public packages for some of its functionalities. As much as possible, the dependencies are isolated and the relevant packages are only imported when needed. A notable exception is CCL, which is always imported and therefore needs to be installed for the code to run.

  • CCL. The code relies heavily on the CCL library for the computation of the background evolution, radial kernels, angular power spectra, halo model, and connected trispectrum. This is the main dependency of the code, and it is mandatory to run it.

  • CLOE. [WORK IN PROGRESS]. Alternatively, the code can use the CLOE library as a backend for the calculation of the background evolution, radial kernels and angular power spectra. Note that also in this case, the halo mode quantities and connected trispectra will still be computed with CCL.

  • pylevin [GitHub]. This package is used to perform the integrals involving Bessel functions, namely the survey covariance \(\sigma_b^2(z_1, z_2)\) and the real-space covariance, using the Levin method (see 2502.12142) The use of this package is optional, and the code will fall back to a simpson integration if pylevin is not installed.

  • NaMaster [GitHub]. This package is used to compute the partial-sky Gaussian covariance in the NKA or iNKA approximation, using the pseudo-\(C_\ell\) framework (see 1809.09603).