NCAR / MOM6

NCAR/CESM fork of the Modular Ocean Model v.6 (MOM6)
Other
3 stars 20 forks source link

+Reproducing KPP_smooth_BLD when KPP%N_SMOOTH > 1 #285

Closed Hallberg-NOAA closed 4 months ago

Hallberg-NOAA commented 4 months ago

Revised KPP_smooth_BLD() to reproduce across processor count and layout when USE_KPP is true and KPP%N_SMOOTH > 1. The specific changes include adding a variable with the total ocean depth before doing the iterations, doing a halo update on this total ocean depth, marching in the working do-loop size with successive iterations, and moving the code to calculate CS%kOBL into a separate loop that is exercised after all of the iterations for the smoothing passes on CS%OBLdepth. This commit will change answers (so that they reproduce across processor count and layout) when USE_KPP is true and KPP%N_SMOOTH >= 2, but it gives bitwise identical answers when KPP%N_SMOOTH <= 1.