Fortran CAMB ReadMe

| | | | | Change log | |

CAMB is a Python and Fortran code for computing CMB, CMB lensing, lensing, galaxy count and dark-age 21cm power spectra, transfer functions and matter power spectra, and background cosmological functions. For latest information on this program see

Often it is easiest and most flexible to just use the Python version, which includes a command-line "camb" script. This readme instead focuses on using the compiled binary Fortran command-line version. CAMB can also be used as part of the CosmoMC and Cobaya parameter estimation packages.

Code for Anisotropies in the Microwave Background by Antony Lewis and Anthony Challinor.
Originally based on CMBFAST developed by Uros Seljak and Matias Zaldarriaga, itself based on Boltzmann code written by Edmund Bertschinger, Chung-Pei Ma and Paul Bode.

Compiling and running To install and compile yourself you will need a Fortran 2008 (or higher) compiler - you can get the free gfortran compiler (version 6 or higher), or the optimized Intel compiler ifort is installed on many academic clusters and also supports integrated development and debugging in Visual Studio under Windows. Alternatively you can use CAMB in the pre-configured CosmoBox virtual machine.

To install the Fortran binary from the command line:

The Makefile comes set up for gfortran and ifort compilers. Edit the relevant parts of the Makefile to compile on other systems. If you have Intel's Visual Fortran you can use the projects in the VisualStudio folder, no need to use the Makefile. To run on multi-processor machines add the -openmp (or equivalent) option to the Makefile's FFLAGS parameter to compile a parallelized (OPENMP) version.

For a demo of how to use CAMB with the python wrapper see the demo notebook. For some further technical details about the algorithms, equations and code see the CAMB notes.

Input parameters

The params.ini file specifies the parameters used to run the program. Comments in params.ini should make this fairly self-explanatory, more complicated cases, for example to run with multiple neutrino mass eigenstates and sterile neutrinos at different temperatures see the documentation and examples in the CAMB notes. To produce the matter power spectrum in addition to CMB Cl set get_transfer = T; the do_nonlinear input parameter determines whether this is output as the linear power spectrum or includes non-linear corrections from the Halofit model.

The default params.ini file produces results in μK2 from the given primordial curvature perturbation power (scalar_amp) on 0.05 MPc-1 scales. To get unnormalized dimensionless results set scalar_amp=1 and CMB_outputscale=1. To compute lensed Cls you must set the normalization to some realistic value (the calculation is non-linear, so normalization matters).


Unlensed scalar angular power spectra are output to output_root_scalCls.dat. The columns are
Here all CX are l(l+1)C_l/2pi except for CΦ and CΦT which are CΦ= l4 ClΦ, where ClΦ is the (CMB) lensing potential power spectrum, and CΦT = l3 ClΦT. The lensing terms in square brackets are only produced if do_lensing = T. If CMB_outputscale = 7.4311e12 ([TCMB106]2, the default), the units are μK2. Note that lensing spectra are also multiplied by CMB_outputscale, so you may want to divide this out of the answer to get a sensible dimensionless spectrum or use the lens_potential_output_file file mentioned below. If requested the lensed power spectrum is output to output_root_lensedCls.dat

Tensor angular power spectra are output to output_root_tensCls.dat if requested. The columns are

If scalars and tensors are generated, the total spectrum is in output_root_totCls.dat, in the same format as the tensor output file.

If do_lensing=T and lens_potential_output_file is specified a file is output containing unlensed scalar (+tensor if calculated) spectra along with the lensing potentials in this format:

where as before CX are l(l+1)Cl/2π, and d is the deflection angle, so Cdd=[l(l+1)]2ClΦ/2π, CdT=[l(l+1)]3/2ClΦT/2π, CdE=[l(l+1)]3/2ClΦE/2π. These are the spectra required for simulating lensed skies using

If transfer functions are requested the columns in the output_root_transfer.dat output file are:

