Opened 16 years ago
Closed 14 years ago
#331 closed Bug (invalid)
No bottom friction if mbathy=2
Reported by: | jchanut | Owned by: | nemo |
---|---|---|---|
Priority: | low | Milestone: | |
Component: | OCE | Version: | v3.0 |
Severity: | Keywords: | ||
Cc: |
Description
Bottom friction is not applied with implicit vertical mixing (in dyn_zdf_imp routine) IF mbathy=2 (only one ocean level in the vertical). Since by default there is a minimum of 3 ocean levels in the partial cells case, this does not concern people running with ln_zps=.true. and ntopo=1.
This bug could maybe explain part of the instability problems encountered in the past when relaxing this 3 minimum levels condition.
The problem comes from the definition of the matrix coefficients at the surface in dynzdf_imp.F90. One should replace the following lines for the u component:
! Surface boudary conditions DO jj = 2, jpjm1 DO ji = fs_2, fs_jpim1 ! vector opt. zwi(ji,jj,1) = 0. zwd(ji,jj,1) = 1. - zws(ji,jj,1) END DO END DO
by
! Surface boundary conditions DO jj = 2, jpjm1 DO ji = fs_2, fs_jpim1 ! vector opt. zwi(ji,jj,1) = 0. zcoef = - p2dt / fse3u(ji,jj,1) zzws = zcoef * avmu(ji,jj,2) / fse3uw(ji,jj,2) zwd(ji,jj,1) = 1. - zzws END DO END DO
so that the bottom friction through the unmasked avmu is taken into account. The same for v of course.
Jerome
Commit History (0)
(No commits)
Change History (1)
comment:1 Changed 14 years ago by gm
- Resolution set to invalid
- Status changed from new to closed
This was a good point for release v3.1 and previous ones. Since release v3.2, the bottom friction is computed explicitly and add to the momentum equation in dynbfr.F90. Therefore the bottom value of avm(u or v) is now set to zero (through (u or v)mask). zws and zwi are thus always masked
If one day we return back to an implicit computation of the bottom friction, then this ticket must be considered