Changeset 15621
- Timestamp:
- 2021-12-29T10:51:58+01:00 (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2021/dev_r14318_RK3_stage1/src/OCE/stprk3_stg.F90
r15592 r15621 34 34 USE agrif_oce_interp 35 35 # endif 36 !!st -dbg stp2d (r3u) 37 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 36 38 37 39 ! … … 148 150 ! 149 151 IF( .NOT.lk_linssh ) CALL dom_qco_r3c( ssh(:,:,Kaa), r3t(:,:,Kaa), r3u(:,:,Kaa), r3v(:,:,Kaa), r3f(:,:) ) ! "after" ssh/h_0 ratio at t,u,v-column 152 !! SELECT CASE( kstg ) 153 ! 154 !! CASE ( 3 ) 155 !!st required at each stage for div hor loops 156 CALL lbc_lnk( 'stprk3_stg', r3u(:,:,Kaa), 'U', 1._wp, r3v(:,:,Kaa), 'V', 1._wp, r3f(:,:), 'F', 1._wp ) 157 ! 158 !! END SELECT 150 159 ! 151 160 ! … … 153 162 ! 154 163 ! !- horizontal components -! (zaU,zaV) 155 zub(:,:) = un_adv(:,:)*r1_hu(:,:,Kmm) - uu_b(:,:,Kmm) ! barotropic velocity correction 156 zvb(:,:) = vn_adv(:,:)*r1_hv(:,:,Kmm) - vv_b(:,:,Kmm) 157 DO jk = 1, jpkm1 ! horizontal advective velocity 158 zaU(:,:,jk) = uu(:,:,jk,Kmm) + zub(:,:)*umask(:,:,jk) 159 zaV(:,:,jk) = vv(:,:,jk,Kmm) + zvb(:,:)*vmask(:,:,jk) 160 END DO 164 DO_2D_OVR( nn_hls, nn_hls, nn_hls, nn_hls ) 165 zub(ji,jj) = un_adv(ji,jj)*r1_hu(ji,jj,Kmm) - uu_b(ji,jj,Kmm) ! barotropic velocity correction 166 zvb(ji,jj) = vn_adv(ji,jj)*r1_hv(ji,jj,Kmm) - vv_b(ji,jj,Kmm) 167 END_2D 168 DO_3D_OVR( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) ! horizontal advective velocity 169 zaU(ji,jj,jk) = uu(ji,jj,jk,Kmm) + zub(ji,jj)*umask(ji,jj,jk) 170 zaV(ji,jj,jk) = vv(ji,jj,jk,Kmm) + zvb(ji,jj)*vmask(ji,jj,jk) 171 END_3D 172 161 173 ! !- vertical components -! ww 162 174 CALL wzv ( kstp, Kbb, Kmm, Kaa, zaU, zaV, ww ) ! ww cross-level velocity … … 224 236 ! 225 237 DO jn = 1, jptra 226 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 227 tr(ji,jj,jk,jn,Krhs) = 0._wp ! set tracer trends to zero 228 END_3D 238 tr(:,:,:,jn,Krhs) = 0._wp ! set tracer trends to zero !!st ::: required because of tra_adv new loops 229 239 END DO 230 240 ! !== advection of passive tracers ==! … … 254 264 ! 255 265 DO jn = 1, jptra 256 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 257 tr(ji,jj,jk,jn,Krhs) = 0._wp ! set tracer trends to zero 258 END_3D 266 tr(:,:,:,jn,Krhs) = 0._wp ! set tracer trends to zero !!st ::: required because of tra_adv new loops 259 267 END DO 260 268 ! !== advection of passive tracers ==! … … 394 402 ! 395 403 DO jk = 1, jpkm1 ! corrected horizontal velocity 396 uu( :,:,jk,Kaa) = uu(:,:,jk,Kaa) + zub(:,:)*umask(:,:,jk)397 vv( :,:,jk,Kaa) = vv(:,:,jk,Kaa) + zvb(:,:)*vmask(:,:,jk)404 uu(A2D(0),jk,Kaa) = uu(A2D(0),jk,Kaa) + zub(A2D(0))*umask(A2D(0),jk) 405 vv(A2D(0),jk,Kaa) = vv(A2D(0),jk,Kaa) + zvb(A2D(0))*vmask(A2D(0),jk) 398 406 END DO 399 !!st pourquoi ne pas mettre A2D(0) ici ? 400 407 401 408 402 409 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> … … 411 418 CALL lbc_lnk( 'stp_RK3_stg', uu(:,:,:, Kaa), 'U', -1., vv(:,:,: ,Kaa), 'V', -1. & 412 419 & , ts(:,:,:,jp_tem,Kaa), 'T', 1., ts(:,:,:,jp_sal,Kaa), 'T', 1. ) 420 ! lbc_lnk needed for zdf_sh2 when using nn_hls = 2, moved here to allow tiling in zdf_phy 421 IF( nn_hls == 2 .AND. l_zdfsh2 ) CALL lbc_lnk( 'stp_RK3_stg', avm_k, 'W', 1.0_wp ) 422 ! 413 423 ! 414 424 ! !* BDY open boundaries
Note: See TracChangeset
for help on using the changeset viewer.