1 k/h wavenumber in h Mpc-1
2 Delta_CDM/k2 CDM
3 Delta_b/k2 baryons
4 Delta_g/k2 photons
5 Delta_r/k2 massless neutrinos
6 Delta_nu/k2 massive neutrinos
7 Delta_tot/k2 CDM+baryons+massive neutrinos
8 Delta_nonu/k2 CDM+baryons
9 Delta_totde/k2 CDM+baryons+massive neutrinos+ dark energy(numerator only)
10 Φ The Weyl potential (φ+ψ)/2
11 vel_Newt_cdm/k2vel_Newt_cdm is -vcdm k/H (Newtonian-gauge CDM velocity vcdm)
12 vel_Newt_b/k2 vel_Newt_b is -vb k/H (Newtonian-gauge baryon velocity vb)
13 vel_baryon_cdm/k2 relative baryon-CDM velocity (vb-vcdm)

where Delta_X is defined as (delta rho_X)/rho_X in the synchronous gauge and evaluated at the requested redshift, given a unit primordial curvature perturbation on superhorizon scales (for adiabatic modes, chi_0=-1). The column numbers correspond to the Transfer_xx integer constants defined in the Transfer module (results.f90).

output_root_matterpower.dat contains the conventionally normalized matter power spectrum (for baryons+cdm+massive neutrinos), in h/Mpc units.

Compilation options and code modifications

The Makefile should work out of the box in most cases for ifort and gfortran. If you define your own new classes, or want to compile with CosmoRec or HyRec recombination support, you can edit the file list variables at the top of Makefile_main. You can also use e.g. make RECOMBINATION_FILES="recfast cosmorec" to override the default and compile with additional files. REIONIZATION is by default a simple relatively fast single-step reionization model (following arXiv:0804.3865), but you could add alternative models by implementing other derived classes.

It's rarely needed, but you can power spectrum produce files in FITS format - to do this you will need to have HEALPIX installed and make some edits to the Makefile - see the Makefile for details. After compiling with make camb_fits, you can then use camb_fits instead of camb - the FITS file produced is given the name specified in params.ini. Note that the FITS file format for polarization changed with HEALPIX 1.2, CAMB uses the new format.

All the equations that need to be modified for simple non-standard models are in the equations.f90 file, or an in separate classes like the dark energy model.

After modifying any of the source code run make clean before running make to recompile (Visual Fortran will re-compile dependent code automatically). Run make all to build a library libcamb.a that you can use when linking to other programs. (You will also need to include the module files using -I/cambfolder).

See the Get cialis online prescription for how the different components of the calculation are structured. Some details about what different source code files do are given below, see also the CAMB notes.

A test suite is included, and will run automatically on Travis when committing or making pull requests on the GitHub repository. Python unit tests are in the camb.tests, and scripts for comparing outputs for a variety of models (as run on Travis) are in the tests directory.

The source files

See the auto-generated source documentation, and a few details below:


Main wrapper routines for running CAMB in your fortran programs. Add "use camb" to your programs and call CAMB_GetResults to generate output from a set of model parameters (specified in the CAMBparams type - defined in model.f90). You can call CAMB_ValidateParams(P) to check that the parameter set is valid, use CAMB_GetAge to compute the age of a model in gigayears, and CAMB_GetCls to retrieve the computed Cls.

Sample programs tester.f90 and sigma8.f90 are supplied showing how to use CAMB from your own programs. You can also use CAMB_GetTransfers to access the C_l transfer functions directly without incorporating the initial power spectrum. In addition this module provides the routines to read settings from a .ini file.


The main subroutine that does integrations, etc.


Files containing background and perturbation evolution equations. The perturbations equations used are derived in the covariant approach, fixing to the CDM (zero acceleration) frame, which are essentially equivalent to the synchronous gauge equations.

The file defines a module called "GaugeInterface" which provides the necessary perturbation calculation routines for "cmbmain".

The subroutine dtauda(a) returns dt/da and is used wherever the background evolution is needed. It can be modified for different backgrounds. If you add additional components, and can edit the init_background routine to do additional initialization.

outtransf writes out the matter transfer functions.

The "output" subroutine computes the scalar sources at a given time for a given wavenumber. These are the temperature, E polarization and (if doing lensing) the lensing source. By editing the equation for the lensing source it should be straightforward to compute power spectra for other matter tracers, e.g. for cross-correlation with the CMB. The lensing power spectrum is automatically computed if DoLensing=T.


Metacam suspension kaufen ohne rezept

Metacam Rezeptfrei Kaufen
5-5 stars based on 244 reviews

