Accessing merger trees of individual halos

Nick Choksi
  • 13 Jun '16

Hi all,

I would like to download merger trees for individual halos from the dark matter only run of Illustris (Illustris 1, preferably) - what would be the easiest way to go about doing this? For example, if I would like to download the merger history of, say, the halo with ID 0 at redshift 0, how would I do this? Also, is there a way to get the output in a .txt format? From the looks of it, the output files are not text files - but perhaps I am missing something.

So far, I have downloaded the example code to my computer and added the directory of the example code to the PYTHONPATH.

Thanks in advance!

Dylan Nelson
  • 13 Jun '16

Hi Nick,

You can download the main progenitor branch (MPB) of the SubLink merger tree of Subhalo ID 0 at redshift 0 (snapshot 135) from Illustris-1-Dark run at:

http://www.illustris-project.org/api/Illustris-1-Dark/snapshots/z=0/subhalos/0/sublink/mpb.hdf5

while the full merger tree (which is 400 MB in this case) can be downloaded by replacing mpb.hdf5 with full.hdf5 in the above URL.

You can request a text/JSON format instead of HDF5 by replacing .hdf5 with .json in either URL. However, this only makes sense for the MPB in this case (and smaller trees in general).

Nick Choksi
  • 13 Jun '16

Hi Dylan,

Thanks! Two more quick questions, if you don't mind: 1.) Is there a way to download the tree but filter out certain halos in the merger history? More specifically, I only need halos in the tree above ~10^9 solar masses. 2.) Do I need the full group catalog at z = 0 to be able to use the example scripts for walking through the merger tree?

Dylan Nelson
  • 1
  • 13 Jun '16

(1) This isn't possible - the tree is really a set of links, so if you 'filtered' out entries you'd have 'broken' links or incomplete trees. If you meant more like, determining some property of the tree ignoring halos below 10^9 Msun (an example would be counting the number of mergers, or the contribution of ex situ stars, but only with/from halos above 10^9 Msun) you instead 'walk' the tree (follow the links) and don't count instances where you don't satisfy your criterion.

(2) Really yes you should get it, it's only 1.5 GB.

Nick Choksi
  • 13 Jun '16

Thanks again Dylan. So, if I wanted to walk the tree as you suggest, how would I go about doing this? For each merger, I'd like to check some criterion involving the total mass of the descendant halo, the first progenitor, and the next progenitor (if a second progenitor exists). Is there a built in function in the example code? Sorry for all the questions :)

Dylan Nelson
  • 14 Jun '16

The function numMergers() in sublink.py together with the merger tree documentation (specifically what the "FirstProgenitor" and "NextProgenitor" type links mean) should be a good starting point.

  • Page 1 of 1