- Timestamp:
- 2016-10-05T12:08:37+02:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/CO6_KD490_amm7oper/NEMOGCM/NEMO/OPA_SRC/DYN/dynkeg.F90
r6331 r6991 24 24 USE wrk_nemo ! Memory Allocation 25 25 USE timing ! Timing 26 26 #if defined key_bdy 27 USE bdy_oce ! ocean open boundary conditions 28 #endif 29 27 30 IMPLICIT NONE 28 31 PRIVATE … … 78 81 REAL(wp), POINTER, DIMENSION(:,:,:) :: zhke 79 82 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrdu, ztrdv 83 #if defined key_bdy 84 INTEGER :: jb ! dummy loop indices 85 INTEGER :: ii, ij, igrd, ib_bdy ! local integers 86 INTEGER :: fu, fv 87 #endif 80 88 !!---------------------------------------------------------------------- 81 89 ! … … 97 105 98 106 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 99 135 100 136 SELECT CASE ( kscheme ) !== Horizontal kinetic energy at T-point ==! … … 134 170 END SELECT 135 171 ! 172 173 #if defined key_bdy 174 ! restore velocity masks at points outside boundary 175 un(:,:,:) = un(:,:,:) * umask(:,:,:) 176 vn(:,:,:) = vn(:,:,:) * vmask(:,:,:) 177 #endif 178 136 179 DO jk = 1, jpkm1 !== grad( KE ) added to the general momentum trends ==! 137 180 DO jj = 2, jpjm1
Note: See TracChangeset
for help on using the changeset viewer.