We constructed merger trees using the consistent-trees code (Behroozi et al. 2013). Because the current version of the consistent-trees code can not run in parallel on distributed memory environment, we can not use as it is to construct merger trees for huge simulations such Uchuu. To overcome the most significant obstacle, we split the entire Uchuu box into smaller regularly spaced sub-volumes and run consistent-trees code for each sub-volume separately. See Ishiyama et al. 2020 for the details of the adopted algorithm.
The generated ascii catalogues were then converted using the custom uchuutools package. The halo catalogues were converted using the script convert_halocat_to_h5 while the tree catalogues were converted using the convert_ctrees_to_h5.
• How to download the data
Mergertree Data Format
Most of the properties in the tree catalogues are already found in the halo catalogues. Please refer to the documentation in the halo catalogues page for details such columns. The new columns that have been added to the tree catalogues are FofID, FirstHaloInFOFgroup, NextHaloInFOFgroup, PrevHaloInFOFgroup, FirstProgenitor, NextProgenitor, PrevProgenitor, Descendant. With the exception of FofID, the remaining fields are indices that refer to another halo within the same forest. These indices are forest-local (i.e., range from [0, nforests-1] and follow the LHaloTree convention (see figure below; Credits). The FofID is the haloID for the host halo that contains the (sub-) subhalo. The PrevProgenitor and PrevHaloInFOFgroup have been added to allow more flexible tree-walking.
We have added two additional datasets that contain forest-level and tree-level information:
- ForestInfo - This dataset has the shape of (nforests_in_file, ) and contains the following fields
- TreeInfo - This dataset has the shape of (ntrees_in_file, ) and contains the following fields
The other columns in the TreeInfo dataset are used for testing and are unlikely to be required in any user application.
For details on the fields carried across from the Consistent-Trees catalogue, we have preserved the header information from the ascii Consistent-Trees catalogue. This information is available under the root dataset as the metadata attribute (i.e., hf.attrs['Consistent Trees_metadata'] from the example above). The cosmological parameters and the boxsize are available as attributes under the group hf['simulation_params'].
Reading and Analysing the trees
The halos within each forest are stored contiguously and can be easily accessed using the ForestInfo dataset in the hdf5 file.If you want to analyse and visualise the mergertrees, then we recommend installing the development version (in the branch h5ctrees ) of ytree. Installing the dev version of ytree will require first installing the development version of yt through the following steps:
1. git clone https://github.com/yt-project/yt
2. cd yt
3. python -m pip install -e . (--user)
After yt is installed, then install ytree with the following steps:
- git clone https://github.com/brittonsmith/ytree
- cd ytree
- git checkout h5ctrees
- python -m pip install -e . (--user)