Determining Which Subhalos Belong to Which Halo in a Subbox

David DeAngelo
  • 11 Jun '21

I am attempting to download data for the TNG100-1 subbox. I noticed that
only snapshots are available, not the group catalogues, on the website. Is
there anyway to obtain the group catalogues? Most important for my
purposes is the identifiers for subhalos to know which halo they belong to.


Dylan Nelson
  • 12 Jun '21

Hi David,

There are unfortunately no group catalogs for the subbox snapshots - they simply don't exist.

This means that analysis (scripts) of subboxes are usually different than normal snapshots, since you cannot e.g. load the particles/cells belonging to a specific halo.

The one resource available is the Subbox Subhalo List supplementary catalog. This uses the fact that the full snapshots closest to each subbox do have group catalogs, and so the existence (and e.g. position) of subhalos can thus be interpolated, roughly, to the time of the subboxes. It may be useful for you.

David DeAngelo
  • 14 Jun '21

Thank you for your response! I had another question concerning using the Subbox Subhalo List. I was attempting to access the fields of the Subbox Subhalo List but was struggling to do so. Could you please explain why the following may be the incorrect method of accessing the fields and how I may do so properly? The error I am being told is that the field does not exist.

snap_sub = il.snapshot.loadSubhalo(basePath, snapNum, 1, 'dm', fields=['FullBoxSnapNum'])


Dylan Nelson
  • 15 Jun '21

This data (like all the supplementary catalogs) are not part of the snapshots or group catalogs, so they cannot be loaded with the same functions.

Instead they should just be treated as stand-alone HDF5 files. See the h5py docs for a general introduction.

In this case, you could do e.g.

with h5py.File('subbox0_99.hdf5','r') as f:
    snap_sub = f['FullBoxSnapNum'][()]
  • Page 1 of 1