#2149 closed Bug (fixed)
Trivial missing implicit bfriction in barotropic subcycle for cases other than ln_dynadv_vec
Reported by: | deazer | Owned by: | deazer |
---|---|---|---|
Priority: | low | Milestone: | 2018 release-4.0 |
Component: | DYN | Version: | trunk |
Severity: | minor | Keywords: | bfriction implicit ln_dynadv_vec v4.0 wad |
Cc: |
Description
Context
In WAD, the bottom friction in barotropic sub cycle is applied implicitly (dynspg_ts)
however currently it is applied only when using vector invariant form
! Set next velocities: IF( ln_dynadv_vec .OR. ln_linssh ) THEN !* Vector form DO jj = 2, jpjm1 DO ji = fs_2, fs_jpim1 ! vector opt. ua_e(ji,jj) = ( un_e(ji,jj) & & + rdtbt * ( zwx(ji,jj) & & + zu_trd(ji,jj) & & + zu_frc(ji,jj) ) & & ) * ssumask(ji,jj) va_e(ji,jj) = ( vn_e(ji,jj) & & + rdtbt * ( zwy(ji,jj) & & + zv_trd(ji,jj) & & + zv_frc(ji,jj) ) & & ) * ssvmask(ji,jj) !jth implicit bottom friction: IF ( ll_wd ) THEN ! revert to explicit for bit comparison tests in non wad runs ua_e(ji,jj) = ua_e(ji,jj) /(1.0 - rdtbt * zCdU_u(ji,jj) * hur_e(ji,jj)) va_e(ji,jj) = va_e(ji,jj) /(1.0 - rdtbt * zCdU_v(ji,jj) * hvr_e(ji,jj)) ENDIF END DO END DO ! ELSE !* Flux form DO jj = 2, jpjm1 DO ji = fs_2, fs_jpim1 ! vector opt. zhura = hu_0(ji,jj) + zsshu_a(ji,jj) zhvra = hv_0(ji,jj) + zsshv_a(ji,jj) zhura = ssumask(ji,jj)/(zhura + 1._wp - ssumask(ji,jj)) zhvra = ssvmask(ji,jj)/(zhvra + 1._wp - ssvmask(ji,jj)) ua_e(ji,jj) = ( hu_e(ji,jj) * un_e(ji,jj) & & + rdtbt * ( zhust_e(ji,jj) * zwx(ji,jj) & & + zhup2_e(ji,jj) * zu_trd(ji,jj) & & + hu_n(ji,jj) * zu_frc(ji,jj) ) & & ) * zhura va_e(ji,jj) = ( hv_e(ji,jj) * vn_e(ji,jj) & & + rdtbt * ( zhvst_e(ji,jj) * zwy(ji,jj) & & + zhvp2_e(ji,jj) * zv_trd(ji,jj) & & + hv_n(ji,jj) * zv_frc(ji,jj) ) & & ) * zhvra
Analysis
Recommendation
simply apply the bfriction
IF ( ll_wd ) THEN ! revert to explicit for bit comparison tests in non wad runs ua_e(ji,jj) = ua_e(ji,jj) /(1.0 - rdtbt * zCdU_u(ji,jj) * hur_e(ji,jj)) va_e(ji,jj) = va_e(ji,jj) /(1.0 - rdtbt * zCdU_v(ji,jj) * hvr_e(ji,jj)) ENDIF
for all cases , e.g. take these lines outside of advection logicals.
Commit History (0)
(No commits)
Change History (3)
comment:1 Changed 6 years ago by deazer
- Owner changed from systeam to deazer
- Status changed from new to assigned
- Summary changed from Trivial missing implcit bfriction in barotropic subcycle for cases other than ln_dynadv_vec to Trivial missing implicit bfriction in barotropic subcycle for cases other than ln_dynadv_vec
- Type changed from Defect to Bug
comment:2 Changed 6 years ago by deazer
- Resolution set to fixed
- Status changed from assigned to closed
comment:3 Changed 3 years ago by nemo
- Keywords v4.0 added
Note: See
TracTickets for help on using
tickets.
Tested in SETTE, no effect on reference configurations as expected.
Should only be invoked if ll_wd is set
Have also tested for AMM15 with ll_wd set. Now can run with ubs advection as implicit bfriction is applied which was not the case
before bug fix.
unless any objections will commit back today.