- Timestamp:
- 2015-11-11T19:11:01+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_bdy_sponge_temp/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_lap.F90
r5876 r5878 26 26 USE lib_mpp ! MPP library 27 27 USE timing ! Timing 28 #if defined key_bdy 29 USE bdy_oce 30 #endif 28 31 29 32 IMPLICIT NONE … … 77 80 INTEGER :: iku, ikv, ierr ! local integers 78 81 REAL(wp) :: zabe1, zabe2, zbtr ! local scalars 82 REAL(wp), DIMENSION(jpi,jpj) :: zfactor ! multiplier for diffusion 79 83 !!---------------------------------------------------------------------- 80 84 ! … … 86 90 IF(lwp) WRITE(numout,*) '~~~~~~~~~~~ ' 87 91 ENDIF 92 #if defined key_bdy 93 zfactor(:,:) = sponge_factor(:,:) 94 #else 95 zfactor(:,:) = 1.0 96 #endif 88 97 89 98 ! ! =========== ! … … 96 105 DO jj = 1, jpjm1 97 106 DO ji = 1, fs_jpim1 ! vector opt. 98 zabe1 = fsahtu(ji,jj,jk) * umask(ji,jj,jk) * re2u_e1u(ji,jj) * fse3u_n(ji,jj,jk)99 zabe2 = fsahtv(ji,jj,jk) * vmask(ji,jj,jk) * re1v_e2v(ji,jj) * fse3v_n(ji,jj,jk)107 zabe1 = zfactor(ji,jj) * fsahtu(ji,jj,jk) * umask(ji,jj,jk) * re2u_e1u(ji,jj) * fse3u_n(ji,jj,jk) 108 zabe2 = zfactor(ji,jj) * fsahtv(ji,jj,jk) * vmask(ji,jj,jk) * re1v_e2v(ji,jj) * fse3v_n(ji,jj,jk) 100 109 ztu(ji,jj,jk) = zabe1 * ( ptb(ji+1,jj ,jk,jn) - ptb(ji,jj,jk,jn) ) 101 110 ztv(ji,jj,jk) = zabe2 * ( ptb(ji ,jj+1,jk,jn) - ptb(ji,jj,jk,jn) ) … … 109 118 ikv = mbkv(ji,jj) 110 119 IF( iku == jk ) THEN 111 zabe1 = fsahtu(ji,jj,iku) * umask(ji,jj,iku) * re2u_e1u(ji,jj) * fse3u_n(ji,jj,iku)120 zabe1 = zfactor(ji,jj) * fsahtu(ji,jj,iku) * umask(ji,jj,iku) * re2u_e1u(ji,jj) * fse3u_n(ji,jj,iku) 112 121 ztu(ji,jj,jk) = zabe1 * pgu(ji,jj,jn) 113 122 ENDIF 114 123 IF( ikv == jk ) THEN 115 zabe2 = fsahtv(ji,jj,ikv) * vmask(ji,jj,ikv) * re1v_e2v(ji,jj) * fse3v_n(ji,jj,ikv)124 zabe2 = zfactor(ji,jj) * fsahtv(ji,jj,ikv) * vmask(ji,jj,ikv) * re1v_e2v(ji,jj) * fse3v_n(ji,jj,ikv) 116 125 ztv(ji,jj,jk) = zabe2 * pgv(ji,jj,jn) 117 126 ENDIF … … 128 137 ikv = mikv(ji,jj) 129 138 IF( iku == MAX(2,jk) ) THEN 130 zabe1 = fsahtu(ji,jj,iku) * umask(ji,jj,iku) * re2u_e1u(ji,jj) * fse3u_n(ji,jj,iku)139 zabe1 = zfactor(ji,jj) * fsahtu(ji,jj,iku) * umask(ji,jj,iku) * re2u_e1u(ji,jj) * fse3u_n(ji,jj,iku) 131 140 ztu(ji,jj,jk) = zabe1 * pgui(ji,jj,jn) 132 141 ENDIF 133 142 IF( ikv == MAX(2,jk) ) THEN 134 zabe2 = fsahtv(ji,jj,ikv) * vmask(ji,jj,ikv) * re1v_e2v(ji,jj) * fse3v_n(ji,jj,ikv)143 zabe2 = zfactor(ji,jj) * fsahtv(ji,jj,ikv) * vmask(ji,jj,ikv) * re1v_e2v(ji,jj) * fse3v_n(ji,jj,ikv) 135 144 ztv(ji,jj,jk) = zabe2 * pgvi(ji,jj,jn) 136 145 END IF
Note: See TracChangeset
for help on using the changeset viewer.