AngPow method

You can run PySSC with the AngPow method.
To do so requires steps outlined below.
Note that the computation with AngPow is currently slower than with the classic method and you thus need access to a computer with several cores to parallelise the computation.

Installation

Requirements

  • Python modules: time, os, shutil, mpi4py

  • Linux Ubuntu packages: g++, libfftw3-dev, mpich

Installing

After cloning the PySSC git repository using the –recurse-submodules argument, move to the AngPow directory and compile the AngPow method: .. code-block:

git clone --recurse-submodules https://github.com/fabienlacasa/PySSC.git
cd PySSC/AngPow
make

Notes

  • By default, the code runs locally and uses the number of threads defined in the environment variable OMP_NUM_THREADS

  • You need to have a python executable called python, or make a symbolic link to your python executable

  • You need to tell Class to go to high wavenumbers: add 'P_k_max_h/Mpc':20 to the dictionnary fed as cosmo_Class input

Use

The following example computes the full sky Sij matrix for top-hat redshift bins, using the AngPow method

By default AngPow uses a number of threads defined by the OMP_NUM_THREADS environment variable. You can localy set this variable by passing the Np parameter to PySSC.Sij:

For a parallel computation of PySSC with the AngPow method (using mpi4py), you must provide a path to a text file storing the IP addresses of all the nodes in the cluster network, and associated number of threads. An example is given in AngPow_tools/machinefile_example. On top of this machinefile path, the Number of threads Nn on which you want the AngPow routine to be run in mpi must be passed to PySSC.Sij:

Concerning the partial sky coverage, the same arguments as in the classical method can be used.