How can I identify the subhalo type(central/satellite) thorugh main progenitor branch?
Jaewon Choi
12 May
Hi Dylan,
For all subhalos with stellar mass>(certain limit) in each snapshots, I want to
1) decide wheter each subhalo is 'central' or 'satellite' in each snapshots,
and
2) working back through the main progenitor branch, bulid up 1) as a function of time.
for 1), I've tried several methods
a) using the tutorial code, I identified central_subhalo_ids. Therefore I was able to know which subhalo id is corresponding central or not.
b) I tried using L-galaxies semi-analytical model. With 'Galaxy/Type', I was able to determine whether each galaxy is central or not.
But I don't think these are the best method. So I searched for some informations, and noticed there exists a 'primary_flag' information for each subhalo.
Then how can I access 'primary_flag' information using python?
for 2), I tried "il.sublink.loadTree" (which is in tutorial code) for all of the subhalos I want, but it takes too much time since I need to search for 3430706 galaxies.
Is there any possible solution?
Thank you.
Dylan Nelson
14 May
(1) As you say, you can create a list of central IDs, and satellite IDs, by following their definitions. As done in the tutorial, this is the correct way. The "primary_flag" in the API has exactly the same information, it is 1 for centrals, and 0 otherwise.
You should not use anything from the L-Galaxies catalog unless you specifically want to analyze the L-Galaxies result.
(2) You could write a new version of loadTree which specifically was designed to load more than one (or all) trees at once. This would be much faster than loading trees one at a time, but would use more memory. You would have to write this function yourself, it does not exist in illustris_python.
Hi Dylan,
For all subhalos with stellar mass>(certain limit) in each snapshots, I want to
1) decide wheter each subhalo is 'central' or 'satellite' in each snapshots,
and
2) working back through the main progenitor branch, bulid up 1) as a function of time.
for 1), I've tried several methods
a) using the tutorial code, I identified central_subhalo_ids. Therefore I was able to know which subhalo id is corresponding central or not.
b) I tried using L-galaxies semi-analytical model. With 'Galaxy/Type', I was able to determine whether each galaxy is central or not.
But I don't think these are the best method. So I searched for some informations, and noticed there exists a 'primary_flag' information for each subhalo.
Then how can I access 'primary_flag' information using python?
for 2), I tried "il.sublink.loadTree" (which is in tutorial code) for all of the subhalos I want, but it takes too much time since I need to search for 3430706 galaxies.
Is there any possible solution?
Thank you.
(1) As you say, you can create a list of central IDs, and satellite IDs, by following their definitions. As done in the tutorial, this is the correct way. The "primary_flag" in the API has exactly the same information, it is 1 for centrals, and 0 otherwise.
You should not use anything from the L-Galaxies catalog unless you specifically want to analyze the L-Galaxies result.
(2) You could write a new version of
loadTree
which specifically was designed to load more than one (or all) trees at once. This would be much faster than loading trees one at a time, but would use more memory. You would have to write this function yourself, it does not exist in illustris_python.