The failing test in #4487 suggests that velocity exchanges across the tripolar seam may not be handled correctly. Regardless of whether this is the root cause, it would be valuable to add a more robust unit test to explicitly verify exchange behavior.
I propose extending this testset with a test that:
- Initializes
u and v from a random streamfunction.
- Applies velocity exchanges across the seam ( I think via
fill_halo_regions!?).
- Applies the exchanges a second time.
- Verifies that the initial velocity fields coincide with the velocity fields after the second exchange.