The SubfindID of the subhalo’s descendant

Qin PENG
  • 1
  • 27 Mar '21

Hi Dylan,

The merger tree seems only trace the history of the subhalo. If I set snapNum=95, the result only contain the snapshot less than 95. So, how can I obtain the tree of afterward development? For example, how can obtain the Index of the descendant in the Subfind group catalog?

Dylan Nelson
  • 27 Mar '21

Hi Qin,

You can use e.g. the loadMDB=True option for sublink.loadTree(). The "D" means descendant, rather than the usual MPB where "P" means progenitor.

In the online API you can access this same information with the desc_snap and desc_sfid fields, similar to prog_snap and prog_sfid.

Qin PENG
  • 28 Mar '21

Hi Dylan,

I mean if I set snapNum=95, how can i obtain the decendant in the snapshot 96 and furthermore in the snapshot 99? I do can obtain the SubhaloID of the decendant. However, this ID is not the index in the subfind group catalog. The ID which loadTree required is the index in the subfind group catalog, not the unique identifier of the subhalo.

Dylan Nelson
  • 28 Mar '21

You want the SubfindID instead of the SubhaloID in the SubLink merger tree. The former connects to the group catalog. The latter is for internal use in the merger tree.

Qin PENG
  • 28 Mar '21

The the DescendantID is the suhaloID. Now I obtain the subhaloID of the decendant from the merger tree, how can I get the subfindID of the decendant? I want to further get the FoF of the decendant. In other word, I want to know the mapping between the subfindID and the subhaloID. Thank you.

Dylan Nelson
  • 28 Mar '21

Every entry in the tree has a field SubfindID, which is what you need, together with SnapNum, to connect it to the group catalog.

Qin PENG
  • 29 Mar '21

I know. However, the results only include the snapshots which is earlier than the snapNum I input. For example,

In : tree = il.sublink.loadTree(basePath=basePath,snapNum=94,id=subhaloID,onlyMPB=True)
In : tree['SnapNum']
Out:
array([94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78,
77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61,
60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44,
43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27,
26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10,
9, 8, 7, 6, 5, 4, 3, 2, 1], dtype=int16)

Now, I want to get the results of the snapNum = 95, 96, …

Dylan Nelson
  • 29 Mar '21

You can change onlyMPB=True to onlyMDB=True.

Qin PENG
  • 29 Mar '21

I see. You have upgraded the python tool. Thank you.

  • Page 1 of 1