Skip to content


Folders and files

Last commit message
Last commit date

Latest commit



21 Commits

Repository files navigation


Counts of Amplified Mass Elevations from Lensing with Ultrafast Simulation
Chieh-An Lin (IfA Edinburgh)
Release v2.0 - 2018-03-14


Camelus is a fast weak-lensing peak-count modeling algorithm in C. It provides a prediction on peak counts from input cosmological parameters.

Here is the summary of the algorithm:

  • Sample halos from a mass function
  • Assign density profiles, randomize their positions
  • Compute the projected mass, add noise
  • Make maps and create peak catalogues

For a more detailed description, please take a look at Lin & Kilbinger (2015a).


Required softwares:

Optional softwares:

During the compilation, cmake uses pkg-config to find optional softwares. If they are missing, the compilation still continues without providing all functionalitites.


For Mac users, do the follows before compilation:

$ export CC=gcc
$ export CXX=g++

or use setenv command in tcsh.

To compile the package:

$ cd build
$ cmake ..
$ make

To get program instructions:

$ ./camelus


Current release: Camelus v2.0

New features in v2.0 - Mar 14, 2018
  • Updated consistency with Nicaea to v2.7
  • Flexible compilation: missing optional packages will not stop the compilation
  • Renamed peakParameters.c/.h into parameters.c/.h
  • Renamed constraint.c/.h into multiscale.c/.h
  • Splited rayTracing.c/.h into galaxySampling.c/.h and rayTracing.c/.h
  • New files: FITSFunctions.c/.h
  • New files: HEALPixFunctions.c/.h
  • Flexible parameter reading mechanism
  • More explanatory peakParam.par file
  • Allowed output customization
  • Renamed confusing parameter names
  • Random halo redshift inside each slice instead of the median value
  • Allowed random mask for plat geometry
  • Allowed HEALPix geometry
  • Allowed galaxy weighting
  • Allowed the mass-sheet correction of lensing signals
  • Allowed the Seitz & Schneider inversion method
  • Allowed both local and global noise levels in the S/N
  • Removed nonlinear filtering
  • Added the license
New features in v1.31 - Mar 22, 2016:
  • Made installation more friendly by removing the dependency on cfitsio and mpi
  • Added the routine for computing 1-halo & 2-halo terms of the convergence profile
  • Flexible parameter space for PMC ABC
  • Remove files: FITSFunctions.c/.h
New features in v1.3 - Dec 09, 2015:
  • New files: constraint.c/.h
  • Allowed multiscale peaks in one data vector
  • Allowed a data matrix from several realizations
  • Used the local galaxy density as the noise level in the S/N
  • Increased the parameter dimension for PMC ABC
  • Changed the summary statistic options for PMC ABC

Unavailable features because of the exterior file dependency:

  • New files: FITSFunctions.c/.h
  • Added the mask option and nonlinear filtering
New features in v1.2 - Apr 06, 2015:
  • Improved the computation speed by a factor of 6~7
  • Converted the halo array structure into a binned structure, called "halo_map"
  • Converted the galaxy tree structure into a binned structure, called "gal_map"
  • New files: ABC.c/.h
  • Added the population Monte Carlo approximate Bayesian computation (PMC ABC) algorithm
New features in v1.1 - Jan 19, 2015:
  • Fixed the bug from calculating halo radii
New features in v1.0 - Oct 24, 2014:
  • Fast weak lensing peak count modeling


Camelus is distributed under the terms of the GNU General Public License Version 3 (GPLv3).

The license gives you the option to distribute your application if you want to. You do not have to exercise this option in the license.

If you want to distribute an application which uses Camelus, you need to use the GNU GPLv3.


Contact information



Please feel free to send questions, feedback and bug reports to calin (at)
Check also the GitHub repository of the code.