- Timestamp:
- 2015-09-10T19:05:13+02:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/2014_Surge_Modelling/NEMOGCM/NEMO/OPA_SRC/DYN/wadlmt.F90
r5066 r5727 131 131 DO ji = 2, jpim1 132 132 133 wdmask(ji,jj) = 0133 ! wdmask(ji,jj) = 0 134 134 IF(tmask(ji, jj, 1) < 0.5_wp) CYCLE 135 135 IF(bathy(ji,jj) > zdepwd) CYCLE … … 148 148 IF(zdep1 > zdep2) THEN 149 149 zflag = 1 150 wdmask(ji, jj) = 1150 ! wdmask(ji, jj) = 1 151 151 zcoef = ( ( zdep2 - rn_wdmin2 ) * ztmp - zzflxn * z2dt ) / ( zflxp(ji,jj) * z2dt ) 152 152 zcoef = max(zcoef, 0._wp) … … 170 170 END DO ! jk1 loop 171 171 172 un(:,:,:) = un(:,:,:) * zwdlmtu(ji, jj) 173 vn(:,:,:) = vn(:,:,:) * zwdlmtv(ji, jj) 172 DO jk = 1, jpkm1 173 un(:,:,jk) = un(:,:,jk) * zwdlmtu(:, :) 174 vn(:,:,jk) = vn(:,:,jk) * zwdlmtv(:, :) 175 END DO 174 176 175 177 CALL lbc_lnk( un, 'U', -1. ) … … 213 215 REAL(wp), POINTER, DIMENSION(:,:) :: zflxp, zflxn ! local 2D workspace 214 216 REAL(wp), POINTER, DIMENSION(:,:) :: zflxu1, zflxv1 ! local 2D workspace 217 REAL(wp), POINTER, DIMENSION(:,:) :: sum_e3u, sum_e3v ! local 2D workspace 215 218 216 219 !!---------------------------------------------------------------------- … … 223 226 CALL wrk_alloc( jpi, jpj, zflxp, zflxn, zflxu1, zflxv1 ) 224 227 CALL wrk_alloc( jpi, jpj, zwdlmtu, zwdlmtv) 228 CALL wrk_alloc( jpi, jpj, sum_e3u, sum_e3v) 225 229 ! 226 230 … … 235 239 zflxp(:,:) = 0._wp 236 240 zflxn(:,:) = 0._wp 237 zflxu(:,:) = 0._wp238 zflxv(:,:) = 0._wp241 !RF bug fix! zflxu(:,:) = 0._wp 242 !RF bug fix! zflxv(:,:) = 0._wp 239 243 240 244 zwdlmtu(:,:) = 1._wp … … 243 247 ! Horizontal Flux in u and v direction 244 248 245 zflxu(:,:) = zflxu(:,:) * e2u(:,:)246 zflxv(:,:) = zflxv(:,:) * e1v(:,:)249 !RF bug fix zflxu(:,:) = zflxu(:,:) * e2u(:,:) 250 !RF bug fix zflxv(:,:) = zflxv(:,:) * e1v(:,:) 247 251 248 252 DO jj = 2, jpjm1 … … 276 280 DO ji = 2, jpim1 277 281 278 wdmask(ji,jj) = 0279 IF(tmask(ji, jj, 1) < 0.5_wp) CYCLE 280 IF(bathy(ji,jj) > zdepwd) CYCLE 282 ! wdmask(ji,jj) = 0 283 IF(tmask(ji, jj, 1) < 0.5_wp) CYCLE ! we don't care about land cells 284 IF(bathy(ji,jj) > zdepwd) CYCLE ! and cells which will unlikely go dried out 281 285 282 !ztmp = e1t(ji,jj) * e2t(ji,jj) !there must be an array ready for this283 286 ztmp = e12t(ji,jj) 284 287 … … 316 319 END DO ! jk1 loop 317 320 318 zflxu(:,:) = zflxu(:,:) * zwdlmtu( ji, jj)319 zflxv(:,:) = zflxv(:,:) * zwdlmtv( ji, jj)321 zflxu(:,:) = zflxu(:,:) * zwdlmtu(:, :) 322 zflxv(:,:) = zflxv(:,:) * zwdlmtv(:, :) 320 323 321 324 CALL lbc_lnk( zflxu, 'U', -1. ) … … 330 333 CALL wrk_dealloc( jpi, jpj, zflxp, zflxn, zflxu1, zflxv1 ) 331 334 CALL wrk_dealloc( jpi, jpj, zwdlmtu, zwdlmtv) 335 CALL wrk_dealloc( jpi, jpj, sum_e3u, sum_e3v) 332 336 ! 333 337 END IF
Note: See TracChangeset
for help on using the changeset viewer.