Using np.roll rather than sub-slices for PLM calcs