#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)
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
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.
change done in changeset:5061