I'm trying to extract the merger trees for specific subhalos. I'm extracting them using the SubfindID, but te result is a list of subhalos (for example when is ask for the DescendantID), but that ID's are naturrally different from the SubfindID.
In order to continue my work, I'm asking for the relation between SubfindID and SubhaloID (any conversio formula, or a code, or a complementary file), because I need to extract also another quantities, but I just can do that using the SubfindID.
Thanks
Dylan Nelson
15 Aug '19
Hi Andres,
If you are loading the DescendantID's of trees, then you are right that these "IDs" are referencing within the tree structure, not within the group catalog.
If you want to load some other property (or particles), then you want to load the SubfindID fields of those tree entries.
Perhaps if you can clarify a bit more what you mean, I can help further. In general, there is no equation mapping SubfindID<->SubhaloID.
Andrés Cardona
16 Aug '19
Hi Dylan,
I understand that the ID's in Sublink and Subfind files are different.
I'm working with the merger trees, and I'm trying to find a connection between the SublinkID and the SubfindID.
Imagine this: I track the merger tree for a specific subhalo. In this, several others subhalos appears. I take that subhalos that I find in the merger tree, and to continue my work, I'm interested in locate those subhalos in the Subfind catalog. Is that possible?
Dylan Nelson
16 Aug '19
Yes, at any point in the tree you can use the combination of SnapNum and SubfindID to locate that subhalo in the Subfind catalog.
Andrés Cardona
16 Aug '19
I can't understand, I mean.
In the Sublink files there are a SubfindID. But if I'm not wrong, this corresponds to the SubfindID for the subhalo I'm extracting the merger tree, not for those that I find inside de merger tree. Am I wrong?
Dylan Nelson
16 Aug '19
Hi Andres,
There is SubhaloID, which is an internal tree reference, and there is SubfindID, which as described in the docs is "Index of this subhalo in the Subfind group catalog."
Francisco Andrés Salinas
28 Oct '19
Hi! I have a similar problem, need know the SubfindID of the Descendant in determined subhalo, want know the properties of the Descendant. But I can't find the SubfindID for the next SnapShoot. I only have the subhaloID in the tree. Exist some way to find the decendant in the next snapshoot?
Dylan Nelson
28 Oct '19
Hi Francisco,
The way is: use the SubhaloID to "load" the correct entry for that descendant in the tree. Once you have the entry, it has both SnapNum and SubfindID'.
Hi Dylan,
I have a question along similar lines. I am facing issue accessing the merger trees, and I believe I am missing something trivial. I think I do not understand what id variable stands for in loadTree function. I saw that the FirstProgenitorID of the subhalo 0 at snapshot 0 is 96 at snapshot 4. So, I entered il.sublink.loadTree(basePath, 4, 96, fields = fields, onlyMDB = True) to see if I would be obtain back subhalo 0 at snapshot 99 using DescendantID, but I think I am not seeing what I expected.
I understand that SubhaloID and SubfindID are different. But entering the SubfindID in loadTree does not seem to work at all (throws errors).
I tried checking the documentation here to see what the id means, but I could not figure it out. I request you to help me in this regard
Dylan Nelson
28 Jul '23
All of the loading functions, which are for a specific halo or subhalo, accept the ID of a halo or subhalo.
Pradyumna Sadhu
28 Jul '23
Hi Dylan,
Thank you for your response!
I think a more straightforward way to ask my questions would be as follows:
I would like to calculate the SubfindID corresponding to a DescendantID (from reading other answers on this forum, DescendantID corresponds to SubhaloID of the merger tree but not SubfindID).
Dylan Nelson
29 Jul '23
That's correct, DescendantID corresponds to a SubhaloID. Once you find the entry (index) in the tree of that "node" (whose SubhaloID equals the DescendantID you are searching for), you can also then just load the SubfindID of that node (i.e. index).
Please ignore this reply! I was using wrong offset files, it looks much better now. Apologies for spamming
Thank you again for the quick response, Dylan!
I am trying to obtain the orbits of all the subhalos which have infall times in 9.5 - 10 Gyr. In this regard, I was trying to see what the subhalo 143 at snapshot 79 was previously. I am obtaining a merger tree which does not even contain the snapshot 79 for some reason. Could you please help me in this regard? I apologize for the trouble
Hi,
I'm trying to extract the merger trees for specific subhalos. I'm extracting them using the SubfindID, but te result is a list of subhalos (for example when is ask for the DescendantID), but that ID's are naturrally different from the SubfindID.
In order to continue my work, I'm asking for the relation between SubfindID and SubhaloID (any conversio formula, or a code, or a complementary file), because I need to extract also another quantities, but I just can do that using the SubfindID.
Thanks
Hi Andres,
If you are loading the DescendantID's of trees, then you are right that these "IDs" are referencing within the tree structure, not within the group catalog.
If you want to load some other property (or particles), then you want to load the SubfindID fields of those tree entries.
Perhaps if you can clarify a bit more what you mean, I can help further. In general, there is no equation mapping SubfindID<->SubhaloID.
Hi Dylan,
I understand that the ID's in Sublink and Subfind files are different.
I'm working with the merger trees, and I'm trying to find a connection between the SublinkID and the SubfindID.
Imagine this: I track the merger tree for a specific subhalo. In this, several others subhalos appears. I take that subhalos that I find in the merger tree, and to continue my work, I'm interested in locate those subhalos in the Subfind catalog. Is that possible?
Yes, at any point in the tree you can use the combination of
SnapNum
andSubfindID
to locate that subhalo in the Subfind catalog.I can't understand, I mean.
In the Sublink files there are a SubfindID. But if I'm not wrong, this corresponds to the SubfindID for the subhalo I'm extracting the merger tree, not for those that I find inside de merger tree. Am I wrong?
Hi Andres,
There is
SubhaloID
, which is an internal tree reference, and there isSubfindID
, which as described in the docs is "Index of this subhalo in the Subfind group catalog."Hi! I have a similar problem, need know the SubfindID of the Descendant in determined subhalo, want know the properties of the Descendant. But I can't find the SubfindID for the next SnapShoot. I only have the subhaloID in the tree. Exist some way to find the decendant in the next snapshoot?
Hi Francisco,
The way is: use the
SubhaloID
to "load" the correct entry for that descendant in the tree. Once you have the entry, it has bothSnapNum
andSubfindID
'.By "load" I mean find the location in the tree for this entry, similar to how the actual sublink.loadTree() function works.
Hi Dylan,
I have a question along similar lines. I am facing issue accessing the merger trees, and I believe I am missing something trivial. I think I do not understand what
id
variable stands for in loadTree function. I saw that the FirstProgenitorID of the subhalo 0 at snapshot 0 is 96 at snapshot 4. So, I enteredil.sublink.loadTree(basePath, 4, 96, fields = fields, onlyMDB = True)
to see if I would be obtain back subhalo 0 at snapshot 99 usingDescendantID
, but I think I am not seeing what I expected.I understand that
SubhaloID
andSubfindID
are different. But entering theSubfindID
inloadTree
does not seem to work at all (throws errors).I tried checking the documentation here to see what the
id
means, but I could not figure it out. I request you to help me in this regardAll of the loading functions, which are for a specific halo or subhalo, accept the ID of a halo or subhalo.
Hi Dylan,
Thank you for your response!
I think a more straightforward way to ask my questions would be as follows:
I would like to calculate the
SubfindID
corresponding to aDescendantID
(from reading other answers on this forum,DescendantID
corresponds toSubhaloID
of the merger tree but notSubfindID
).That's correct,
DescendantID
corresponds to aSubhaloID
. Once you find the entry (index) in the tree of that "node" (whose SubhaloID equals the DescendantID you are searching for), you can also then just load theSubfindID
of that node (i.e. index).Please ignore this reply! I was using wrong offset files, it looks much better now. Apologies for spamming
Thank you again for the quick response, Dylan!
I am trying to obtain the orbits of all the subhalos which have infall times in 9.5 - 10 Gyr. In this regard, I was trying to see what the subhalo 143 at snapshot 79 was previously. I am obtaining a merger tree which does not even contain the snapshot 79 for some reason. Could you please help me in this regard? I apologize for the trouble