sign_pbc and SubhaloPhaseSpace
I'm not 100% sure this is a bug, but let's discuss that. SubhaloPhaseSpace uses sign_pbc (or it's internal version _sign_pbc) to calculate relative phase-space positions between subhalos and host halos. sign_pbc throws an assertion error if any phase-space coordinate of a subhalo or host halo meets or exceeds the periodic boundary conditions.
assert np.all(x1 < period)
assert np.all(x2 < period)
In some cases, this behaviour might be undesired. In my case, some (a handful) of halos have coordinates lying on the periodic boundary conditions. This should in principle not happen but is unavoidable due to rounding errors. (I downloaded a halo catalog from cosmosim.org which has less accuracy than the original ROCKSTAR catalogs.)
Would it make sense to change the above lines?
assert np.all(x1 <= period)
assert np.all(x2 <= period)