Navigating the Code¶
The CCL package is laid out as follows.
.travis/
: helper scripts for running tests on Travis-CIbenchmarks/
: source code and data for the benchmark tests, see Writing and Running Benchmarks for more details.cmake/
:CMake
modules for building the CCLC
layerdoc/
: latex source for the CCL note and the CCL paperexamples/
: (possible outdated) examples of how to use CCLinclude/
: CCLC
layer header filespyccl/
: the CCLPython
packagereadthedocs/
: the CCLRead the Docs
sourcesrc/
: the CCLC
layer source codesetup.py
: thePython
install scriptCMakeLists.txt
: theCMake
installation configuration.travis.yml
: the Travis-CI configurationCHANGELOG.md
: the CCL log of changes to the code
Locations of Core Cosmological Quantities¶
Here we describe briefly the locations of the computations of core cosmological
quantities. Usually each of these C
files has a corresponding Python
file,
SWIG
interface file, and C
header file. However this is not always true
for various reasons.
ccl_background.c
: computations of growth functions, the Hubble function and distancesccl_core.c
: functions to handle cosmology structures and parametersccl_error.c
: functions to help handleC
-layer errorsccl_bbks.c
: the BBKS transfer functionccl_f1d.c
: 1-d interpolations inC
ccl_f2d.c
: 2-d interpolations inC
ccl_power.c
: code to spline and initialize the power spectra and transfer functionsccl_bcm.c
: code to compute the BCM model for baryonic effectsccl_eh.c
: code to compute the Eisenstein and Hu (1998) transfer function approximationccl_musigma.c
: code to properly normalize input linear power spectra for themu-Sigma
modified gravity modelccl_cls.c
: code to compute angular power spectra from 3-d power spectraccl_massfunc.c
: code for the halo mass function and halo bias models, also contains code to spline the linear power spectrum variance in top-hat windowssigma(R)
- ccl_neutrinos.c`: code to compute the neutrino masses from their cosmological density and vice versa.
ccl_emu17.c
: code to compute the Cosmic Emu emulator for the matter power spectrumccl_correlation.c
: code to compute correlation functions from 2-d and 3-d power spectraccl_halomod.c
: code to compute halo model approximations to the power spctrum, also contains models for the halo mass-concentration relationshipccl_halofit.c
: code to compute the HALOFIT approximation for the non-linear matter power spectrumccl_haloprofile.c
: code to compute common approximations to halo mass density profilesccl_tracers.c
: code to compute various kernels for tracers of large-scale structure (e.g., weak lensing kernels, galaxy clustering kernels, etc.)fftlog.c
: an implementation of theFFTLog
algorithm for fast transforms between Fourier and real space quantities