- Timestamp:
- 2021-04-29T16:25:38+02:00 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2021/dev_r14273_HPC-02_Daley_Tiling/src/OCE/TRA/traldf_iso.F90
r14680 r14765 147 147 ENDIF 148 148 ! 149 ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 1, jpk )150 149 DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 1, jpk ) 151 150 akz (ji,jj,jk) = 0._wp … … 178 177 IF( kpass == 1 ) THEN !== first pass only ==! 179 178 ! 180 ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 )181 179 DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) 182 180 ! … … 201 199 ! 202 200 IF( ln_traldf_msc ) THEN ! stabilizing vertical diffusivity coefficient 203 ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 )204 201 DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) 205 202 ! round brackets added to fix the order of floating point operations … … 215 212 ! 216 213 IF( ln_traldf_blp ) THEN ! bilaplacian operator 217 ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 )218 214 DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) 219 215 akz(ji,jj,jk) = 16._wp & … … 224 220 END_3D 225 221 ELSEIF( ln_traldf_lap ) THEN ! laplacian operator 226 ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 )227 222 DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) 228 223 ze3w_2 = e3w(ji,jj,jk,Kmm) * e3w(ji,jj,jk,Kmm) … … 233 228 ! 234 229 ELSE ! 33 flux set to zero with akz=ah_wslp2 ==>> computed in full implicit 235 ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 1, jpk )236 230 DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 1, jpk ) 237 231 akz(ji,jj,jk) = ah_wslp2(ji,jj,jk) … … 251 245 252 246 ! Horizontal tracer gradient 253 ! [comm_cleanup] ! DO_3D( 1, 0, 1, 0, 1, jpkm1 )254 247 DO_3D( iij, iij-1, iij, iij-1, 1, jpkm1 ) 255 248 zdit(ji,jj,jk) = ( pt(ji+1,jj ,jk,jn) - pt(ji,jj,jk,jn) ) * umask(ji,jj,jk) … … 257 250 END_3D 258 251 IF( ln_zps ) THEN ! botton and surface ocean correction of the horizontal gradient 259 ! [comm_cleanup] ! DO_2D( 1, 0, 1, 0 ) ! bottom correction (partial bottom cell)260 252 DO_2D( iij, iij-1, iij, iij-1 ) ! bottom correction (partial bottom cell) 261 253 zdit(ji,jj,mbku(ji,jj)) = pgu(ji,jj,jn) … … 263 255 END_2D 264 256 IF( ln_isfcav ) THEN ! first wet level beneath a cavity 265 ! [comm_cleanup] ! DO_2D( 1, 0, 1, 0 )266 257 DO_2D( iij, iij-1, iij, iij-1 ) 267 258 IF( miku(ji,jj) > 1 ) zdit(ji,jj,miku(ji,jj)) = pgui(ji,jj,jn) … … 277 268 DO jk = 1, jpkm1 ! Horizontal slab 278 269 ! 279 ! [comm_cleanup] ! DO_2D( 1, 1, 1, 1 )280 270 DO_2D( iij, iij, iij, iij ) 281 271 ! !== Vertical tracer gradient … … 287 277 END_2D 288 278 ! 289 ! [comm_cleanup] ! DO_2D( 1, 0, 1, 0 ) !== Horizontal fluxes290 279 DO_2D( iij, iij-1, iij, iij-1 ) !== Horizontal fluxes 291 280 zabe1 = pahu(ji,jj,jk) * e2_e1u(ji,jj) * e3u(ji,jj,jk,Kmm) … … 317 306 END_2D 318 307 ! 319 ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 ) !== horizontal divergence and add to pta320 308 DO_2D( iij-1, iij-1, iij-1, iij-1 ) !== horizontal divergence and add to pta 321 309 ! round brackets added to fix the order of floating point operations … … 339 327 ztfw(:,:, 1 ) = 0._wp ; ztfw(:,:,jpk) = 0._wp 340 328 341 ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 ) ! interior (2=<jk=<jpk-1)342 329 DO_3D( iij-1, iij-1, iij-1, iij-1, 2, jpkm1 ) ! interior (2=<jk=<jpk-1) 343 330 ! … … 370 357 ! !== add the vertical 33 flux ==! 371 358 IF( ln_traldf_lap ) THEN ! laplacian case: eddy coef = ah_wslp2 - akz 372 ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 )373 359 DO_3D( iij-1, iij-1, iij-1, iij-1, 2, jpkm1 ) 374 360 ztfw(ji,jj,jk) = ztfw(ji,jj,jk) + e1e2t(ji,jj) / e3w(ji,jj,jk,Kmm) * wmask(ji,jj,jk) & … … 380 366 SELECT CASE( kpass ) 381 367 CASE( 1 ) ! 1st pass : eddy coef = ah_wslp2 382 ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 )383 368 DO_3D( iij-1, iij-1, iij-1, iij-1, 2, jpkm1 ) 384 369 ztfw(ji,jj,jk) = & … … 395 380 ENDIF 396 381 ! 397 ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 1, jpkm1 ) !== Divergence of vertical fluxes added to pta ==!398 382 DO_3D( iij-1, iij-1, iij-1, iij-1, 1, jpkm1 ) !== Divergence of vertical fluxes added to pta ==! 399 383 pt_rhs(ji,jj,jk,jn) = pt_rhs(ji,jj,jk,jn) + zsign * ( ztfw (ji,jj,jk) - ztfw(ji,jj,jk+1) ) * r1_e1e2t(ji,jj) &
Note: See TracChangeset
for help on using the changeset viewer.