Changeset 15061
- Timestamp:
- 2021-06-25T15:13:40+02:00 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/OCE/stpmlf.F90
r15023 r15061 478 478 REAL(wp), DIMENSION(jpi,jpj,jpk,jpt), INTENT(inout) :: puu, pvv ! velocities 479 479 ! 480 INTEGER :: j k ! dummy loop indices480 INTEGER :: ji,jj, jk ! dummy loop indices 481 481 REAL(wp), DIMENSION(jpi,jpj) :: zue, zve 482 482 !!---------------------------------------------------------------------- … … 484 484 ! Ensure below that barotropic velocities match time splitting estimate 485 485 ! Compute actual transport and replace it with ts estimate at "after" time step 486 zue(:,:) = e3u(:,:,1,Kaa) * puu(:,:,1,Kaa) * umask(:,:,1) 487 zve(:,:) = e3v(:,:,1,Kaa) * pvv(:,:,1,Kaa) * vmask(:,:,1) 486 DO_2D( 0, 0, 0, 0 ) 487 zue(ji,jj) = e3u(ji,jj,1,Kaa) * puu(ji,jj,1,Kaa) * umask(ji,jj,1) 488 zve(ji,jj) = e3v(ji,jj,1,Kaa) * pvv(ji,jj,1,Kaa) * vmask(ji,jj,1) 489 END_2D 488 490 DO jk = 2, jpkm1 489 zue(:,:) = zue(:,:) + e3u(:,:,jk,Kaa) * puu(:,:,jk,Kaa) * umask(:,:,jk) 490 zve(:,:) = zve(:,:) + e3v(:,:,jk,Kaa) * pvv(:,:,jk,Kaa) * vmask(:,:,jk) 491 DO_2D( 0, 0, 0, 0 ) 492 zue(ji,jj) = zue(ji,jj) + e3u(ji,jj,jk,Kaa) * puu(ji,jj,jk,Kaa) * umask(ji,jj,jk) 493 zve(ji,jj) = zve(ji,jj) + e3v(ji,jj,jk,Kaa) * pvv(ji,jj,jk,Kaa) * vmask(ji,jj,jk) 494 END_2D 491 495 END DO 492 496 DO jk = 1, jpkm1 493 puu(:,:,jk,Kaa) = ( puu(:,:,jk,Kaa) - zue(:,:) * r1_hu(:,:,Kaa) + uu_b(:,:,Kaa) ) * umask(:,:,jk) 494 pvv(:,:,jk,Kaa) = ( pvv(:,:,jk,Kaa) - zve(:,:) * r1_hv(:,:,Kaa) + vv_b(:,:,Kaa) ) * vmask(:,:,jk) 497 DO_2D( 0, 0, 0, 0 ) 498 puu(ji,jj,jk,Kaa) = ( puu(ji,jj,jk,Kaa) - zue(ji,jj) * r1_hu(ji,jj,Kaa) + uu_b(ji,jj,Kaa) ) * umask(ji,jj,jk) 499 pvv(ji,jj,jk,Kaa) = ( pvv(ji,jj,jk,Kaa) - zve(ji,jj) * r1_hv(ji,jj,Kaa) + vv_b(ji,jj,Kaa) ) * vmask(ji,jj,jk) 500 END_2D 495 501 END DO 496 502 ! … … 501 507 ! so that asselin contribution is removed at the same time 502 508 DO jk = 1, jpkm1 503 puu(:,:,jk,Kmm) = ( puu(:,:,jk,Kmm) - un_adv(:,:)*r1_hu(:,:,Kmm) + uu_b(:,:,Kmm) )*umask(:,:,jk) 504 pvv(:,:,jk,Kmm) = ( pvv(:,:,jk,Kmm) - vn_adv(:,:)*r1_hv(:,:,Kmm) + vv_b(:,:,Kmm) )*vmask(:,:,jk) 509 DO_2D( 0, 0, 0, 0 ) 510 puu(ji,jj,jk,Kmm) = ( puu(ji,jj,jk,Kmm) - un_adv(ji,jj)*r1_hu(ji,jj,Kmm) + uu_b(ji,jj,Kmm) )*umask(ji,jj,jk) 511 pvv(ji,jj,jk,Kmm) = ( pvv(ji,jj,jk,Kmm) - vn_adv(ji,jj)*r1_hv(ji,jj,Kmm) + vv_b(ji,jj,Kmm) )*vmask(ji,jj,jk) 512 END_2D 505 513 END DO 506 514 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.