From 4b5ff3a124b49e4a9d142486d7c7d2d6d6e67fab Mon Sep 17 00:00:00 2001 From: Maciej Waruszewski Date: Tue, 24 Mar 2026 17:03:49 -0600 Subject: [PATCH] Exchange state halo at every Runge-Kutta stage --- components/omega/src/timeStepping/RungeKutta2Stepper.cpp | 2 +- components/omega/src/timeStepping/RungeKutta4Stepper.cpp | 7 +------ 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/components/omega/src/timeStepping/RungeKutta2Stepper.cpp b/components/omega/src/timeStepping/RungeKutta2Stepper.cpp index f4b697529db0..227ef636bc88 100644 --- a/components/omega/src/timeStepping/RungeKutta2Stepper.cpp +++ b/components/omega/src/timeStepping/RungeKutta2Stepper.cpp @@ -44,7 +44,7 @@ void RungeKutta2Stepper::doStep(OceanState *State, // model state updateTracersByTend(NextTracerArray, CurTracerArray, State, NextLevel, State, CurLevel, 0.5 * TimeStep); - // We need to exchange tracer halos at every stage for high-order advection + State->exchangeHalo(NextLevel); MeshHalo->exchangeFullArrayHalo(NextTracerArray, OnCell); // R_q^{n+0.5} = RHS_q(u^{n+0.5}, h^{n+0.5}, phi^{n+0.5}, t^{n+0.5}) diff --git a/components/omega/src/timeStepping/RungeKutta4Stepper.cpp b/components/omega/src/timeStepping/RungeKutta4Stepper.cpp index 1b882e7631b9..39bbc93a242e 100644 --- a/components/omega/src/timeStepping/RungeKutta4Stepper.cpp +++ b/components/omega/src/timeStepping/RungeKutta4Stepper.cpp @@ -101,12 +101,7 @@ void RungeKutta4Stepper::doStep(OceanState *State, // model state Pacer::timingBarrier("RK4:haloExchProvisBarrier", 3, Comm); Pacer::start("RK4:haloExchProvis", 3); - // TODO(mwarusz) this depends on halo width actually - if (Stage == 2) { - ProvisState->exchangeHalo(CurLevel); - } - // We need to exchange tracer halos at every stage for high-order - // advection + ProvisState->exchangeHalo(CurLevel); MeshHalo->exchangeFullArrayHalo(ProvisTracers, OnCell); Pacer::stop("RK4:haloExchProvis", 3);