Meaning of Merger Tree "SubhaloID"

Bendegúz Koncz
  • 23 Nov '22

Dear Sir/Madam,

I would appreciate some further information about the TNG100-1 Sublink merger trees. I downloaded all of the Sublink trees. As I read in the description "the SubhaloID is a unique identifier of this subhalo, assigned in a "depth-first" fashion (Lemson & Springel 2006). This value is contiguous within a single tree." I started my work with the first tree: "...sublink.0.hdf5" in which I found that all the SubhaloIDs are in ascending order and they are equal with the individual subhalos list index. But when I tried to analyse the other trees, the values of the SubhaloIDs from relative small numbers (0 to ~25millions) have changed to Quintillions and they got additional (at first sight random) trillions e.g.: 50000000000673577 and 50000002000001331. But the last digits are following the list indexes.

My question would be that is there a connection pattern in every merger tree between the SubhaloIDs and the list indexes, as in the 0. sublink or there is no connection at all between them?

I would like to thank you in advance.
Yours sincerely,
Bendegúz Koncz

Dylan Nelson
  • 24 Nov '22

In general, for SubLink, there is no connection between SubhaloID and the index of that entry (i.e. node) within the global tree.

There are two important parts of the documentation description: "assigned in a depth-first fashion" means that SubhaloID is a unique ID which is created for organizational purposes. To make this ID unique across snapshots, the value equals 1000000000000 * snapshot_number + sub_index where sub_index is an internal index of SubLink. This large number is the reason why the SubhaloID values are large.

The second important part is "contiguous within a single tree". This is the aspect which is used in practice. It means, for example, that the main progenitor branch is a contiguous set of entries, and the index range of these nodes can be obtained by using the other IDs available (in this case, MainLeafProgenitorID).

Perhaps the use is clearest by looking at the example of loading a tree.

  • Page 1 of 1