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
mambainstead ofcondain the first line will significantly speed up the environment creation. To installmamba, runconda install mambain yourbaseenvironment.The environment is designed to already include all the packages required by the
Spacebornedependencies (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 theenvironment.yamlfile (comments are provided). If, on the other hand, you encounter installation issues with a particular package (bothCCLandNaMasterhave 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 withCCLcan 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 theCCLlibrary 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 theCLOElibrary 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 withCCL.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 ifpylevinis 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).