Changeset 15563 for NEMO/releases/r4.0/r4.0-HEAD/src/OCE/DOM
- Timestamp:
- 2021-12-01T16:50:19+01:00 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/releases/r4.0/r4.0-HEAD/src/OCE/DOM/domvvl.F90
r15458 r15563 719 719 ! 720 720 INTEGER :: ji, jj, jk ! dummy loop indices 721 INTEGER :: iku, ikum1, ikv, ikvm1, ikf, ikfm1 ! 721 722 REAL(wp) :: zlnwd ! =1./0. when ln_wd_il = T/F 722 723 !!---------------------------------------------------------------------- … … 740 741 END DO 741 742 END DO 743 ! 744 ! Bottom correction: 745 DO jj = 1, jpjm1 746 DO ji = 1, fs_jpim1 ! vector opt. 747 iku = mbku(ji ,jj) 748 ikum1 = iku - 1 749 pe3_out(ji,jj,iku) = ( umask(ji,jj,iku) * (1.0_wp - zlnwd) + zlnwd ) & 750 & *( 0.5_wp * r1_e1e2u(ji,jj) & 751 & *( e1e2t(ji ,jj) * ( SUM(tmask(ji ,jj,:)*(pe3_in(ji ,jj,:) - e3t_0(ji ,jj,:))) ) & 752 & + e1e2t(ji+1,jj) * ( SUM(tmask(ji+1,jj,:)*(pe3_in(ji+1,jj,:) - e3t_0(ji+1,jj,:))) ) ) & 753 & - SUM(pe3_out(ji,jj,1:ikum1))) 754 END DO 755 END DO 756 ! 742 757 CALL lbc_lnk( 'domvvl', pe3_out(:,:,:), 'U', 1._wp ) 743 758 pe3_out(:,:,:) = pe3_out(:,:,:) + e3u_0(:,:,:) … … 753 768 END DO 754 769 END DO 770 ! 771 ! Bottom correction: 772 DO jj = 1, jpjm1 773 DO ji = 1, fs_jpim1 ! vector opt. 774 ikv = mbkv(ji ,jj) 775 ikvm1 = ikv - 1 776 pe3_out(ji,jj,ikv) = ( vmask(ji,jj,ikv) * (1.0_wp - zlnwd) + zlnwd ) & 777 & *( 0.5_wp * r1_e1e2v(ji,jj) & 778 & *( e1e2t(ji,jj ) * ( SUM(tmask(ji,jj ,:)*(pe3_in(ji,jj ,:) - e3t_0(ji,jj ,:))) ) & 779 & + e1e2t(ji,jj+1) * ( SUM(tmask(ji,jj+1,:)*(pe3_in(ji,jj+1,:) - e3t_0(ji,jj+1,:))) ) ) & 780 & - SUM(pe3_out(ji,jj,1:ikvm1))) 781 END DO 782 END DO 783 ! 755 784 CALL lbc_lnk( 'domvvl', pe3_out(:,:,:), 'V', 1._wp ) 756 785 pe3_out(:,:,:) = pe3_out(:,:,:) + e3v_0(:,:,:) … … 767 796 END DO 768 797 END DO 798 ! 799 ! Bottom correction: 800 DO jj = 1, jpjm1 801 DO ji = 1, fs_jpim1 ! vector opt. 802 ikf = MIN(mbku(ji ,jj),mbku(ji,jj+1)) 803 ikfm1 = ikf - 1 804 pe3_out(ji,jj,ikf) = ( umask(ji,jj,ikf) * umask(ji,jj+1,ikf) * (1.0_wp - zlnwd) + zlnwd ) & 805 & * ( 0.5_wp * r1_e1e2f(ji,jj) & 806 & * ( e1e2u(ji,jj ) * ( SUM(umask(ji,jj ,:)*(pe3_in(ji,jj ,:) - e3u_0(ji,jj ,:))) ) & 807 & + e1e2u(ji,jj+1) * ( SUM(umask(ji,jj+1,:)*(pe3_in(ji,jj+1,:) - e3u_0(ji,jj+1,:))) ) ) & 808 & - SUM(pe3_out(ji,jj,1:ikfm1))) 809 END DO 810 END DO 811 ! 769 812 CALL lbc_lnk( 'domvvl', pe3_out(:,:,:), 'F', 1._wp ) 770 813 pe3_out(:,:,:) = pe3_out(:,:,:) + e3f_0(:,:,:)
Note: See TracChangeset
for help on using the changeset viewer.