Subhalo ID in the Galaxy Catalog

Ambica Govind
  • 1
  • 7 Jun '23

Hi, I don't see any field to identify the galaxy in the Subfind Subhalos Catalog. I was expecting to find a field named SubfindID or SubhaloID. Is there a way to extract this from the given data? Is SubhaloIDMostBound the field that I'm looking for?

Dylan Nelson
  • 7 Jun '23

Does the FAQ entry answer your question?

Ambica Govind
  • 10 Jun '23

Not really. I'll explain my problem better. I wish to extract a certain subset of galaxies within the subhalo catalog and visually check their morphology. Now I can't do the latter because I require SubhaloIDs for each one of them, which isn't returned in the loadSubhalos function. Another way to go about it would be to extract all subhalo IDs associated with head halo but I observe that the number of subhalos obtained this way is much larger than with the loadSubhalos function. My questions are: a) why is this so and b) is there a workaround for my stated problem? Because any analysis via the second method is proving to be computationally expensive.

Dylan Nelson
  • 10 Jun '23

A "subhalo ID" is the index, of any dataset of the group catalog (i.e. any dataset loaded by il.groupcat.loadSubhalos).

How are you selecting? For example:

fields = ['SubhaloMass']
SubhaloMass = il.groupcat.loadSubhalos(basePath,snapNum,fields=fields)

ids = np.where(SubhaloMass >= 100/0.6774)[0]
Ambica Govind
  • 15 Jun '23

Got it. I think that solved my problem. Another related issue: how can I obtain the SubhaloID from any of the Supplementary Catalogs, say for (g) Stellar Assembly?

Dylan Nelson
  • 15 Jun '23

There are generally two types of catalogs: those which have values for all subhalos, and those which have values for only a small subset of subhalos.

For the former, the size of all datasets is equal to the size of all datasets in the actual group catalogs, i.e. the Subhalo IDs are again simply the indices of those datasets. This is the case for "(g) Stellar Assembly".

For the latter, the subhalo IDs are explicitly listed, so that you know to which subhalos the values correspond. This is the case for e.g. "(j) Barred Galaxies Properties and Evolution".

Ambica Govind
  • 16 Jun '23

Separately, the files corresponding to stellar assembly are huge. I may not have enough space on my PC to accommodate them. Is there another way to extract stellar mass?

Ambica Govind
  • 16 Jun '23

Separately, the files corresponding to stellar assembly are huge. I may not have enough space on my PC to accommodate them. Is there another way to extract stellar mass?

Ambica Govind
  • 2
  • 16 Jun '23

Separately, the files corresponding to stellar assembly are huge. I may not have enough space on my PC to accommodate them. Is there another way to extract stellar mass?
Forgive me for posting it four times. It was an accident. I figured out the solution. Thanks for your help.

Dylan Nelson
  • 16 Jun '23

There are many possible definitions of "stellar mass", but several of them are available in the normal group catalogs (no need for the Stellar Assembly files). For example, SubhaloMassType[4], SubhaloMassInRadType[4], SubhaloMassInHalfRadType[4].

If you want to use the Stellar Assembly catalogs without downloading them, perhaps the Lab service would be best.

Ambica Govind
  • 8 Oct '23

@Dylan Nelson said:
A "subhalo ID" is the index, of any dataset of the group catalog (i.e. any dataset loaded by il.groupcat.loadSubhalos).

How are you selecting? For example:

fields = ['SubhaloMass']
SubhaloMass = il.groupcat.loadSubhalos(basePath,snapNum,fields=fields)

ids = np.where(SubhaloMass >= 100/0.6774)[0]

With regards to the above statement, is the subhalo with ID=0 in an earlier snapshot same as the progenitor of ID=0 in snapshot 99?

Dylan Nelson
  • 9 Oct '23

In general, no. There is no relation between subhalo IDs at different snapshots.

To find progenitors or descendants, you need to use the merger tree.

  • Page 1 of 1