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,
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?
Hi Qin,
You can use e.g. the
loadMDB=True
option forsublink.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
anddesc_sfid
fields, similar toprog_snap
andprog_sfid
.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.
You want the
SubfindID
instead of theSubhaloID
in the SubLink merger tree. The former connects to the group catalog. The latter is for internal use in the merger tree.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.
Every entry in the tree has a field
SubfindID
, which is what you need, together withSnapNum
, to connect it to the group catalog.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, …
You can change
onlyMPB=True
toonlyMDB=True
.I see. You have upgraded the python tool. Thank you.