View from the Eiffel tower, Paris, October 2013.


The 'COncentration-Mass relation and Mass Accretion History' (COMMAH) code follows the model of Correa et al. (2015c). COMMAH calculates dark matter halo concentrations as a function of halo mass and redshift. It is a semi-analytic model intimately based on hierarchical structure formation. It uses an analytic model for the halo mass accretion history, based on extended Press Schechter (EPS) theory (see Correa et al. 2015a), and an empirical relation between concentration and an appropriate definition of formation time obtained through fits to the results of numerical simulations (see Correa et al. 2015b). The resulting concentration-mass relations are tested against the simulations and do not exhibit an upturn at high masses or high redshifts as claimed by recent works. Because our semi-analytic model is based on EPS theory, it can be applied to wide ranges in mass and redshift as shown in the figure below.

Concentration-Mass relation, WMAP5

Figure 1. Predicted concentration-mass relation for the WMAP5 cosmology over a wide range of halo masses and redshifts. The solid lines correspond to our c-M model obtained from the halo MAH as described in Section 4 of Correa et al. 2015c. The lines are coloured as a function of redshift as indicated. The dashed lines correspond to power-law fits to the high-mass cāˆ’M relation at z = 0, 1, 2 and 3, and are in good agreement with the empirical relation from Duffy et al. (2008) (c = 6.71(M/2Ɨ1012h-1 M)āˆ’0.091(1+z)āˆ’0.44).

Interestingly, it predicts a break in the z=0 concentration-mass (hereafter, c-M) relation at a mass scale of 1011M, which we find to be produced by the varying power in the density perturbations.

COMMAH is available in IDL and python:

  • Python code was written and is maintained by Alan Duffy.

  • Download: COMMAH has been included in the pypi python package. To download COMMAH using pip type

    pip install commah

    In addition, COMMAH is hosted in both BitBucket and github repositories. You can clone any of the repositories by typing

    git clone


    git clone

    You need to have installed the free version control system git. The last option is to download the code here.

    Basic usage: requires the following standard libraries: numpy, scipy and cosmolopy. In the python shell you can begin with the following calling sequence

    In [1]: import commah
    In [2]: output ='WMAP1',zi=0.,Mi=1e12,z=[0.0,1.0,1.5,3.0,5.0])
    In [3]: output['c']
    Out[3]: array([[8.84952006,6.41136808,5.5846723,4.24172252,3.53294106]])
    In [4]: output['Mz']
    Out[4]: array([[1.00000e+12,6.02554e+11,4.52997e+11,1.82783e+11,5.14619e+10]])
    In [5]: output['dMdt']
    Out[5]: array([[31.88483435,83.06488935,106.30413759,138.85684425,109.70682285]])

    In the example above the user input the cosmology WMAP1, the initial redshift zi, the mass at the initial redshift Mi and the output redshift z. After that the user asked for the dark matter halo concentrations at the output redshifts ('c'), for the halo mass at the output redshifts ('Mz') and for the accretion rate at the requested reshifts ('dMdt'). In addition, the user can also request the rms of the primordial density field σ, the peak height ν, and the formation redshift zf.

    The user can also request the concentration and accretion rate of dark matter halos of mass Mi at a particular redshift zi.

    In [1]: import commah
    In [2]: output ='WMAP1',zi=2.,Mi=[1e12,5e11,1e11,5e10])
    In [3]: output['c']
    Out[3]: array([[4.6732888],[4.87151256],[5.37096703],[5.59182459]])
    In [5]: output['dMdt']
    Out[5]: array([[406.86787551],[192.92677084],[34.29907519],[16.37394805]])

    Find a detailed documentation here with examples, cosmology setting, functions description, etc.

  • IDL code was written and is maintained by Camila Correa.
  • Installation: no need for installation, you can just download the code here.

    Basic Usage: The code performs two different calculations: it looks for the concentration-mass relation for a particular redshift and mass range, or calculates the halo mass history for a given initial halo mass and redshift range. requires two input files: and To calculate the concentration-mass relation, the user needs to specify the cosmology, the redshift, the initial and final halo mass and the step or mass interval in the file As a result the will output 5 columns: concentration, halo mass, rms of primordial density field, peak height and accretion rate. To calculate the halo mass history, the user has to specify the cosmology, the initial mass, the initial redshift, final redshift and step or mass interval in the file Consequently, will output 6 columns: redshift, halo mass, accretion rate, concentration, virial radius and scale radius.

    To run the code modify the input files and type

    $IDL> run,/COM
    $IDL> run,/MAH

    The following files were created using COMMAH. Each file contains columns of redshift, concentration, halo mass (in units of Log10[M]), mass variance (σ), peak height (ν) and accretion rate (in units of Log10[M/yr]). The concentration and halo mass definition correspond to M200, defined as all matter within a virial radius for which the mean internal density is 200 times the critical density.

    CosmologyΩmΩΛh σ8nsc-M File
    Planck0.3170.6830.670.8340.962 c-M Planck
    WMAP90.2820.7180.700.8170.964 c-M WMAP9
    WMAP50.2580.7420.720.7960.963 c-M WMAP5
    WMAP30.2380.7620.730.740.951 c-M WMAP3
    WMAP1/MILL0.250.750.730.901.000 c-M WMAP1
    How to cite COMMAH? If you use COMMAH for a publication, please cite Correa et al. (2015c), Correa et al. (2015b) and Correa et al. (2015a).

    Halo Mass Accretion Histories

    Analytic model

    The COMMAH code includes the calculation of halo mass accretion histories (MAH), following the analytic halo MAH model introduced in Correa et al. (2015a) and extended in Correa et al. (2015c). This analytic model is based on EPS theory, is physically motivated, can be extrapolated to very low masses and is suitable for any cosmology.

    The following files were created using COMMAH. Each file contains columns of redshift, halo mass (M(z), in units of Log10[M]), accretion rate (in units of Log10[M/yr]), halo concentration (c200), virial radius (r200 in units of Log10[Mpc]) and scale radius (in units of Log10[Mpc]).

    CosmologyΩmΩΛh σ8nsFiles
    Planck0.3170.6830.670.8340.962 MAHPlanck
    WMAP90.2820.7180.700.8170.964 MAHWMAP9
    WMAP50.2580.7420.720.7960.963 MAHWMAP5
    WMAP30.2380.7620.730.740.951 MAHWMAP3
    WMAP10.250.750.730.901.000 MAHWMAP1

    Semi-analytic model

    In the COMMAH code, all the calculations have been based on a halo mass defined as the mass of all matter within the radius r200 at which the mean internal density <ρ>(< r200) is a factor of Δ = 200 times the critical density of the universe, ρcrit (from now on we denote this halo mass by M200).

    However, in the literature a number of values have been used for Δ. For that reason in Correa et al. (2015b), my collaborators and I studied how the halo mass accretion histories depend on the adopted mass definition. We analysed halo mass histories of relaxed halos using three different halo mass definitions. First, we use M200. Second, we use Mmean, which is the mass within the radius rmean for which the mean internal density is 200 times the mean background density. Finally, Mvir is the mass within the radius rvir for which the mean internal density is Δvir times the critical density as determined by Bryan & Norman (1998).

    The code SemiAnalyticMAH calculates the halo mass accretion histories for the three halo mass definitions mentioned above.

    CosmologyΩmΩΛh σ8nsFiles
    WMAP50.2580.7420.720.7960.963 MAHWMAP5