- Timestamp:
- 2020-11-27T17:26:33+01:00 (4 years ago)
- Location:
- NEMO/branches/2020/tickets_icb_1900
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/tickets_icb_1900
- Property svn:externals
-
NEMO/branches/2020/tickets_icb_1900/src/OCE/DYN/sshwzv.F90
r13237 r13899 28 28 USE bdydyn2d ! bdy_ssh routine 29 29 #if defined key_agrif 30 USE agrif_oce 30 31 USE agrif_oce_interp 31 32 #endif … … 177 178 ! horizontal divergence of thickness diffusion transport ( velocity multiplied by e3t) 178 179 ! - ML - note: computation already done in dom_vvl_sf_nxt. Could be optimized (not critical and clearer this way) 179 DO_2D _00_00180 DO_2D( 0, 0, 0, 0 ) 180 181 zhdiv(ji,jj,jk) = r1_e1e2t(ji,jj) * ( un_td(ji,jj,jk) - un_td(ji-1,jj,jk) + vn_td(ji,jj,jk) - vn_td(ji,jj-1,jk) ) 181 182 END_2D … … 202 203 ELSE !== Quasi-Eulerian vertical coordinate ==! ('key_qco') 203 204 ! !==========================================! 204 DO jk = jpkm1, 1, -1 ! integrate from the bottom the hor. divergence205 DO jk = jpkm1, 1, -1 ! integrate from the bottom the hor. divergence 205 206 pww(:,:,jk) = pww(:,:,jk+1) - ( e3t(:,:,jk,Kmm) * hdiv(:,:,jk) & 206 207 & + r1_Dt * ( e3t(:,:,jk,Kaa) & … … 215 216 ENDIF 216 217 ! 217 #if defined key_agrif 218 IF( .NOT. AGRIF_Root() ) THEN 218 #if defined key_agrif 219 IF( .NOT. AGRIF_Root() ) THEN 220 ! 219 221 ! Mask vertical velocity at first/last columns/row 220 222 ! inside computational domain (cosmetic) 221 ! --- West --- ! 222 IF( lk_west) THEN 223 DO ji = mi0(2), mi1(2) 224 DO jj = 1, jpj 225 pww(ji,jj,:) = 0._wp 226 ENDDO 227 ENDDO 228 ENDIF 229 ! 230 ! --- East --- ! 231 IF( lk_east) THEN 232 DO ji = mi0(jpiglo-1), mi1(jpiglo-1) 233 DO jj = 1, jpj 234 pww(ji,jj,:) = 0._wp 235 ENDDO 236 ENDDO 237 ENDIF 238 ! 239 ! --- South --- ! 240 IF( lk_south) THEN 241 DO jj = mj0(2), mj1(2) 242 DO ji = 1, jpi 243 pww(ji,jj,:) = 0._wp 244 ENDDO 245 ENDDO 246 ENDIF 247 ! 248 ! --- North --- ! 249 IF( lk_north) THEN 250 DO jj = mj0(jpjglo-1), mj1(jpjglo-1) 251 DO ji = 1, jpi 252 pww(ji,jj,:) = 0._wp 253 ENDDO 254 ENDDO 255 ENDIF 223 DO jk = 1, jpkm1 224 IF( lk_west ) THEN ! --- West --- ! 225 DO ji = mi0(2+nn_hls), mi1(2+nn_hls) 226 DO jj = 1, jpj 227 pww(ji,jj,jk) = 0._wp 228 END DO 229 END DO 230 ENDIF 231 IF( lk_east ) THEN ! --- East --- ! 232 DO ji = mi0(jpiglo-1-nn_hls), mi1(jpiglo-1-nn_hls) 233 DO jj = 1, jpj 234 pww(ji,jj,jk) = 0._wp 235 END DO 236 END DO 237 ENDIF 238 IF( lk_south ) THEN ! --- South --- ! 239 DO jj = mj0(2+nn_hls), mj1(2+nn_hls) 240 DO ji = 1, jpi 241 pww(ji,jj,jk) = 0._wp 242 END DO 243 END DO 244 ENDIF 245 IF( lk_north ) THEN ! --- North --- ! 246 DO jj = mj0(jpjglo-1-nn_hls), mj1(jpjglo-1-nn_hls) 247 DO ji = 1, jpi 248 pww(ji,jj,jk) = 0._wp 249 END DO 250 END DO 251 ENDIF 252 ! 253 END DO 256 254 ! 257 255 ENDIF 258 #endif 256 #endif 259 257 ! 260 258 IF( ln_timing ) CALL timing_stop('wzv') … … 360 358 zdt = 2._wp * rn_Dt ! 2*rn_Dt and not rDt (for restartability) 361 359 IF( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN 362 DO_3D _00_00(1, jpkm1 )360 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 363 361 z1_e3t = 1._wp / e3t(ji,jj,jk,Kmm) 364 362 Cu_adv(ji,jj,jk) = zdt * & … … 377 375 END_3D 378 376 ELSE 379 DO_3D _00_00(1, jpkm1 )377 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 380 378 z1_e3t = 1._wp / e3t(ji,jj,jk,Kmm) 381 379 Cu_adv(ji,jj,jk) = zdt * & … … 395 393 ! 396 394 IF( MAXVAL( Cu_adv(:,:,:) ) > Cu_min ) THEN ! Quick check if any breaches anywhere 397 DO_3DS _11_11( jpkm1, 2, -1 )395 DO_3DS( 1, 1, 1, 1, jpkm1, 2, -1 ) ! or scan Courant criterion and partition ! w where necessary 398 396 ! 399 397 zCu = MAX( Cu_adv(ji,jj,jk) , Cu_adv(ji,jj,jk-1) )
Note: See TracChangeset
for help on using the changeset viewer.