Mobic is used to relieve the symptoms of arthritis, primary dysmenorrhea, fever; and as an analgesic, especially where there is an inflammatory component.

Metacam for sale in uk My first set of glasses. They fit well, and are well constructed, even if justly. I'm a professional videographer and it's the only thing which can save your life from a camera in film (and not the one at work). Very good price for all that you're getting. Excellent metacam for sale uk for the price. I use to wear them with the same prescription from eyewear brand (LAS). But I have my eye sight read more accurately now, and so I switched to these pair. My glasses are now good. It was a good price, so I ordered them. Very comfortable and the fit metacam for sale in ireland is nice. I will buy some more pairs now. Very nice glasses. I got 'em on sale and I'm very happy with 'em I've been trying to find good, comfortable prescription glasses for a long time and these are the best I've found. They feel sturdy and are very comfortable. I plan on keeping them on-going. These are the best and easiest to wear glasses on the market! I bought a pair just about 3 months ago and love them. The style is nice and lenses are very clear. I've had these as a pair for about three weeks and they are great. feel like a nice pair of glasses, and the fit finish is outstanding. I would recommend these to all my glasses friends. These were purchased as a present for my husband. We love them. They look great and very comfortable. Great product at a price. We really like the frame. frames is very smooth and nice to wear. Great value. This glasses fit me well and they come with a nice bag. Very nice! This set of glasses fits great! It's a nice set of glasses. These are very nice. Not too heavy and the feel of frames is fantastic. Very comfortable. These are a nice set and I would give them 5 stars but I think the price of them is to much. I think it should be closer to the $30.00 range. This is my favorite pair of glasses I've tried. They are comfortable and look really cool. The lenses are not quite as light they appear in my photos, but the overall look is great. I prefer them for working in darker spaces, like a dark alley These glasses look great. I've only had them for a couple of weeks but they have held up great! Can't Drugstore makeup free international shipping wait to wear them at work! A good fit, very light weight for comfortable. These are great for the price, they are sturdy and I think they look very decent. I recommend them to any person looking for a pair of glasses at.

metacam ohne rezept kaufen
buying metacam online canada
metacam for sale uk
where to buy metacam canada
metacam for sale australia
metacam purchase in canada

Metacam 10 Pills $143 - $130 Per pill
Metacam 20 Pills $209 - $190 Per pill
Metacam 30 Pills $302 - $275 Per pill
Metacam 40 Pills $379 - $345 Per pill
Metacam 40 Pills $379 - $345 Per pill

Metacam kaufen apotheke Metacam buy online australia Metacam suspension kaufen ohne rezept Generic levitra canada pharmacy Online pharmacy oxycodone 30mg

Buying metacam in canada ! I bought a brand new car in canada and it was $1800. I took to the dealer for a service it needed which were $2100-2000. After I got this product put the car on my driveway for 6 hours that day and it was ready to move. only cost me $500. I had a service for the car and its good now going strong!! I bought this product to restore my old car, which needed some work, but would not stay with it. It looked like was in a lot of trouble..I took it in to car repair company they were quite surprised to hear that this was a Honda, not any of the other Hondas available at time. They gave me a list of what to do, and it took a few days to get it sorted, but the service was completed, and car is still going strong! I just bought the car of my dreams... I am not a mechanic or anything like that but it still cost alot (I think about 4000).. I went to Honda and they say "this is a Honda" and they give me some advice to make it perfect. is a 1993 Honda Accord 2000 miles on the clock. I got it back when had the problem fixed. If you have a problem with 1994 Civic, they are no help. I would just stick with the 1993, that was my dream car! I bought this for my 1992 Civic when it needed repair what is the best online pharmacy in canada and was in pretty much the same condition I bought it. The car is now running wonderful. My car was built in 1994 and the fuel tank was bulging. factory installed a new part so that this will never happen again! Thanks to the OTC and Car Care Company I just received a brand new Civic!!! I'll be seeing you in the next couple weeks with new, oil full, working vehicle! We wanted to replace the head gasket on our 1991 Mazda, and Metacam cost uk mechanic recommended a parts store that sold these parts. This is now our fifth replacement. In fact, it seems that these two locations are the only places in our area carrying these parts. Now, my cars is running great, and I can't believe how easily they come in! I bought a 1995 Honda Accord for my husband last spring. He had the oil change performed by my local shop at the time. They did a good job and he drove it home. I just bought his Accord for next spring and have been looking around to find the exact parts restore it to its original condition. I have been searching everywhere...with no luck anywhere...I found this site and read all the reviews. It came as a blessing that I have found your web site on Honda parts. It is so much easier to track down the right Honda part! I bought a part that worked great with my 1995 Accord. husband even purchased a spare in the shop!

