- Timestamp:
- 2015-12-16T10:25:22+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_merge_2015/NEMOGCM/NEMO/OFF_SRC/dtadyn.F90
r5930 r6060 85 85 86 86 !! * Substitutions 87 # include "domzgr_substitute.h90"88 87 # include "vectopt_loop_substitute.h90" 89 88 !!---------------------------------------------------------------------- … … 107 106 USE oce, ONLY: zts => tsa 108 107 USE oce, ONLY: zuslp => ua , zvslp => va 109 USE zdf_oce, ONLY: zwslpi => avmu , zwslpj => avmv110 108 USE oce, ONLY: zu => ub , zv => vb, zw => rke 111 109 ! 112 110 INTEGER, INTENT(in) :: kt ! ocean time-step index 113 111 ! 112 REAL(wp), DIMENSION(jpi,jpj,jpk ) :: zwslpi, zwslpj 114 113 ! REAL(wp), DIMENSION(jpi,jpj,jpk,jpts) :: zts 115 114 ! REAL(wp), DIMENSION(jpi,jpj,jpk ) :: zuslp, zvslp, zwslpi, zwslpj … … 421 420 END SUBROUTINE dta_dyn_init 422 421 422 423 423 SUBROUTINE dta_dyn_wzv( pu, pv, pw ) 424 424 !!---------------------------------------------------------------------- … … 449 449 DO jj = 2, jpjm1 450 450 DO ji = fs_2, fs_jpim1 ! vector opt. 451 zu = pu(ji ,jj ,jk) * umask(ji ,jj ,jk) * e2u(ji ,jj ) * fse3u(ji ,jj ,jk) 452 zu1 = pu(ji-1,jj ,jk) * umask(ji-1,jj ,jk) * e2u(ji-1,jj ) * fse3u(ji-1,jj ,jk) 453 zv = pv(ji ,jj ,jk) * vmask(ji ,jj ,jk) * e1v(ji ,jj ) * fse3v(ji ,jj ,jk) 454 zv1 = pv(ji ,jj-1,jk) * vmask(ji ,jj-1,jk) * e1v(ji ,jj-1) * fse3v(ji ,jj-1,jk) 455 zet = 1. / ( e1e2t(ji,jj) * fse3t(ji,jj,jk) ) 456 zhdiv(ji,jj,jk) = ( zu - zu1 + zv - zv1 ) * zet 451 zu = pu(ji ,jj ,jk) * umask(ji ,jj ,jk) * e2u(ji ,jj ) * e3u_n(ji ,jj ,jk) 452 zu1 = pu(ji-1,jj ,jk) * umask(ji-1,jj ,jk) * e2u(ji-1,jj ) * e3u_n(ji-1,jj ,jk) 453 zv = pv(ji ,jj ,jk) * vmask(ji ,jj ,jk) * e1v(ji ,jj ) * e3v_n(ji ,jj ,jk) 454 zv1 = pv(ji ,jj-1,jk) * vmask(ji ,jj-1,jk) * e1v(ji ,jj-1) * e3v_n(ji ,jj-1,jk) 455 zhdiv(ji,jj,jk) = ( zu - zu1 + zv - zv1 ) * r1_e1e2t(ji,jj) / e3t_n(ji,jj,jk) 457 456 END DO 458 457 END DO 459 458 END DO 460 459 ! ! update the horizontal divergence with the runoff inflow 461 IF( ln_dynrnf ) zhdiv(:,:,1) = zhdiv(:,:,1) - rnf(:,:) * r1_rau0 / fse3t(:,:,1)460 IF( ln_dynrnf ) zhdiv(:,:,1) = zhdiv(:,:,1) - rnf(:,:) * r1_rau0 / e3t_n(:,:,1) 462 461 ! 463 462 CALL lbc_lnk( zhdiv, 'T', 1. ) ! Lateral boundary conditions on zhdiv … … 465 464 pw(:,:,jpk) = 0._wp 466 465 DO jk = jpkm1, 1, -1 467 pw(:,:,jk) = pw(:,:,jk+1) - fse3t(:,:,jk) * zhdiv(:,:,jk)466 pw(:,:,jk) = pw(:,:,jk+1) - e3t_n(:,:,jk) * zhdiv(:,:,jk) 468 467 END DO 469 468 !
Note: See TracChangeset
for help on using the changeset viewer.