- Timestamp:
- 2020-04-02T14:22:49+02:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/OCE/stepLF.F90
r12624 r12644 55 55 !!---------------------------------------------------------------------- 56 56 INTEGER, PUBLIC :: Nbb, Nnn, Naa, Nrhs !! used by nemo_init 57 57 # include "domzgr_substitute.h90" 58 58 !!---------------------------------------------------------------------- 59 59 !! NEMO/OCE 4.0 , NEMO Consortium (2018) … … 212 212 ! With split-explicit free surface, since now transports have been updated and ssh(:,:,Nrhs) as well 213 213 IF( ln_dynspg_ts ) THEN ! vertical scale factors and vertical velocity need to be updated 214 CALL div_hor 215 IF(.NOT.ln_linssh) CALL dom_qe_r3c 216 IF(.NOT.ln_linssh) CALL dom_qe_sf_nxt ( kstp, Nbb, Nnn, Naa, kcall=2 ) ! after vertical scale factors (update depth average component)217 !IF(.NOT.ln_linssh) CALL dom_h_nxt( kstp, Nbb, Nnn, Naa, kcall=2 ) ! after vertical scale factors (update depth average component)214 CALL div_hor ( kstp, Nbb, Nnn ) ! Horizontal divergence (2nd call in time-split case) 215 IF(.NOT.ln_linssh) CALL dom_qe_r3c ( ssh(:,:,Naa), r3t(:,:,Naa), r3u(:,:,Naa), r3v(:,:,Naa), r3f(:,:) ) 216 !IF(.NOT.ln_linssh) CALL dom_qe_sf_nxt ( kstp, Nbb, Nnn, Naa, kcall=2 ) ! after vertical scale factors (update depth average component) 217 IF(.NOT.ln_linssh) CALL dom_h_nxt ( kstp, Nbb, Nnn, Naa, kcall=2 ) ! after vertical scale factors (update depth average component) 218 218 ENDIF 219 219 CALL dyn_zdf ( kstp, Nbb, Nnn, Nrhs, uu, vv, Naa ) ! vertical diffusion … … 294 294 !! 295 295 !!jc2: dynnxt must be the latest call. e3t(:,:,:,Nbb) are indeed updated in that routine 296 CALL zdyn_ts ( Nnn, Naa, e3u, e3v,uu, vv ) ! barotrope ajustment296 CALL zdyn_ts ( Nnn, Naa, uu, vv ) ! barotrope ajustment 297 297 CALL finalize_sbc ( kstp, Nbb, Naa, uu, vv, ts ) ! boundary condifions 298 298 CALL ssh_atf ( kstp, Nbb, Nnn, Naa, ssh ) ! time filtering of "now" sea surface height … … 311 311 Naa = Nrhs 312 312 ! 313 IF(.NOT.ln_linssh) CALL dom_qe_sf_update( kstp, Nbb, Nnn, Naa ) ! recompute vertical scale factors 313 !IF(.NOT.ln_linssh) CALL dom_qe_sf_update( kstp, Nbb, Nnn, Naa ) ! recompute vertical scale factors 314 IF(.NOT.ln_linssh) CALL dom_h_update ( kstp, Nbb, Nnn, Naa ) ! recompute vertical scale factors 314 315 ! 315 316 IF( ln_diahsb ) CALL dia_hsb ( kstp, Nbb, Nnn ) ! - ML - global conservation diagnostics … … 366 367 367 368 368 SUBROUTINE zdyn_ts (Kmm, Kaa, p e3u, pe3v, puu, pvv)369 SUBROUTINE zdyn_ts (Kmm, Kaa, puu, pvv) 369 370 !!---------------------------------------------------------------------- 370 371 !! *** ROUTINE zdyn_ts *** … … 379 380 INTEGER , INTENT(in ) :: Kmm, Kaa ! before and after time level indices 380 381 REAL(wp), DIMENSION(jpi,jpj,jpk,jpt), INTENT(inout) :: puu, pvv ! velocities 381 REAL(wp), DIMENSION(jpi,jpj,jpk,jpt), INTENT(in ) :: pe3u, pe3v ! scale factors382 382 ! 383 383 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: zue, zve … … 390 390 ! Ensure below that barotropic velocities match time splitting estimate 391 391 ! Compute actual transport and replace it with ts estimate at "after" time step 392 zue(:,:) = pe3u(:,:,1,Kaa) * puu(:,:,1,Kaa) * umask(:,:,1)393 zve(:,:) = pe3v(:,:,1,Kaa) * pvv(:,:,1,Kaa) * vmask(:,:,1)392 zue(:,:) = e3u(:,:,1,Kaa) * puu(:,:,1,Kaa) * umask(:,:,1) 393 zve(:,:) = e3v(:,:,1,Kaa) * pvv(:,:,1,Kaa) * vmask(:,:,1) 394 394 DO jk = 2, jpkm1 395 zue(:,:) = zue(:,:) + pe3u(:,:,jk,Kaa) * puu(:,:,jk,Kaa) * umask(:,:,jk)396 zve(:,:) = zve(:,:) + pe3v(:,:,jk,Kaa) * pvv(:,:,jk,Kaa) * vmask(:,:,jk)395 zue(:,:) = zue(:,:) + e3u(:,:,jk,Kaa) * puu(:,:,jk,Kaa) * umask(:,:,jk) 396 zve(:,:) = zve(:,:) + e3v(:,:,jk,Kaa) * pvv(:,:,jk,Kaa) * vmask(:,:,jk) 397 397 END DO 398 398 DO jk = 1, jpkm1
Note: See TracChangeset
for help on using the changeset viewer.