Fixing some zoom issues/bugs
I managed to create a configuration which highlighted some issues with the code. I first set out to solve a regridding issue it highlighted but after fixing those I found a couple of others.
- Now that
zoom_bkg_subdepth_diff_grav
exists there's no need to "always" split tasks on neighbour cells (previously done incell_can_split_pair_gravity_task
). In fact, forcing the splitting here can lead to splitting tasks which can't go any lower on the other cell in pair and leads to errors. - There was a particular path that could be taken through the long range gravity logic that led to a progeny with no mass being considered for whether an interaction should be done. This is no longer the case.
- The regriding logic never considered the zoom region
dim
or the zoomcdim
meaning the regriding considerations were being made at the background level. In specific circumstances this could lead to erroneous regrids and worse, would miss any instances where one would genuinely be needed).