Changeset 15071
- Timestamp:
- 2021-07-02T15:12:08+02:00 (3 years ago)
- Location:
- NEMO/trunk/src/OCE/ZDF
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/OCE/ZDF/zdfgls.F90
r14967 r15071 327 327 END_3D 328 328 ! 329 zdiag(:,:,jpk) = 1._wp 330 ! 331 ! Set surface condition on zwall_psi (1 at the bottom) 332 zwall_psi(:,:, 1 ) = zwall_psi(:,:,2) 333 zwall_psi(:,:,jpk) = 1._wp 329 DO_2D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) 330 zdiag(ji,jj,jpk) = 1._wp 331 ! 332 ! Set surface condition on zwall_psi (1 at the bottom) 333 zwall_psi(ji,jj, 1 ) = zwall_psi(ji,jj,2) 334 zwall_psi(ji,jj,jpk) = 1._wp 335 END_2D 334 336 ! 335 337 ! Surface boundary condition on tke … … 501 503 ! ---------------------------------------------------------- 502 504 ! 503 DO_3D ( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1505 DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1 504 506 zdiag(ji,jj,jk) = zdiag(ji,jj,jk) - zd_lw(ji,jj,jk) * zd_up(ji,jj,jk-1) / zdiag(ji,jj,jk-1) 505 507 END_3D 506 DO_3D ( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) ! Second recurrence : Lk = RHSk - Lk / Dk-1 * Lk-1508 DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) ! Second recurrence : Lk = RHSk - Lk / Dk-1 * Lk-1 507 509 zd_lw(ji,jj,jk) = en(ji,jj,jk) - zd_lw(ji,jj,jk) / zdiag(ji,jj,jk-1) * zd_lw(ji,jj,jk-1) 508 510 END_3D … … 590 592 END_3D 591 593 ! 592 zdiag(:,:,jpk) = 1._wp 593 594 DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) 595 zdiag(ji,jj,jpk) = 1._wp 596 END_2D 597 594 598 ! Surface boundary condition on psi 595 599 ! --------------------------------- … … 858 862 ! Lines below are useless if GOTM style Dirichlet conditions are used 859 863 860 zstm(:,:,1) = zstm(:,:,2) 861 862 ! default value, in case jpk > mbkt(ji,jj)+1. Not needed but avoid a bug when looking for undefined values (-fpe0) 863 zstm(:,:,jpk) = 0. 864 DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) 865 zstm(ji,jj,1) = zstm(ji,jj,2) 866 zstm(ji,jj,jpk) = 0. ! default value, in case jpk > mbkt(ji,jj)+1 867 ! ! Not needed but avoid a bug when looking for undefined values (-fpe0) 868 END_2D 864 869 DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) ! update bottom with good values 865 870 zstm(ji,jj,mbkt(ji,jj)+1) = zstm(ji,jj,mbkt(ji,jj)) -
NEMO/trunk/src/OCE/ZDF/zdftke.F90
r14985 r15071 428 428 ! 429 429 ! !* Matrix inversion from level 2 (tke prescribed at level 1) 430 DO_3D ( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1430 DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1 431 431 zdiag(ji,jj,jk) = zdiag(ji,jj,jk) - zd_lw(ji,jj,jk) * zd_up(ji,jj,jk-1) / zdiag(ji,jj,jk-1) 432 432 END_3D … … 435 435 ! zd_lw(ji,jj,2) = en(ji,jj,2) - zd_lw(ji,jj,2) * en(ji,jj,1) ! Surface boudary conditions on tke 436 436 ! END_2D 437 DO_3D ( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 )437 DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) 438 438 zd_lw(ji,jj,jk) = en(ji,jj,jk) - zd_lw(ji,jj,jk) / zdiag(ji,jj,jk-1) *zd_lw(ji,jj,jk-1) 439 439 END_3D
Note: See TracChangeset
for help on using the changeset viewer.