Since the HaloField can get quite large, there can be a significant amount of IO which slows down the simulation when caching. However we don't always need to save both HaloField and PerturbHaloField. So this change would have two steps:
Move the perturb_halo_field call to the forward time loop, and switch the caching to the HaloField
Create a flag which switches on/off the caching of the PerturbHaloField
Since calls to perturb_halo_field are quite quick (possibly faster than the IO), I would imagine that the default should be to not cache it.
Since the HaloField can get quite large, there can be a significant amount of IO which slows down the simulation when caching. However we don't always need to save both HaloField and PerturbHaloField. So this change would have two steps:
Since calls to perturb_halo_field are quite quick (possibly faster than the IO), I would imagine that the default should be to not cache it.