Metacam PrincevilleMetacam PerkiomenvilleEast Montpelier
White HallOrientTroy


This file defines a module called Reionization that provides a class implementing a tanh-parameterization of the reionization history. The class gives xe as a function of redshift. Optical depth input parameters are mapped into zre (defined as where xe is half its maximum (ex second He reionization)) using a binary search. See the CAMB notes for discussion. This module should be easily modifiable for alternative reionization models.


Implements the NonLinearModel class, to calculate non linear scalings of the matter power spectrum as a function of redshift. Uses HALOFIT (astro-ph/0207664, code thanks to Robert Smith, with tweaks from arXiv:1208.2701 (thanks Ryuichi Takahashi) - see that paper for discussion of numerical accuracy. This module can be replaced to use a different non-linear fitting method if desired.


Reads in parameters from a file of name/value pairs and calls CAMB. The fortran equivalent of


Defined CAMBparams input parameter types.


Defines types used by calculated intermediate results (e.g. time interpolation tables), and outputs like CAMBdata and transfer functions


Module to calculate spherical and hyper-spherical Bessel functions. Hyper-spherical functions generated by use of either the recursion relation or Kosowsky's WKB approximation. Based on Arthur Kosowsky's "hyperjl.c".


Lensing module for computing the lensed CMB power spectra from the unlensed spectra and a lensing power spectrum. See astro-ph/0502425.


Various subroutines for interpolation, and modified Runge-Kutta dverk for parallelized evolution.


Subroutine WriteFitsCls that uses HEALPIX routines to output power spectrum in FITS format. Not usually used (also not tested regularly).


RECFAST integrator for Cosmic Recombination of Hydrogen and Helium by Douglas Scott (with minor modifications for CMBFAST and the CAMB). See RECFAST for the original code. This module implements the TRecombinationModel class required by CAMB. Sample wrappers are also provided for CosmoRec and HyRec, but the libraries for these must be installed separately.


Implements calculation of simple separable primordial bispectra, specifically the local constant fNL model, and the CMB lensing bispectrum due to the linear temperature and polarization cross-correlation with the lensing potential. Compile with FISHER defined in the makefile to also calculate Fisher elements, including the effects of lensing signal variance (edit Makefile to link to LAPACK if necessary). Note that the primordial bispectra here are unlensed (see arXiv:0905.4732 for a calculation), but the lensed bispectra are calculated non-perturbatively (but approximately) using the lensed small-scale CMB power spectra. Note that calculating primordial bispectra is significantly slower than doing standard power spectrum calculations, however it parallelizes well.


Interface functions for the python wrapper.


Scalar numerical errors should rarely exceed 0.3% and 0.1% for 500<L<3000. Matter power spectrum errors are usually dominated by interpolation in the acoustic oscillations, with about 0.2% accuracy (but much better rms accuracy). For a detailed study of numerical accuracy as of January 2012 see arXiv:1201.3654.

Accuracy of course assumes the model is correct, and is dependent on RECFAST being the correct ionization history. Lensed C_l TT, TE and EE are accurate at the same level (to within the approximation that the lensing potential is linear, or the accuracy of the HALOFIT non-linear model).

Extreme models (e.g. scale > 4, h>1) may give errors of 5% or more.

Tensor errors around 2% or more on small scales (e.g. due to l-interpolation). Low l accuracy somewhat worse than scalars (typically Hierarchy truncation errors up to 5% at high l (>1500) in some closed models

You can improve or check accuracy (or increase speed) by changing global accuracy parameters at the bottom of the params.ini input file. Convergence and stability can be checked using the test suite, and accuracy parameters can also be changed from the python version.

Version history

1.x + : See GitHub Release history

1.0: January 2019
August 2018
August 2017
January 2017
November 2016
May 2016
November 2015
February 2015
January 2015
April 2014
March 2014
December 2013
November 2013
October 2013
September 2013
July 2013
March 2013
October 2012
January 2012
December 2011
October 2011
July 2011
January 2011

January 2010
Recfast updated to version 1.5 (rising to 2% change at l=2000; added rate fudge to match 0910.4383; use RECFAST_Hswitch = F to recover old result). Added lens_potential_output_file parameter to get sensibly normalized lensing potential ([l(l+1)]2Cl/2π and temperature correlation). Added code parameter do_bispectrum to modules.f90 for parameter tweaks to get accurate transfer functions for fNL calculations.

February 2009
Fixed serious bug in the calculation of lensed non-flat models (introduced in the Feb 2008 version).

November 2008
Fixed proton mass error (and hence incorrect baryon evolution on pressure-damping scales; note CAMB is not as accurate as Comprar viagra online estados unidos anyway due to use of adiabatic pressure).

September 2008
Restructured recombination module to allow use of different models. RECFAST default implementation updated to version 1.4.2 (+fixes, tiny change to results). Misc minor changes.

June 2008
Fixed significant bug affecting very closed models (introduced Feb 2008; slightly closed models were fine).

March 2008
(26th March, fixed pivot parameters in sample .ini)
New reionization history model: new input parameter re_delta_redshift (does not change optical depth), and option to set re_ionization_frac=-1 to automatically set the reionization fraction from input YHe assuming Helium is singly reionized at the same time as hydrogen (hence mapping of redshift to optical depth different to before at 10% level; see the notes). Reionization history now specified in (replaceable) module in reionization.f90; default includes tiny effect of He double reionization at z~3.5. Some internal reorganization. Added pivot_scalar and pivot_tensor input parameters for initial power spectrum. output subroutine (equations.f90) re-arranged to separated ISW source terms.

February 2008
Updated RECFAST to version 1.4 (~0.5% effect at high l; new RECFAST_fudge_He,RECFAST_Heswitch parameters, removed Dubrovich modifications). lensed_total_output_file parameter to get lensed scalar plus tensor power spectrum. Calculates CosmoMC's theta parameter for each model (code in modules.f90). Modules routine MatterPowerData_Load to read in matter power (for splining from pre-computed file); MatterPowerData_k function now extrapolates low-k out of range. transfer_interp_matterpower parameter to switch between interpolated regular grid in log k or array at actual computed values (better for later re-interpolation). Added camb.vfproj Intel Visual Fortran project file. Simplifying internal changes from CAMB sources, e.g. use of Ranges module for setting time steps and k sampling values; also now switches to log k source spacing at very high l to speed up calculation where spectra smooth. More diagnostics and options in the test suite.

November 2006
Updated RECFAST to version 1.3 (0.1% effect on Cl). Tweak to get <0.3% error in matter power spectrum around the peak when transfer_high_precision = T.

September 2006
Fixed problem generating combinations of scalars and tensors in camb.f90 (since August version).

August 2006
Speeded calculation of lensed spectra and lensing power spectrum by using Limber approximation on small scales (no loss of accuracy). Fixed missing f_K in source term for non-flat lensing potential. Minor changes to default parameters and compatibility tweaks. Can download test suite for comparing accuracy and code versions.

July 2006
Fixed bug setting default neutrino degeneracy if none specified and initialization of nu_mass_eigenstates for programmatic access. Other minor fixes.

June 2006
Added support for arbitrary neutrino mass splittings. New option to set transfer_k_per_logint=0 to get automatic accurate k-sampling of the matter power spectrum. Fixed Transfer_GetMatterPower at large scales for non-flat models. New setting value massive_nu_approx=3 to use whatever method is good to get fast accurate results. Other internal changes.

March 2006
Fixed bug lensing scalar spectrum when generated at the same time as tensors. New (hard coded) parameter lmin in modules.f90 - set to 1 if you want to generate temperature and lensing potential l=1 (Newtonian Gauge) Cl.

April 2005
Added do_nonlinear option to apply non-linear corrections from HALOFIT (astro-ph/0207664). do_nonlinear = 1 applies just to the matter power spectra, do_nonlinear=2 applies corrections to the lensed CMB power spectra (important for BB). HALOFIT should only be used for standard adiabatic ΛCDM models with power law initial power spectra. New recombination option (1 does RECFAST as before, 2 uses modified version from astro-ph/0501672). New option do_late_rad_trunction to turn off the small scale radiation hierarchies after matter domination (see astro-ph/0503277 and the notes) - saves some time. New output_root option to prefix output file names and generate output_root_params.ini file of input parameters for the run.

November 2004
Default lensing routine (lensing_method=1) changed to use new full-sky correlation function method (astro-ph/0502425) in preference to the harmonic method of astro-ph/0001303 (lensing_method=3; inaccurate at l>1000 at ~1.5% level by l=2000). The lensed result is now significantly faster and more accurate. Also added flat-sky method (lensing_method=2) of astro-ph/9505109 and astro-ph/9803150 as in CMBFAST (accurate to 0.4%). New accurate_BB parameter to get lensed BB accurately (within assumptions of linearity and given k_max, l_max, etc.). Note lensed_output_file no longer contains any tensor contribution. Various changes for better accuracy and compiler compatibility, including same accuracy with massive neutrinos as with massless.

August 2004
Fixed effect of reionization on the lensed Cl (0.5% on small scale TT).

June 2004

Fixed serious problem with tensor mode polarized Cl from reionization (significantly underestimated power). Changed default tensor pivot scale to 0.05 Mpc-1 (same as for scalars). Flat Bessel functions no longer cached to disk (faster to compute than read in many cases; prevents problems in uses with MPI). New accurate_reionization flag for accurate calculation of large scale scalar EE around the first dip (also outputs computed optical depth due to reionization). Option to output vector mode spectra from regular vorticity mode (astro-ph/0403583) or magnetic field (astro-ph/0406096).

December 2003
Fix - 17 Dec: corrected problem with significantly non-flat models (e.g. ΩK=-0.1, H0=40)

Improved accuracy of non-flat calculation, and allowed for very nearly flat models (ΩK ~ 1e-5). Non-flat code should be as accurate as the flat (0.5%) on most scales. Added run-time parameters do_tensor_neutrinos (to include the neutrino evolution in the tensor equations) and cs2_lam (constant sound speed of the dark energy) instead of having to modify the code. Fixed fatal bug in tensor neutrino setup introduced some time this year. Added parameter CMB_outputscale to scale output Cls by a constant (see comments in params.ini for getting microK^2 output).

July 2003

Fixed instability in bessels.f90 which gave problem for very nearly flat closed models with abnormal Helium fractions (and possibly other models). Dark energy equations in equations.f90 changed to use simpler general fluid equations for the perturbations (see astro-ph/0307104). inidriver.F90 now reads in scalar amplitude even if computing tensors only (so combination with the initial ratio sets correct tensor amplitude).

May 2003

Fixed bug in equations.f90 giving errors with non-flat models. Fixed bug in inidriver.F90 setting H0 with use_physical=F. Fixed camb.f90 file in download - missing routines for getting Cl transfer functions.

April 2003

Some major restructuring, including new functions to return the CMB transfer functions (see camb.f90). The tight coupling code has been re-written, adding quadrupole terms and accounting for the time variation of the opacity numerically. The code should be more accurate and faster, especially on small scales. Minor fixes to RECFAST to match version in CMBFAST (0.01% effect on Cls), and bug fix in output routine (0.3%). Includes constant w dark energy and running spectral index parameters by default (rather than with an add-on). New use_physical parameter to allow alternative model specification by Om_b h^2, Om_b h^2 and Om_k. Polarization .fits files now compatible with HEALPIX 1.2.

November 2002

Minor changes for greater compiler compatibility, in particular with Visual Fortran. Makefile includes suggested options for a variety of compilers.

September 2002

Added support for neutrino isocurvature initial conditions, and totally correlated mixed initial conditions (assuming the same power spectrum for each mode) - new initial_vector parameter in params.ini. Partially correlated mixed initial conditions can be computed by combining results from different runs with totally correlated initial conditions.

July 2002

Changes for compatibility with CosmoMC. New option to output matter power spectrum. Changed default pivot point for tensor initial power spectrum to 0.002 MPc-1 (power_tilt.f90), added pivot point and normalization to initial power parameters. Minor enhancements to inifile.f90. Utility routines Re_OpticalDepthAtZ and Transfer_GetMatterPower added to modules.f90.

March 2002

Massive neutrino support improved. Background evolution is much faster, and only ever needs to be computed once for all neutrino masses. Output transfer function files now include columns for the massive neutrino and total perturbations. Sigma_8 is now computed including CDM, baryons and massive neutrinos. Fixed problem computing matter power spectrum in massive neutrino models. New parameter massive_nu_approx to control how the massive neutrinos are evolved - option for new approximate fast scheme that is quite accurate for the CMB. New feedback_level parameter that can be used to get useful information about the model being calculated.
Fixed rare problem computing closed models, and bug in computation of closed transfer functions. The names of the massive neutrino subroutines have been changed because the argument that is passed has changed.

February 2002

Fixed FITS file output to start at l=0 rather than l=2 to be consistent with HEALPIX.

January 2002

The code is now fully internally parallelized and lensing is supported. Can now use about 16 processors with good efficiency - just compile with the OpenMP -mp compiler flag. The lensing power spectrum is computed explicitly and then used to computed the lensed CMB power spectra using the full-sky results of astro-ph/0001303 (many thanks for Gayoung Chon for work on the lensed power spectrum code). To generate the lensed power spectra set do_lensing=T in params.ini and the output will be in the lensed_output_file. The lensing power spectrum l4 Clφφ is also output as the 5th column of the scalar_output_file, followed by the cross-correlation with the temperature l3 ClφT.

October 2001

Fixed bug in RECFAST - corrects C_l errors at 1-2% level. Background evolution is now determined from routines in gauge_inv.f90 (and gauge_sync.f90) - you now only need to edit these files to add additional matter components, use extended theories, etc. RECFAST now consistent with massive neutrinos. Added Makefile for better compilation, and added option to create FITS format power spectrum files. Changed driver.f90 to driver.F90, and new file writefits.f90. Some minor changes to ease use with a wider range of compilers (e.g. NaG F95 for Linux).

May 2001

Fixed the neutrino ratio factor in the normalization of the scalar power spectrum to be consistent with the power spectrum as defined since the January 2001 version. Changes to gauge_inv.f90 and gauge_sync.f90.

April 2001

New example code. These samples show how you can call CAMB from other programs via a subroutine. There are also improved InitialPower modules for parameterizing the initial power spectrum to obtain meaningful tensor/scalar ratios for general models and for parameterizing in terms of slow-roll inflation parameters.

Fixed a floating error arising when both tensor and scalar spectra are generated but with ratio zero.

February 2001

Fixed bug in recfast.f90 introduced in August 2000 update (caused erroneous blip in ionization history).

January 2001

New file power.f90 added to separate out the InitialPower module for easily modifying the initial power spectrum. The InitialPower module now has additional parameters to control the normalization of the output Cls, allowing absolute computations using correctly normalized initial power spectra (set the UseScalTensRatio parameter to false to compute the tensor/scalar ratio correctly from the initial power spectra in general models). The InitialPower module is now commented to fully explain the definition of the power spectra that should be returned by the TensorPower and ScalarPower routines.

The transfer functions are now output in terms of k rather than beta (nu*K) in non-flat models, and the way to compute the matter power spectrum from the transfer functions via d2norm is documented. The variables used to propagate the tensor modes in gauge_inv.f90 have been changed to be equivalent to the metric variables, improving stability when DoTensorNeutrinos=true.

September 2000

Now uses an accurate approximation to propagate massive neutrino perturbations once no longer highly relativistic, speeding up computation by about a factor of two (gauge_inv routine only). All massive neutrino code is now re-organized into a module called MassiveNu in modules.f90. The massive neutrino equations are described in astro-ph/0203507

August 2000

Minor changes to recfast.f90 and modules.f90 to prevent floating point errors on some systems. (Thanks for Louise Griffiths)

July 2000

Fixes inaccurate computation of the tensor quadrupole in flat models, pointed out in astro-ph/0006392 . The only code change is to subroutine TensSourceSumIntJl in cmbmain.f90.

February 2000

Massive neutrinos are now supported. The treatment is essentially the same as CMBFAST. However gauge_inv now includes neutrino anisotropic stress in the tensor computation by default, accounting for massive neutrinos when appropriate. You can revert to the old default by