#1053 closed Bug (fixed)
Bug in UBS for tracers
Reported by: | gm | Owned by: | gm |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | OCE | Version: | v3.6 |
Severity: | Keywords: | OPA UBS v3.4 | |
Cc: |
Description
There is a bug in the UBS scheme applied on tracers (traadv_ubs.F90) which has been introduced in Changeset 2528
the following lines in Revision 1528:
#if defined key_zco zfui = 0.5 * e2u(ji,jj) * pun(ji,jj,jk) zfvj = 0.5 * e1v(ji,jj) * pvn(ji,jj,jk) #else zfui = 0.5 * e2u(ji,jj) * fse3u(ji,jj,jk) * pun(ji,jj,jk) zfvj = 0.5 * e1v(ji,jj) * fse3v(ji,jj,jk) * pvn(ji,jj,jk) #endif ! upstream scheme zfp_ui = zfui + ABS( zfui ) zfp_vj = zfvj + ABS( zfvj ) zfm_ui = zfui - ABS( zfui ) zfm_vj = zfvj - ABS( zfvj ) ! centered scheme zcenut = zfui * ( tn(ji,jj,jk) + tn(ji+1,jj ,jk) ) zcenvt = zfvj * ( tn(ji,jj,jk) + tn(ji ,jj+1,jk) ) zcenus = zfui * ( sn(ji,jj,jk) + sn(ji+1,jj ,jk) ) zcenvs = zfvj * ( sn(ji,jj,jk) + sn(ji ,jj+1,jk) ) ! mixed centered / upstream scheme zwx(ji,jj,jk) = zcenut - zfp_ui * zltu(ji,jj,jk) -zfm_ui * zltu(ji+1,jj,jk) zwy(ji,jj,jk) = zcenvt - zfp_vj * zltv(ji,jj,jk) -zfm_vj * zltv(ji,jj+1,jk) zww(ji,jj,jk) = zcenus - zfp_ui * zlsu(ji,jj,jk) -zfm_ui * zlsu(ji+1,jj,jk) zwz(ji,jj,jk) = zcenvs - zfp_vj * zlsv(ji,jj,jk) -zfm_vj * zlsv(ji,jj+1,jk)
have been replace in Revision 2528 by
! upstream transport zfp_ui = pun(ji,jj,jk) + ABS( pun(ji,jj,jk) ) zfm_ui = pun(ji,jj,jk) - ABS( pun(ji,jj,jk) ) zfp_vj = pvn(ji,jj,jk) + ABS( pvn(ji,jj,jk) ) zfm_vj = pvn(ji,jj,jk) - ABS( pvn(ji,jj,jk) ) ! centered scheme zcenut = 0.5 * pun(ji,jj,jk) * ( ptn(ji,jj,jk,jn) + ptn(ji+1,jj ,jk,jn) ) zcenvt = 0.5 * pvn(ji,jj,jk) * ( ptn(ji,jj,jk,jn) + ptn(ji ,jj+1,jk,jn) ) ! UBS scheme zwx(ji,jj,jk) = zcenut - zfp_ui * zltu(ji,jj,jk) - zfm_ui * zltu(ji+1,jj,jk) zwy(ji,jj,jk) = zcenvt - zfp_vj * zltv(ji,jj,jk) - zfm_vj * zltv(ji,jj+1,jk)
where pun, pvn, pwn are now the 3 ocean transport components passed in dummy argument
by doing so, a factor 0.5 is missing in the computation of the upstream transports (zfp_... and zfm_...), so the diffusive part of the UBS scheme is overestimated by a factor of 2.
Solution (to be done both in v3.4.1 and v3.5 alpha) :
! upstream transport (x2) zfp_ui = pun(ji,jj,jk) + ABS( pun(ji,jj,jk) ) zfm_ui = pun(ji,jj,jk) - ABS( pun(ji,jj,jk) ) zfp_vj = pvn(ji,jj,jk) + ABS( pvn(ji,jj,jk) ) zfm_vj = pvn(ji,jj,jk) - ABS( pvn(ji,jj,jk) ) ! 2nd order centered advective fluxes (x2) zcenut = pun(ji,jj,jk) * ( ptn(ji,jj,jk,jn) + ptn(ji+1,jj ,jk,jn) ) zcenvt = pvn(ji,jj,jk) * ( ptn(ji,jj,jk,jn) + ptn(ji ,jj+1,jk,jn) ) ! UBS advective fluxes zwx(ji,jj,jk) = 0.5 * ( zcenut - zfp_ui * zltu(ji,jj,jk) - zfm_ui * zltu(ji+1,jj,jk) ) zwy(ji,jj,jk) = 0.5 * ( zcenvt - zfp_vj * zltv(ji,jj,jk) - zfm_vj * zltv(ji,jj+1,jk) )
Commit History (2)
Changeset | Author | Time | ChangeLog |
---|---|---|---|
3788 | gm | 2013-02-10T13:14:59+01:00 | dev_v3_4_STABLE_2012: #1049 & #1053 : bug corrections in traadv_eiv.F90 (AR5 diag) and in traadv_ubs.F90 (UBS scheme), resp. |
3787 | gm | 2013-02-10T13:06:34+01:00 | dev_MERGE_2012: #1049 & #1053 : bug corrections in traadv_eiv.F90 (AR5 diag) and in traadv_ubs.F90 (UBS scheme), resp. |
Change History (9)
comment:1 Changed 10 years ago by gm
- Resolution set to fixed
- Status changed from new to closed
comment:2 Changed 7 years ago by nicolasmartin
- Keywords and removed
comment:3 Changed 7 years ago by nicolasmartin
- Keywords nemo_v3_4* added; v3.4.1 removed
comment:4 Changed 7 years ago by nicolasmartin
- Keywords nemo_v3_5* added; v3.5 removed
comment:5 Changed 5 years ago by nemo
- Keywords release-3.4* added; nemo_v3_4* removed
comment:6 Changed 5 years ago by nemo
- Keywords release-3.4 added; nemo_v3_5* release-3.4* removed
comment:7 Changed 14 months ago by nemo
- Keywords OPA v3.4 added; release-3.4 removed
comment:8 Changed 14 months ago by nemo
- Keywords v3.5 added
comment:9 Changed 14 months ago by nemo
- Keywords v3.5 removed
The bug has been corrected (together with issues described in Ticket #1049)
see Changeset 3788 for branches/2012/dev_v3_4_STABLE_2012 (v3.4.1 stable)
see Changeset 3787 for branches/2012/dev_MERGE_2012 (v3.5 alpha)
Gurvan