CosmoLib
Zhiqi Huang (CITA)
zqhuang@cita.utoronto.ca
CosmoLib is self-contained package that does future CMB, LSS and SN forecasts using Fisher-matrix or MCMC method. It is mainly written in F90. (Some auxilliary routines are in C). The current version V0.3 (download page) contains:
- Cosmology first-order perturbations computed in Newtonian Gauge (only for flat universe with massless neutrinos).
- A CMB C_l integrator that is optimized to compute C_l's for models that predict glitches in the primordial power spectrum. Optionally it can do a brute-force ell-by-ell computation.
- CMB, LSS and SN mock data generators and likelihoods.
- Fisher matrix calculation.
- A MCMC engine and postprocessing tools.
- wrapped data libraries: WMAP7yr, ACT, SPT, SNLS3yr, HST, SDSSDR9-BAO
The documentaton is HERE.
Each official release of a new version has a date stamp. The date stamp of CosmoLib V0.0 is Jan 30, 2012. Please update it if you have downloaded an unofficial trial release before.
The package is very similar to CosmoMC by Antony Lewis, which is faster and much more extensively tested by many users. If you just want to do standard things, I would recommend you use CosmoMC instead of CosmoLib.
However, you may consider using CosmoLib when
- you want to use some alternative dark energy models. CosmoLib contains four different models of dark energy (cosmological constant; constant w model; w_0, w_a model; and a general parametrization for minimally coupled quintessence models, described in arXiv: 1007.5297. You can also write your own w(a) function. (Yes, just modify one function; the code will take care of everything else.)
- you want to study non-standard primordial power spectra. CosmoLib can compute the primordial power spectra numerically for arbitrary single field potential V(phi) (not necessarily slow-roll). CosmoLib also contains phenomenological parametrizations such as the standard one used in CosmoMC, axion monodromy model with cosine oscillations, cubic spline interpolations, Chebyshev interpolations etc. Again, you can write your own model by just modifying two functions.
- You want to work in Newtonian gauge explicitly.
- You want a self-contained package to do forecasts.
- You want to double check a result from CosmoMC.
Planned to be added in the future releases:
- Weak Lensing forecast mock data generator and likelihood. (Code already done, just need to merge into CosmoLib.)
- Second order perturbations in Newtonian gauge. (This is the project I am working on. Not easy.)
Cl's and transfer functions -- CosmoLib v.s. CAMB (from left to right, ClTT, ClEE, Newtonian gauge δb(k, z=0) ):
Other public Boltzmann codes
[CMBFast(F77)]
[CAMB (F90)]
[CMBEasy (C++)]
[CLASS (C)]
[CMBQuick (Mathematica)]