NOAA-GFDL/MOM6

redundant points when using oblique_tan OBC option

Opened this issue · 1 comments

When using the OBLIQUE_TAN OBC option on a J boundary (J=0 or J=N) there is a bug producing redundant values at u points. Some of these redundant values are round off level errors, but some are comparable to the size of the variable.

I found this issue while testing the ESMG Bering case using FMS2. Note that the version on github is using ORLANSKI and ORLANSKI_TAN OBCs.

The redundant points first occur after the horizontal viscosity update in MOM_dynamics_split_RK2 in CS%diffu and then are incorporated into the u_bc_accel. There are several instances where the OBCs are used in the horizontal_viscosity subroutine that could be the source of this error.

With the OBC options: FLATHER,OBLIQUE,NUDGED, and NUDGED_TAN this issue did not occur, it was only when OBLIQUE_TAN was added that the redundant points occurred.

Other things to note:
(1) only an issue when OBCs were at J boundaries
(2) impacts all layers (only a subset of the errors are shown below)
(3) may be only impacting points in the row i=4 (the PE number us cut off on the error messages)
(4) only impacted u components/velocities
(5) this case used a land mask and variable mixing

Example of the redundant point output:

before corr pre-btstep CS%diff Layer 1 redundant u-components -2.5538E-09 -2.5470E-09 differ by  -6.7866E-12 at i,j =    4   5 on 
before corr pre-btstep CS%diff Layer 1 redundant u-components  2.6922E-08  2.6419E-08 differ by   5.0270E-10 at i,j =    4   5 on 
before corr pre-btstep CS%diff Layer 1 redundant u-components -1.7640E-08 -1.7735E-08 differ by   9.5510E-11 at i,j =    4   5 on 

before corr pre-btstep u_bc_accel Layer 1 redundant u-components  2.7154E-06  2.7153E-06 differ by   9.5510E-11 at i,j =    4   5 
before corr pre-btstep u_bc_accel Layer 1 redundant u-components  2.6223E-06  2.6223E-06 differ by  -6.7866E-12 at i,j =    4   5 
before corr pre-btstep u_bc_accel Layer 1 redundant u-components  6.5393E-06  6.5388E-06 differ by   5.0270E-10 at i,j =    4   5 

This should be tested again, but it might be fixed.