Notation, Models and Other Cosmological Conventions

The documentation here is provides a brief description of CCL and its contents. For a more thorough description of the underlying equations CCL implements, see the CCL note and the CCL paper.

Cosmological Parameters

CCL uses the following parameters to define the cosmological model.

Background Parameters

  • Omega_c: the density fraction at z=0 of CDM
  • Omega_b: the density fraction at z=0 of baryons
  • h: the Hubble constant in units of 100 Mpc/km/s
  • Omega_k: the curvature density fraction at z=0
  • Omega_g: the density of radiation (not including massless neutrinos)
  • w0: first order term of the dark energy equation of state
  • wa: second order term of the dark energy equation of state

Power Spectrum Normalization

The power spectrum normalization is given either as A_s (i.e., the primordial amplitude) or as sigma8 (i.e., a measure of the amplitude today). Note that not all transfer functions support specifying a primordial amplitude.

  • sigma8: the normalization of the power spectrum today, given by the RMS variance in spheres of 8 Mpc/h
  • A_s: the primordial normalization of the power spectrum at k=0.05 Mpc \(^{-1}\)

Relativistic Species

  • Neff: effective number of massless+massive neutrinos present at recombination
  • m_nu: the total mass of massive neutrinos or the masses of the massive neutrinos in eV
  • m_nu_type: how to interpret the m_nu argument, see the options below
  • T_CMB: the temperature of the CMB today

Modified Gravity Parameters

  • mu_0 and sigma_0: the parameters of the scale-independent \(\mu-\Sigma\) modified gravity model
  • df_mg and z_mg: arrays of perturbations to the GR growth rate f as a function of redshift

Supported Models for the Power Spectrum, Mass Function, etc.

pyccl accepts strings indicating which model to use for various physical quantities (e.g., the transfer function). The various options are as follows.

transfer_function options

  • None : do not compute a linear power spectrum
  • ‘eisenstein_hu’: the Eisenstein and Hu (1998) fitting function
  • ‘bbks’: the BBKS approximation
  • ‘boltzmann_class’: use CLASS to compute the transfer function
  • ‘boltzmann_camb’: use CAMB to compute the transfer function (default)

matter_power_spectrum options

  • ‘halo_model’: use a halo model
  • ‘halofit’: use HALOFIT (default)
  • ‘linear’: neglect non-linear power spectrum contributions
  • ‘emu’: use the Cosmic Emu

baryons_power_spectrum options

  • ‘nobaryons’: neglect baryonic contributions to the power spectrum (default)
  • ‘bcm’: use the baryonic correction model

mass_function options

  • ‘tinker’: the Tinker et al. (2008) mass function
  • ‘tinker10’: the Tinker et al. (2010) mass function (default)
  • ‘watson’: the Watson et al. mass function
  • ‘angulo’: the Angulo et al. mass function
  • ‘shethtormen’: the Sheth and Tormen mass function

halo_concentration options

  • ‘bhattacharya2011’: Bhattacharya et al. (2011) relation
  • ‘duffy2008’: Duffy et al. (2008) relation (default)
  • ‘constant_concentration’: use a constant concentration

m_nu_type options

This parameter specifies the model for massive neutrinos.

  • ‘list’: specify each mass yourself in eV
  • ‘normal’: use the normal hierarchy to convert total mass to individual masses (default)
  • ‘inverted’: use the inverted hierarchy to convert total mass to individual masses
  • ‘equal’: assume equal masses when converting the total mass to individual masses

emulator_neutrinos options

This parameter specifies how to handle inconsistencies in the treatment of neutrinos between the Cosmic Emu (equal masses) and other models.

  • ‘strict’: fail unless things are absolutely consistent (default)
  • ‘equalize’: redistribute the total mass equaly before using the Cosmic Emu. This option may result in slight internal inconsistencies in the physical model assumed for neutrinos.

Controlling Splines and Numerical Accuracy

The internal splines and integration accuracy are controlled by the attributes of Cosmology.cosmo.spline_params and Cosmology.cosmo.gsl_params. These should be set after instantiation, but before the object is used. For example, you can set the generic relative accuracy for integration by executing c = Cosmology(...); c.cosmo.gsl_params.INTEGRATION_EPSREL = 1e-5. The default values for these parameters are located in src/ccl_core.c.

