# Relating the structure of dark matter halos to their assembly and environment

Chen Y., Mo H.-J., Li C., et al., 2020, AAS submitted.
yangyaochen.astro@foxmail.com

## Calculators for Dark Matter Halo Structural Properties

We provide both an on-line calculator and a Python programming interface for users to predict halo structural properties (i.e., concentration, shape, and spin) from other halo properties (i.e., halo mass, assembly history, tidal field and bias factor). The detail description of the dimension reduction and regression methods can be found at the Appendix A of the paper. The output of the calculator is the structural parameter synthesized from a mean value (output from the regressor of template data) combined with a random noise.

The online calculator only provides limited set of predictors, and can only compute ONE halo structural property for ONE halo at each query. To compute on a large set of halos, or to use more complete and flexible combinations of predictors, please try the Python interface.

### Programming Interface

A more complete calculator is provided through Python interface. The installation guide and usage documentation can be found at Github.

The easiest way to install our package is to use PyPI. Supposing you already have a Python3 environment, just use pip to install our package haloprops under your shell.

$pip install haloprops  This will download and install haloprops and all its dependencies. Now try to fit and predict halo structural parameters with the following example code from haloprops.structure import StructurePredictor # fit template data sp = StructurePredictor() sp.fit('concentration') # make prediction for 3 halos from their four properties ( the first PC of assembly history, halo mass, tidal anisotropy parameter, halo bias ) X = [[ 1.55278125e+00, 2.78270723e+04, 1.88321865e-01, 4.02548960e+00], [ 3.08029618e-01, 2.88465363e+02, 1.81991570e-01, -1.14664588e-01], [ 3.46576614e-01, 1.57965881e+03, 4.11933281e-01, 2.77537420e+00]] concentration = sp.predict(X).val print(concentration)  The output will be like [8.62213406 8.98157622 7.72968138]  ## Catalogs of Halo Properties Here we provide two catalogs extracted from ELUCID simulation (L=500, N=3072). The first is 'Highmass Sample', which includes all of the halos in the simulation in the top-hat mass range$[10^{13.4}, 10^{14.6}) h^{-1}M_\odot$. The second is 'Lowmass Sample', which includes a subset of halos in the simulation in the top-hat mass range$[10^{11}, 10^{13.4}) h^{-1}M_\odot$. The selection of the second sample is that, we first divide the mass range$[10^{11}, 10^{13.4}) h^{-1}M_\odot$into bins whose width are$0.3\ {\rm dex}$, and then randomly choose 10000 halos in each bin. The union the two samples are the sample$\rm S_L$defined in our paper. ### Data Access Please choose the sample, the (top-hat) mass range, the required halo properties, and the output format. Then click the submit button. The available file format is either plain text (choose 'text') or HDF5 (choose 'HDF5'). If 'show in browser' is selected, a summary statistics of the sample will be displayed. Sample Selection$10^{10}h^{-1}M_\odot\$
Required Properties
Output
Output format: text HDF5 show in browser