Wiki

Clone wiki

cosmosis / default_modules / project_2d_1.0

project_2d module

Project 3D power spectra to 2D tomographic bins using the Limber approximation

Name: project_2d

File: cosmosis-standard-library/structure/projection/project_2d.py

Version: 1.0

Author(s):

  • CosmoSIS Team

URL:

Cite:

Rules:

Assumptions:

  • The Limber approximation is reasonable for the fields being integrated
  • Flat sky approximation
  • GR is assumed in various ways

Explanation

The Limber approximation integrates a 3D power spectrum over the radial
direction to get a 2D angular power spectrum. It is an approximation
which is only valid on smaller scales.

C_\ell = A \int_0^{\chi_1} W_1(\chi) W_2(\chi) P(k=(l+0.5)/\chi, z(\chi)) / chi^2 d\chi

The full integral must integrate over k(\ell) also.
This module is a python interface to a Limber integrator written in C, and can
generate a range of different spectra depending on what options you set.

It can generate spectra for any pair of
(Shear, Position, Intrinsic, Magnification, Cmbkappa)
though beware that for certain combinations and scales the Limber approximation will
be inaccurate.

Depending which spectra you ask for, it will look for different input P(k) value:

Option name                      Input-3d-spectrum                  Default output name

shear-shear                       matter_power_nl                   shear_cl  
shear-intrinsic                   matter_intrinsic_power            shear_cl_gi  
intrinsic-intrinsic               intrinsic_power                   shear_cl_ii  
position-position                 galaxy_power                      galaxy_cl  
magnification-position            matter_galaxy_power               magnification_galaxy_cl  
magnification-magnification       matter_power_nl                   magnification_cl  
position-shear                    matter_galaxy_power               galaxy_shear_cl  
position-intrinsic                galaxy_intrinsic_power            galaxy_intrinsic_cl  
magnification-intrinsic           matter_intrinsic_power            magnification_intrinsic_cl  
magnification-shear               matter_power_nl                   magnification_shear_cl  
shear-cmbkappa                    matter_power_nl                   shear_cmbkappa_cl  
cmbkappa-cmbkappa                 matter_power_nl                   cmbkappa_cl  
intrinsic-cmbkappa                matter_intrinsic_power            intrinsic_cmbkappa_cl  
position-cmbkappa                 matter_galaxy_power               galaxy_cmbkappa_cl

For each of the spectra listed above you can set a parameter in the parameter file
to describe whether that term should be calculated and what input n(z) and output
names should be used for it.

You can set either:
shear-shear = T ; to use the default wl_number_density n(z) section and save to default shear_cl
shear-shear = euclid-ska ; to cross-correlate n(z) from nz_euclid and nz_ska sections, and save to shear_cl
shear-shear = red-red:shear_cl_red ; to auto-correlate n(z) from the nz_red section and then save to shear_cl_red

If no spectra are chosen at all then only "shear-shear=T" is assumed.

The same forms can be used for all the other spectra, though note that the magnification spectra
also require information on the luminosity function.

Parts of this code and the underlying implementation of limber are based on cosmocalc:
https://bitbucket.org/beckermr/cosmocalc-public
This is a python version of the shear/spectra module with some attempt made to rationalize
the names of modules.

##Parameters

These parameters can be set in the module's section in the ini parameter file.
If no default is specified then the parameter is required.

Parameter Description
verbose Bool, default=F, print more output.
get_kernel_peaks Bool, default=F, save peak positions for the computed kernels
ell_min Real, minimum ell value
ell_max Real, maximum ell value
n_ell Real, number of log-spaced C_ell values produced
shear-shear String or Bool. See note in the explanation above for this and related parameters
limber_abs_tol Real, default=0.0, absolute tolerance for the Limber integral
limber_rel_tol Real, default=1e-3, relative tolerance for the Limber integral

##Inputs

These parameters and data are inputs to the module, either supplied as parameters by the sampler or computed by some previous module. They are loaded from the data block.

Section Parameter Description
matter_power_nl NOTE Many inputs P(k) sections may be required depending on what C_ell spectra are requested - see above.
k_h real 1D array, sample values of nonlinear spectrum in Mpc/h
z real 1D array, redshift of nonlinear spectrum samples
P_k real 2D array, nonlinear spectrum in (Mpc/h)^{-3}
distances z Real 1D array, redshift samples of d_m
a Real 1D array, scale factor samples of d_m
d_m Real 1D array, comoving distance to sample points.
cosmological_parameters h0 The Hubble parameter H0/100 km/s/Mpc
chi_star Real. Only needed if doing CMB Kappa spectra.
wl_number_density NOTE A different section name to wl_number_density will be used depending on the options chose (see above)
z Real 1D array, eedshift samples of binned n(z)
nbin Integer, number of tomographic bins used
bin_{i} Real 1D arrays, for i=1..nbin. n(z) samples for each tomographic bin.

##Outputs

These parameters and data are computed as outputs from the module

Section Parameter Description
shear_cl NOTE Various sections will have these outputs depending on the options chosen
nbin_a integer, Number of tomographic bins for first of the two quantities correlated
nbin_b integer, Number of tomographic bins for second of the two quantities correlated
nbin integer, only if auto-correlation is calculated. Number of tomographic bins for the quantity (nbin=nbin_a=nbin_b)
ell integer 1d array, values at which c_ell are calculated
bin_{i}_{j} real 1d arrays for relevant i and j combinations. C_ell calculated at corresponding ell.
chi_peak_{i}_{j} real, only if get_kernel_peaks=T. Peak of the n(z) or w(z) for this bin combination
arcmin_per_Mpch_{i}_{j} real, only if get_kernel_peaks=T. Conversion factor from mpc/h to arcmin for this bin

Updated