- Timestamp:
- 2018-10-29T15:20:26+01:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_AMM15_package/NEMOGCM/NEMO/OPA_SRC/DYN/dynkeg.F90
r10249 r10251 24 24 USE wrk_nemo ! Memory Allocation 25 25 USE timing ! Timing 26 #if defined key_bdy27 USE bdy_oce ! ocean open boundary conditions28 #endif29 26 30 27 IMPLICIT NONE … … 81 78 REAL(wp), POINTER, DIMENSION(:,:,:) :: zhke 82 79 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrdu, ztrdv 83 #if defined key_bdy84 INTEGER :: jb ! dummy loop indices85 INTEGER :: ii, ij, igrd, ib_bdy ! local integers86 INTEGER :: fu, fv87 #endif88 80 !!---------------------------------------------------------------------- 89 81 ! … … 105 97 106 98 zhke(:,:,jpk) = 0._wp 107 108 #if defined key_bdy 109 ! Maria Luneva & Fred Wobus: July-2016 110 ! compensate for lack of turbulent kinetic energy on liquid bdy points 111 DO ib_bdy = 1, nb_bdy 112 IF( cn_dyn3d(ib_bdy) /= 'none' ) THEN 113 igrd = 2 ! Copying normal velocity into points outside bdy 114 DO jb = 1, idx_bdy(ib_bdy)%nblenrim(igrd) 115 DO jk = 1, jpkm1 116 ii = idx_bdy(ib_bdy)%nbi(jb,igrd) 117 ij = idx_bdy(ib_bdy)%nbj(jb,igrd) 118 fu = NINT( idx_bdy(ib_bdy)%flagu(jb,igrd) ) 119 un(ii-fu,ij,jk) = un(ii,ij,jk) * umask(ii,ij,jk) 120 END DO 121 END DO 122 ! 123 igrd = 3 ! Copying normal velocity into points outside bdy 124 DO jb = 1, idx_bdy(ib_bdy)%nblenrim(igrd) 125 DO jk = 1, jpkm1 126 ii = idx_bdy(ib_bdy)%nbi(jb,igrd) 127 ij = idx_bdy(ib_bdy)%nbj(jb,igrd) 128 fv = NINT( idx_bdy(ib_bdy)%flagv(jb,igrd) ) 129 vn(ii,ij-fv,jk) = vn(ii,ij,jk) * vmask(ii,ij,jk) 130 END DO 131 END DO 132 ENDIF 133 ENDDO 134 #endif 135 99 136 100 SELECT CASE ( kscheme ) !== Horizontal kinetic energy at T-point ==! 137 101 ! … … 148 112 END DO 149 113 END DO 150 !151 CALL lbc_lnk( zhke, 'T', 1. )152 114 ! 153 115 CASE ( nkeg_HW ) !-- Hollingsworth scheme --! … … 172 134 END SELECT 173 135 ! 174 175 #if defined key_bdy176 ! restore velocity masks at points outside boundary177 un(:,:,:) = un(:,:,:) * umask(:,:,:)178 vn(:,:,:) = vn(:,:,:) * vmask(:,:,:)179 #endif180 181 136 DO jk = 1, jpkm1 !== grad( KE ) added to the general momentum trends ==! 182 137 DO jj = 2, jpjm1
Note: See TracChangeset
for help on using the changeset viewer.