- Timestamp:
- 2014-01-17T17:56:32+01:00 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2013/dev_MERGE_2013/NEMOGCM/NEMO/OPA_SRC/BDY/bdydyn3d.F90
r4317 r4354 15 15 !!---------------------------------------------------------------------- 16 16 USE timing ! Timing 17 USE wrk_nemo ! Memory Allocation18 17 USE oce ! ocean dynamics and tracers 19 18 USE dom_oce ! ocean space and time domain … … 266 265 REAL(wp) :: zwgt ! boundary weight 267 266 INTEGER :: ib_bdy ! loop index 268 REAL(wp), POINTER, DIMENSION(:,:) :: phur1, phvr1 ! inverse depth at u and v points269 267 !!---------------------------------------------------------------------- 270 268 ! … … 272 270 ! 273 271 !------------------------------------------------------- 274 ! Remove barotropic part from before velocity275 !-------------------------------------------------------276 CALL wrk_alloc(jpi,jpj,pub2d,pvb2d,phur1,phvr1)277 278 pub2d(:,:) = 0.e0279 pvb2d(:,:) = 0.e0280 281 phur1(:,:) = 0.282 phvr1(:,:) = 0.283 DO jk = 1, jpkm1284 #if defined key_vvl285 phur1(:,:) = phur1(:,:) + fse3u_a(:,:,jk) * umask(:,:,jk)286 phvr1(:,:) = phvr1(:,:) + fse3v_a(:,:,jk) * vmask(:,:,jk)287 pub2d(:,:) = pub2d(:,:) + fse3u_b(:,:,jk)* ub(:,:,jk) *umask(:,:,jk)288 pvb2d(:,:) = pvb2d(:,:) + fse3v_b(:,:,jk)* vb(:,:,jk) *vmask(:,:,jk)289 #else290 pub2d(:,:) = pub2d(:,:) + fse3u(:,:,jk) * ub(:,:,jk) * umask(:,:,jk)291 pvb2d(:,:) = pvb2d(:,:) + fse3v(:,:,jk) * vb(:,:,jk) * vmask(:,:,jk)292 #endif293 END DO294 295 IF( lk_vvl ) THEN296 phur1(:,:) = umask(:,:,1) / ( phur1(:,:) + 1. - umask(:,:,1) )297 phvr1(:,:) = vmask(:,:,1) / ( phvr1(:,:) + 1. - vmask(:,:,1) )298 pub2d(:,:) = pub2d(:,:) * umask(:,:,1) * phur1(:,:)299 pvb2d(:,:) = pvb2d(:,:) * vmask(:,:,1) * phvr1(:,:)300 ELSE301 pub2d(:,:) = pvb2d(:,:) * hur(:,:)302 pvb2d(:,:) = pub2d(:,:) * hvr(:,:)303 ENDIF304 272 305 273 DO ib_bdy=1, nb_bdy … … 312 280 DO jk = 1, jpkm1 313 281 ua(ii,ij,jk) = ( ua(ii,ij,jk) + zwgt * ( dta_bdy(ib_bdy)%u3d(jb,jk) - & 314 ub(ii,ij,jk) + pub2d(ii,ij)) ) * umask(ii,ij,jk)282 ub(ii,ij,jk) + ub_b(ii,ij)) ) * umask(ii,ij,jk) 315 283 END DO 316 284 END DO … … 323 291 DO jk = 1, jpkm1 324 292 va(ii,ij,jk) = ( va(ii,ij,jk) + zwgt * ( dta_bdy(ib_bdy)%v3d(jb,jk) - & 325 vb(ii,ij,jk) + pvb2d(ii,ij)) ) * vmask(ii,ij,jk)293 vb(ii,ij,jk) + vb_b(ii,ij)) ) * vmask(ii,ij,jk) 326 294 END DO 327 295 END DO … … 329 297 ENDDO 330 298 ! 331 CALL wrk_dealloc(jpi,jpj,pub2d,pvb2d,phur1,phvr1)332 !333 299 CALL lbc_lnk( ua, 'U', -1. ) ; CALL lbc_lnk( va, 'V', -1. ) ! Boundary points should be updated 334 300 !
Note: See TracChangeset
for help on using the changeset viewer.