New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
#1750 (no-slip in AGRIF - nest boundaries in open ocean treated like coasts) – NEMO

Opened 8 years ago

Closed 7 years ago

#1750 closed Defect (wontfix)

no-slip in AGRIF - nest boundaries in open ocean treated like coasts

Reported by: fschwarzkopf Owned by: jchanut
Priority: normal Milestone:
Component: AGRIF Version: v3.6
Severity: major Keywords: AGRIF LBC
Cc:

Description (last modified by nicolasmartin)

In an AGRIF configuration, with lateral boundary condition no-slip (rn_shlat = 2) the nest boundaries are treated like coasts.

fmask along the boundaries is 0. In dommsk.F90 these lines (first and last rows and columns) are therefore set to the special value, when neighboured by ocean grid points.

Would it suffice to bracket the corresponding part like this to only treat the boundaries in the parent domain and not in the nest?

IF( AGRIF_ROOT() ) THEN
         DO jj = 2, jpjm1
            IF( fmask(1,jj,jk) == 0._wp ) THEN
               fmask(1  ,jj,jk) = rn_shlat * MIN( 1._wp , MAX( zwf(2,jj), zwf(1,jj+1), zwf(1,jj-1) ) )
            ENDIF
            IF( fmask(jpi,jj,jk) == 0._wp ) THEN
               fmask(jpi,jj,jk) = rn_shlat * MIN( 1._wp , MAX( zwf(jpi,jj+1), zwf(jpim1,jj), zwf(jpi,jj-1) ) )
            ENDIF
         END DO
         DO ji = 2, jpim1
            IF( fmask(ji,1,jk) == 0._wp ) THEN
               fmask(ji, 1 ,jk) = rn_shlat * MIN( 1._wp , MAX( zwf(ji+1,1), zwf(ji,2), zwf(ji-1,1) ) )
            ENDIF
            IF( fmask(ji,jpj,jk) == 0._wp ) THEN
               fmask(ji,jpj,jk) = rn_shlat * MIN( 1._wp , MAX( zwf(ji+1,jpj), zwf(ji-1,jpj), zwf(ji,jpjm1) ) )
            ENDIF
         END DO
ENDIF

How would this affect a double nested configuration?

Thank you for any advice.

Commit History (0)

(No commits)

Change History (7)

comment:1 Changed 8 years ago by jchanut

  • Component changed from OPA to AGRIF

Franziska,

Note that a similar ticket (#1689) has been opened on that subject.
That's right, the outer lines and rows of the domain are treated as land, and fmask is modified accordingly.
My feeling is that the problem is more general than free or no slip near open boundaries. It may be emphasized in the no slip case but certainly linked to the use of a biharmonic operator for momentum (are you using biharmonic viscosities ? If yes, switch to Laplacian to check). In that case, some information is indeed missing near the open boundary from the parent model.
Two lines or columns of ghost points (in addition to the zeros) would solve that properly. But you can try to set the vorticity to zero as you suggest.

Jérôme

comment:2 Changed 8 years ago by nicolasmartin

  • Keywords LBC added; rn_shlat no-slip removed

comment:3 Changed 7 years ago by clevy

  • Owner changed from nemo to gm

comment:4 Changed 7 years ago by clevy

  • Cc gm added
  • Status changed from new to assigned

comment:5 Changed 7 years ago by nicolasmartin

  • Description modified (diff)

comment:6 Changed 7 years ago by clevy

  • Cc gm removed
  • Owner changed from gm to jchanut

comment:7 Changed 7 years ago by jchanut

  • Resolution set to wontfix
  • Severity set to major
  • Status changed from assigned to closed
  • Type changed from Bug to Defect

As mentioned in previous comments, this issue comes from the lack of open boundary provision if using schemes strictly more than second order. Isopycnal slope averaging and FCT scheme may also be degraded near boundaries because they would need more information than provided by a single row/line of data at the previous time step. Work is currently underway to extend the number of ghost points beyond AGRIF open boundaries. This will be part of the next NEMO release. 

For the time being, a correction to fmask is nevertheless applied in nemo_3_6_STABLE (revision 8664) which seems to reduce the problem.

Note: See TracTickets for help on using tickets.