For a given subhalo one can access the primary flag, and working back through the main progenitor branch can build up the primary flags as a function of time.
For some subhalos such an array returns expected results (eg. subhalos that have always been primaries/centrals, subhalos that transitioned from primaries to satellites), but for some subhalos there are multiple transitions from primary to central, and back. I understand that the primary flag is reporting the "answer" based on Subfind, as you describe here, where Subfind classifies the most massive subhalo as the central. In these back-and-forth cases, I expect that at a given snapshot, a certain subhalo may be the most massive subhalo within a halo, but that a merger by two other subhalos could create a more massive subhalo, and the original subhalo is now classified as a satellite. This seems more likely than a massive subhalo moving quickly through a given halo, displacing a less massive subhalo from its central status for only a few snapshots. Do you have any suggestions about how to interpret these situations, or how to best define when a subhalo became a satellite? For the moment I have broadly defined such cases as ambiguous, to follow up with later.
On a technical note, is there a faster way to access the primary flag information? It's not included in the MPB files.
Thanks for any insight you can provide!
This is possibly what we call the "subhalo switching" problem. It is described in the Rodriguez-Gomez+15 paper on SubLink. Also see this thread.
In short, as a merger is progressing, if it involves two halos of similar mass, it is difficult for Subfind to always decide on the "correct" central, between the two. At successive snapshots, which subhalo is marked the central can therefore switch back and forth. Physically, in e.g. a 1-to-1 merger, the distinction between the central and satellite is not well posed.