I am wondering if the halo_id of a specific halo changes with each snapshot? The subhalo_id seems to be specific to one snapshot and can be traced with the SubLink tree, but no such tree exists for halos.
What I would like to determine is whether specific subhalos in a group were all members of a different group in earlier snapshots. In other words, did a small group of satellite galaxies, now members of group Y, previously all belong to group X (which I might interpret to mean they fell in along the same filament). I've been able to determine the halo_id of the satellites prior to joining the current group, but if the infall of different satellites happens in different snapshots I need to know how (or if) the halo_ids change across snapshots so I can track them.
Really appreciate any help!
Yes halo IDs change across snapshots, just like subhalo IDs.
While there is no dedicated tree for halos, the typical approach is to follow the corresponding tree of the central subhalo. You can always map between central subhalo and halo (with GroupFirstSub and SubhaloGrNr).