I need to classify central galaxies of satellite galaxies, in the documentation say that this information is in Supplementary Data Catalogs, Molecular and atomic hydrogen (HI+H2) galaxy contents, is_primary and is availble for TNG100-1, TNG100-2, TNG300-1, and Illustris-1. I download Illustris-1, but in this file (Molecular and atomic hydrogen (HI+H2) galaxy contents, is_primary for 135, i.e, hih2_galaxy_135.hdf5) only have 184792 galaxies, in my files I have 237102 galaxies with mass different zero, where I can find the information of all galaxies?
Thanks in advance!
I'm not sure if you mean (i) classify centrals vs. satellites, or (ii) get molecular/atomic masses?
If (i), then you should use directly GroupFirstSub from the group catalogs, which provides, by definition, a list of all central subhalos.
GroupFirstSub - int32 N - Index into the Subhalo table of the first/primary/most massive Subfind group within this FoF group. Note: This value is signed (or should be interpreted as signed)! In this case, a value of -1 indicates that this FoF group has no subhalos.
I need to find a way to classify Galaxies centrals vs satellite inside a subhalo, I'm not sure how to use GroupFirstSub for this purpose.
The array GroupFirstSub, excluding -1 entries, provides a list of all central subhalos. Any subhalo not referenced here is a satellite.
Ok, it's clear, my doubt is around the numbers in GroupFirstSub files and the quantity of SubHaloMass , groupfirstsub is always much bigger than number of subhalos, for example:
len(GroupFirstSub) = 131727 (at line 42658 into groups_135.0.hdf5 appear the number 4294967295 and so on, what does it mean?)
len(GroupFirstSub) = 7713601
len(GroupFirstSub) shouldn't be less than len(SubhaloMass)?
The number of central subhalos can be greater or equal to all number of subhalos?
First, the number 4294967295 is really -1, meaning no first sub. You can fix this by e.g. GroupFirstSub = GroupFirstSub.astype('int32') after loading.
GroupFirstSub = GroupFirstSub.astype('int32')
Then, as you say, len(GroupFirstSub) gives the number of halos, while len(SubhaloMass) gives the number of subhalos. So, GroupFirstSub.max() < len(SubhaloMass), because it is the values of GroupFirstSub which index into SubhaloMass.
GroupFirstSub.max() < len(SubhaloMass)