COMB package documentation

Jason McEwen

The COMB library contains functionality to support the simulation on the sphere of compact objects embedded in a stochastic background process of specified power spectrum. More specifically, compact objects with an arbitrary template function may be embedded in background Gaussian cosmic microwave background radiation. This is the primary astrophysical application that motivates the construction of the library. Support is provided to convolve with beam functions and to add additional white noise.

The library design is based on object-oriented principles and is implemented in Fortran 90. Generally one must instantiate a class object using the corresponding init routines. The instatiated object should be freed once it is no longer required with the corresponding free routine (this deallocates all memory associated with the object).

For further details see the README.txt file.


The COMB package requires the S2, HEALPix and CFITSIO packages. Please note that all COMB code is written in Fortran 90 and a suitable Fortran compiler will be required.

Compiling library

Before compiling you may 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 then the COMB library may be compilied by running:
>> make lib

For details on how to use the COMB library code see the documentation below.

Compiling utility programs

The COMB utility programs may be compiled by running:

>> make prog
For details on how to use the COMB utility programs see the documentation


Typical input and output files for COMB are available for download here. Untar the data archive and place the data_in and test directories within the base comb-1.0 directory. Input data for WMAP1 and WMAP3 compatible simulations are provided in the data_in directory, while corresponding output files are provided in the test directory.

To test the COMB installation run

>> bin/comb_csim parameters.par
using the parameters.par file provided. This should create a number of files in the data_out directory that match the files contained in the test directory.


By default, the COMB code ships with only this single documentation page. The remainder of the documentation is automatically generated from the source code using f90doc. Please ensure that you have f90doc installed in order to generate this documentation. Once f90doc is installed the documentation may be generated by running:

>> make docs

Cleaning up

To clean up your version of the COMB code and return all code to its original state run:
>> make clean
To remove all documentation, except the front page (i.e. this file), run:
>> make cleandocs

Library classes

An overview of the classes that comprise the COMB library is given here. Please click on the link for each class for detailed documentation.

comb_csky_mod: Provides funcitonality to support a COMB csky object. The csky object defines a full sky map consisting of embedded compact objects (COMB obj objects) and optional primodial cmb and noise realisations. Output maps may be produced contained the sum of all these components or each component map may also be written individually. An output parameter file may also be written to specify the compact object positions and other parameters, in addition to the cmb, beam and noise properties.

comb_obj_mod: Provides functionality to support and manipulate a compact object defined on the sky.

comb_tmpl_mod: Contains definitions of template functions defined on the sky to initialise COMB obj objects.

comb_error_mod: Functionality to handle errors that may occur in the COMB library. Public COMB error codes are defined, with corresponding private error comments and default halt execution status.

Utility programs

The simulation program based on the COMB library is listed here. More COMB programs may appear here in the future as their need becomes apparent. Please click on the link for each program for detailed documentation.

comb_csim: The COMB CSIM program supports the simulation on the sphere of compact objects embedded in some background process of specified power spectrum. This program may be run interactively (by running >> comb_sim), or with an input parameter file (by running >> comb_sim parameters.par).

comb_objgen: Product a sky map containing a number of template objects with various parameters.


For support or to report any bugs please contact Jason McEwen.


If you use the code to produce published works please reference the download site and our related papers:
J. D. McEwen, S. M. Feeney, M. C. Johnson, and H. V. Peiris. Optimal filters for detecting cosmic bubble collisions. Phys. Rev. D., 85(10):103502, 2012.
J. D. McEwen, M. P. Hobson, and A. N. Lasenby. Optimal filters on the sphere. IEEE Trans. Sig. Proc., 56(8):3813-3823, 2008.


Author: J. D. McEwen

Version: 1.1

Version History


COMB package to provide functionality to support the simulation on the sphere of compact objects embedded in a stochastic background process
Copyright (C) 2005 Jason McEwen

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.


This documentation has been generated largely by f90doc, with some minor modifications.

Last modified: 1 July 2005