The BIANCHI2 package provides functionality to simulate Bianchi type VIIh induced temperature fluctuations in CMB maps of a universe with shear and rotation. The implementation is based on the solutions to the Bianchi VIIh models derived by Anthony Lasenby that incorporate a cosmological constant (not yet published). Functionality is provided to compute the induced fluctuations on the sphere in either real or harmonic space.

This documentation outlines installation details and documents the Fortran source code. Reference, version, and license information then follows. For an overview see the README.txt file.


The BIANCHI2 package is implemented in Fortran 90. The library design is based upon object-oriented principles (as much as is possible within Fortran 90). Generally one must instantiate a class object using the corresponding init routines. The instantiated object should be freed once it is no longer required with the corresponding free routine (this deallocates all memory associated with the object).

By default unitless Delta_T / T maps are computed by BIANCHI2, unless the MILLIK option is specified at compilation, in which case the maps are produced in units of milli Kelvin.


BIANCHI2 requires the S2, HEALPix and CFITSIO packages, and the NAG numerical libraries. Obviously a suitable Fortran 90 compiler is also required.


A makefile is provided to build the code. Before compiling you will need to edit the makefile to specify your compiler and to link with the appropriate libraries. Once you have set the makefile up for your system, BIANCHI2 may be compiled by running:

 >> make all

This will build the library and also the simulation and look-up-table generation programs. If your system is configured to build all of these components then you are done. If you prefer to build only a subset of these components then read on.

You may alternatively build the individual components of BIANCHI2. To build the library only run:

 >> make lib

To build the programs (which will also build the library if it has not already been build) run:

 >> make prog


Run the test program to verify your installation. A default test may be performed by running:

 >> make runtest

If BIANCHI2 is installed correctly the simulation program should run and create the file sky_bianchi2_h1.fits containing a simulated map. This map should match the copy shipped with BIANCHI2 in the test subdirectory.

To check the version and build numbers of your version run:

 >> ./bin/bianchi2_about 


The main BIANCHI2 simulation program may be run interactively or by passing an input parameter file. To perform an interactive simulation run:

 >> ./bin/bianchi2_sim 

This will prompt the user to interactively specify the parameters of the simulation. To read the parameters from the input parameter file param.par run:

 >> ./bin/bianchi2_sim param.par

For more information on using the code see the source code documentation.


The BIANCHI2 code is self documenting. Although the package ships with source code documentation, you may generate html source documentation by running:

 >> make doc

Documentation is generated using doxygen, thus you must have doxygen installed on your system to generate the source documentation.

Cleaning up

To clean up your version of the BIANCHI2 code and remove all builds run:

 >> make clean

To remove all source documentation run:

 >> make cleandoc

Source code documentation

BIANCHI2 ships with source documentation that is generated by doxygen. Documentation is available here.


We make the source code of the BIANCHI2 package available under the license described below.

BIANCHI2 can be downloaded from the following site:


If you use BIANCHI2 for work that results in publication, please reference this site ( and our related academic papers:

J. D. McEwen and T. Josset and S. M. Feeney and H. V. Peiris and A. N. Lasenby, Bayesian analysis of anisotropic cosmologies: Bianchi VIIh and WMAP, Mon. Not. Roy. Astron. Soc., 436(4):3680-3694, 2013 (ArXiv | DOI).
M. Bridges, J. D. McEwen, A. N. Lasenby, and M. P. Hobson, Markov chain Monte Carlo analysis of Bianchi VIIh models, Mon. Not. Roy. Astron. Soc., 377(4):1473-1480, 2007 (ArXiv | DOI).


Version: 1.1

Version history


BIANCHI2 package to simulate Bianchi type VIIh induced temperature fluctuations in CMB maps when incorporating a cosmological constant

Copyright (C) 2012 Jason McEwen, Anthony Lasenby and Thibaut Josset

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details (LICENSE.txt).

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

About the authors

BIANCHI2 has been developed by Jason McEwen, Anthony Lasenby and Thibaut Josset.

Example frontpage image Dr Jason McEwen
Academic web page »

Example frontpage image Professor Anthony Lasenby
Academic web page »

Thibaut Josset
tjosset AT