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.
#1339 (dynadv_ubs.F90 : problem with lateral boundary condition in version 3.6 (with bugfix)) – NEMO

Opened 11 years ago

Closed 10 years ago

Last modified 3 years ago

#1339 closed Bug (fixed)

dynadv_ubs.F90 : problem with lateral boundary condition in version 3.6 (with bugfix)

Reported by: ducousso Owned by: gm
Priority: normal Milestone:
Component: OCE Version: v3.6
Severity: Keywords: DYN OPA fmask open_boundaries v3.6
Cc:

Description

  • idealized experiments based on one of the COMODO test-case suggest that the current treatment of lateral boundary condition within the UBS momentum advection scheme is doubtful.
  • under free-slip condition, the evolution of a vortex impinging a side-wall departs qualitatively from the expected behavior.
  • the joint movie cmp_evol_C4_vs_current_UBS.mpeg illustrates the problem with two identical experiments except for the momentum advection-diffusion schemes.
  • the left pannel uses the centered 4th order scheme (gamma1 = 0._wp and gamma2 = 1._wp/32._wp in dynadv_ubs.F90) for advection and the biharmonic scheme for diffusion (rn_ahm_0_blp = -2.5e8)) while the right pannel uses the UBS scheme (gamma1 = 1._wp/3._wp and gamma2 = 1._wp/32._wp in dynadv_ubs.F90)) for both advection and diffusion ; in both cases, the boundary condition is free-slip (rn_shlat = 0.)).
  • Laurent Debreu (LJK, Grenoble) has suggested the following modification of dynadv_ubs.F90.

change

zlu_uu(ji,jj,jk,1) = ( ub (ji+1,jj,jk)-2.*ub (ji,jj,jk)+ub (ji-1,jj,jk) ) * umask(ji,jj,jk)
zlv_vv(ji,jj,jk,1) = ( vb (ji,jj+1,jk)-2.*vb (ji,jj,jk)+vb (ji,jj-1,jk) ) * vmask(ji,jj,jk)
zlu_uv(ji,jj,jk,1) = ( ub (ji,jj+1,jk)-2.*ub (ji,jj,jk)+ub (ji,jj-1,jk) ) * umask(ji,jj,jk)
zlv_vu(ji,jj,jk,1) = ( vb (ji+1,jj,jk)-2.*vb (ji,jj,jk)+vb (ji-1,jj,jk) ) * vmask(ji,jj,jk)
!
zlu_uu(ji,jj,jk,2) = ( zfu(ji+1,jj,jk)-2.*zfu(ji,jj,jk)+zfu(ji-1,jj,jk) ) * umask(ji,jj,jk)
zlv_vv(ji,jj,jk,2) = ( zfv(ji,jj+1,jk)-2.*zfv(ji,jj,jk)+zfv(ji,jj-1,jk) ) * vmask(ji,jj,jk)
zlu_uv(ji,jj,jk,2) = ( zfu(ji,jj+1,jk)-2.*zfu(ji,jj,jk)+zfu(ji,jj-1,jk) ) * umask(ji,jj,jk)
zlv_vu(ji,jj,jk,2) = ( zfv(ji+1,jj,jk)-2.*zfv(ji,jj,jk)+zfv(ji-1,jj,jk) ) * vmask(ji,jj,jk)

to

zlu_uu(ji,jj,jk,1) = ( ub (ji+1,jj,jk)-2.*ub (ji,jj,jk)+ub (ji-1,jj,jk) ) * umask(ji,jj,jk)
zlv_vv(ji,jj,jk,1) = ( vb (ji,jj+1,jk)-2.*vb (ji,jj,jk)+vb (ji,jj-1,jk) ) * vmask(ji,jj,jk)
zlu_uv(ji,jj,jk,1) = ( ub (ji,jj+1,jk)-ub (ji,jj,jk) ) * fmask(ji,jj,jk)-( ub (ji,jj,jk)-ub (ji,jj-1,jk) ) * fmask(ji,jj-1,jk)
zlv_vu(ji,jj,jk,1) = ( vb (ji+1,jj,jk)-vb (ji,jj,jk) ) * fmask(ji,jj,jk)-( vb (ji,jj,jk)-vb (ji-1,jj,jk) ) * fmask(ji-1,jj,jk)
!
zlu_uu(ji,jj,jk,2) = ( zfu(ji+1,jj,jk)-2.*zfu(ji,jj,jk)+zfu(ji-1,jj,jk) ) * umask(ji,jj,jk)
zlv_vv(ji,jj,jk,2) = ( zfv(ji,jj+1,jk)-2.*zfv(ji,jj,jk)+zfv(ji,jj-1,jk) ) * vmask(ji,jj,jk)
zlu_uv(ji,jj,jk,2) = ( zfu (ji,jj+1,jk)-zfu (ji,jj,jk) ) * fmask(ji,jj,jk)-( zfu (ji,jj,jk)-zfu (ji,jj-1,jk) ) * fmask(ji,jj-1,jk)
zlv_vu(ji,jj,jk,2) = ( zfv (ji+1,jj,jk)-zfv (ji,jj,jk) ) * fmask(ji,jj,jk)-( zfv (ji,jj,jk)-zfv (ji-1,jj,jk) ) * fmask(ji-1,jj,jk)
  • the bugfix allows to recover a free-slip character for UBS scheme close to the boundary as illustrated in the joint movie cmp_evol_C4_vs_modified_UBS.mpeg.

Commit History (0)

(No commits)

Attachments (2)

cmp_evol_C4_vs_current_UBS.mpeg (11.3 MB) - added by ducousso 11 years ago.
cmp_evol_C4_vs_modified_UBS.mpeg (11.6 MB) - added by ducousso 11 years ago.

Change History (12)

Changed 11 years ago by ducousso

Changed 11 years ago by ducousso

comment:1 Changed 10 years ago by gm

  • Owner changed from NEMO team to gm

comment:2 Changed 10 years ago by flavoni

  • Resolution set to fixed
  • Status changed from new to closed

comment:3 Changed 9 years ago by smasson

change done in changeset:5061

comment:4 Changed 9 years ago by nicolasmartin

  • Keywords boundaries added; boundary removed

comment:5 Changed 9 years ago by nicolasmartin

  • Keywords nemo_v3_6* added

comment:6 Changed 9 years ago by nicolasmartin

  • Keywords DYN added; dynadv_ubs removed

comment:7 Changed 9 years ago by nicolasmartin

  • Keywords open_boundaries added; boundaries removed

comment:8 Changed 7 years ago by nemo

  • Keywords release-3.6* added; nemo_v3_6* removed

comment:9 Changed 7 years ago by nemo

  • Keywords release-3.6* removed

comment:10 Changed 3 years ago by nemo

  • Keywords OPA v3.6 added
Note: See TracTickets for help on using tickets.