The internal splines are controlled by the following parameters.

  • A_SPLINE_NLOG: the number of logarithmically spaced bins between A_SPLINE_MINLOG and A_SPLINE_MIN.
  • A_SPLINE_NA: the number of linearly spaced bins between A_SPLINE_MIN and A_SPLINE_MAX.
  • A_SPLINE_MINLOG: the minimum value of the scale factor splines used for distances, etc.
  • A_SPLINE_MIN: the transition scale factor between logarithmically spaced spline points and linearly spaced spline points.
  • A_SPLINE_MAX: the the maximum value of the scale factor splines used for distances, etc.
  • LOGM_SPLINE_NM: the number of logarithmically spaced values in mass for splines used in the computation of the halo mass function.
  • LOGM_SPLINE_MIN: the base-10 logarithm of the minimum halo mass for splines used in the computation of the halo mass function.
  • LOGM_SPLINE_MAX: the base-10 logarithm of the maximum halo mass for splines used in the computation of the halo mass function.
  • LOGM_SPLINE_DELTA: the step in base-10 logarithmic units for computing finite difference derivatives in the computation of the mass function.
  • A_SPLINE_NLOG_PK: the number of logarithmically spaced bins between A_SPLINE_MINLOG_PK and A_SPLINE_MIN_PK.
  • A_SPLINE_NA_PK: the number of linearly spaced bins between A_SPLINE_MIN_PK and A_SPLINE_MAX.
  • A_SPLINE_MINLOG_PK: the minimum value of the scale factor used for the power spectrum splines.
  • A_SPLINE_MIN_PK: the transition scale factor between logarithmically spaced spline points and linearly spaced spline points for the power spectrum.
  • K_MIN: the minimum wavenumber for the power spectrum splines for analytic models (e.g., BBKS, Eisenstein & Hu, etc.).
  • K_MAX: the maximum wavenumber for the power spectrum splines for analytic models (e.g., BBKS, Eisenstein & Hu, etc.).
  • K_MAX_SPLINE: the maximum wavenumber for the power spectrum splines for numerical models (e.g., ComsicEmu, CLASS, etc.).
  • N_K: the number of spline nodes per decade for the power spectrum splines.
  • N_K_3DCOR: the number of spline points in wavenumber per decade used for computing the 3D correlation function.
  • ELL_MIN_CORR: the minimum value of the spline in angular wavenumber for correlation function computations with FFTlog.
  • ELL_MAX_CORR: the maximum value of the spline in angular wavenumber for correlation function computations with FFTlog.
  • N_ELL_CORR: the number of logarithmically spaced bins in angular wavenumber between ELL_MIN_CORR and ELL_MAX_CORR.

The numerical accuracy of GSL computations is controlled by the following parameters.

  • N_ITERATION: the size of the GSL workspace for numerical integration.
  • INTEGRATION_GAUSS_KRONROD_POINTS: the Gauss-Kronrod quadrature rule used for adaptive integrations.
  • INTEGRATION_EPSREL: the relative error tolerance for numerical integration; used if not specified by a more specific parameter.
  • INTEGRATION_LIMBER_GAUSS_KRONROD_POINTS: the Gauss-Kronrod quadrature rule used for adaptive integrations on subintervals for Limber integrals.
  • INTEGRATION_LIMBER_EPSREL: the relative error tolerance for numerical integration of Limber integrals.
  • INTEGRATION_DISTANCE_EPSREL: the relative error tolerance for numerical integration of distance integrals.
  • INTEGRATION_SIGMAR_EPSREL: the relative error tolerance for numerical integration of power spectrum variance intrgals for the mass function.
  • ROOT_EPSREL: the relative error tolerance for root finding used to invert the relationship between comoving distance and scale factor.
  • ROOT_N_ITERATION: the maximum number of iterations used to for root finding to invert the relationship between comoving distance and scale factor.
  • ODE_GROWTH_EPSREL: the relative error tolerance for integrating the linear growth ODEs.
  • EPS_SCALEFAC_GROWTH: 10x the starting step size for integrating the linear growth ODEs and the scale factor of the initial condition for the linear growth ODEs.
  • HM_MMIN: the minimum mass for halo model integrations.
  • HM_MMAX: the maximum mass for halo model integrations.
  • HM_EPSABS: the absolute error tolerance for halo model integrations.
  • HM_EPSREL: the relative error tolerance for halo model integrations.
  • HM_LIMIT: the size of the GSL workspace for halo moodel integrations.
  • HM_INT_METHOD: the Gauss-Kronrod quadrature rule used for adaptive integrations for the halo model comptutations.

Specifying Physical Constants

The values of physical constants are set globally. These can be changed by assigning a new value to the attributes of pyccl.physical_constants. The following constants are defined and their default values are located in src/ccl_core.c. Note that the neutrino mass splittings are taken from Lesgourgues & Pastor (2012; 1212.6154). Also, see the CCL note for a discussion of the values of these constants from different sources.

basic physical constants

  • CLIGHT_HMPC: speed of light / H0 in units of Mpc/h
  • GNEWT: Newton’s gravitational constant in units of m^3/Kg/s^2
  • SOLAR_MASS: solar mass in units of kg
  • MPC_TO_METER: conversion factor for Mpc to meters.
  • PC_TO_METER: conversion factor for parsecs to meters.
  • RHO_CRITICAL: critical density in units of M_sun/h / (Mpc/h)^3
  • KBOLTZ: Boltzmann constant in units of J/K
  • STBOLTZ: Stefan-Boltzmann constant in units of kg/s^3 / K^4
  • HPLANCK: Planck’s constant in units kg m^2 / s
  • CLIGHT: speed of light in m/s
  • EV_IN_J: conversion factor between electron volts and Joules
  • T_CMB: temperature of the CMB in K
  • TNCDM: temperature of the cosmological neutrino background in K

neutrino mass splittings

  • DELTAM12_sq: squared mass difference between eigenstates 2 and 1.
  • DELTAM13_sq_pos: squared mass difference between eigenstates 3 and 1 for the normal hierarchy.
  • DELTAM13_sq_neg: squared mass difference between eigenstates 3 and 1 for the inverted hierarchy.