New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 6060 for branches/2015/dev_merge_2015/NEMOGCM/NEMO/OFF_SRC/dtadyn.F90 – NEMO

Ignore:
Timestamp:
2015-12-16T10:25:22+01:00 (8 years ago)
Author:
timgraham
Message:

Merged dev_r5836_noc2_VVL_BY_DEFAULT into branch

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_merge_2015/NEMOGCM/NEMO/OFF_SRC/dtadyn.F90

    r5930 r6060  
    8585 
    8686   !! * Substitutions 
    87 #  include "domzgr_substitute.h90" 
    8887#  include "vectopt_loop_substitute.h90" 
    8988   !!---------------------------------------------------------------------- 
     
    107106      USE oce, ONLY:  zts    => tsa 
    108107      USE oce, ONLY:  zuslp  => ua   , zvslp  => va 
    109       USE zdf_oce, ONLY:  zwslpi => avmu , zwslpj => avmv  
    110108      USE oce, ONLY:  zu     => ub   , zv     => vb,  zw => rke 
    111109      ! 
    112110      INTEGER, INTENT(in) ::   kt   ! ocean time-step index 
    113111      ! 
     112       REAL(wp), DIMENSION(jpi,jpj,jpk     )  :: zwslpi, zwslpj 
    114113!      REAL(wp), DIMENSION(jpi,jpj,jpk,jpts)  :: zts 
    115114!      REAL(wp), DIMENSION(jpi,jpj,jpk     )  :: zuslp, zvslp, zwslpi, zwslpj 
     
    421420   END SUBROUTINE dta_dyn_init 
    422421 
     422 
    423423   SUBROUTINE dta_dyn_wzv( pu, pv, pw ) 
    424424      !!---------------------------------------------------------------------- 
     
    449449         DO jj = 2, jpjm1 
    450450            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)  
    457456            END DO 
    458457         END DO 
    459458      END DO 
    460459      !                              !  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) 
    462461      ! 
    463462      CALL lbc_lnk( zhdiv, 'T', 1. )      ! Lateral boundary conditions on zhdiv 
     
    465464      pw(:,:,jpk) = 0._wp 
    466465      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) 
    468467      END DO 
    469468      ! 
Note: See TracChangeset for help on using the changeset viewer.