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 2974 – NEMO

Changeset 2974


Ignore:
Timestamp:
2011-10-21T16:42:39+02:00 (13 years ago)
Author:
mlelod
Message:

lateral tracer diffusion: coding slightly modified. see ticket/863?

Location:
branches/2011/dev_r2739_LOCEAN8_ZTC/NEMOGCM/NEMO/OPA_SRC
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • branches/2011/dev_r2739_LOCEAN8_ZTC/NEMOGCM/NEMO/OPA_SRC/DOM/dom_oce.F90

    r2905 r2974  
    157157   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   ht_0               !: refernce depth at t-       points (meters) 
    158158   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   hu_0   , hv_0      !: refernce depth at u- and v-points (meters) 
    159    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   e1ur   , e2vr      !: scale factor coeffs at U--V points 
     159   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   e2_1u  , e1_2v     !: scale factor coeffs at U--V points 
    160160   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   e12t   , e12t_1    !: horizontal cell surface and inverse  at T    points 
    161161   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   e12u   , e12u_1    !: horizontal cell surface and inverse  at U    points 
    162    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   e12v_1 , e12f_1    !: inverse horizontal cell surface      at V--F   points 
     162   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   e12v   , e12v_1    !: horizontal cell surface and inverse  at V    points 
     163   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   e12f   , e12f_1    !: inverse horizontal cell surface      at V--F   points 
    163164 
    164165   INTEGER, PUBLIC ::   nla10              !: deepest    W level Above  ~10m (nlb10 - 1) 
     
    293294#endif 
    294295         ! 
    295       ALLOCATE( hu  (jpi,jpj) , hur   (jpi,jpj) , hu_0  (jpi,jpj) , ht_0  (jpi,jpj) ,     & 
    296          &      hv  (jpi,jpj) , hvr   (jpi,jpj) , hv_0  (jpi,jpj) ,                       & 
    297          &      e1ur(jpi,jpj) , e2vr  (jpi,jpj) , e12t  (jpi,jpj) , e12t_1(jpi,jpj) ,     & 
    298          &      e12u(jpi,jpj) , e12u_1(jpi,jpj) , e12v_1(jpi,jpj) , e12f_1(jpi,jpj) , STAT=ierr(6)  ) 
     296      ALLOCATE( hu   (jpi,jpj) , hur   (jpi,jpj) , hu_0(jpi,jpj) , ht_0  (jpi,jpj) ,     & 
     297         &      hv   (jpi,jpj) , hvr   (jpi,jpj) , hv_0(jpi,jpj) ,                       & 
     298         &      e2_1u(jpi,jpj) , e1_2v (jpi,jpj) , e12t(jpi,jpj) , e12t_1(jpi,jpj) ,     & 
     299         &      e12u (jpi,jpj) , e12u_1(jpi,jpj) , e12v(jpi,jpj) , e12v_1(jpi,jpj) ,     & 
     300         &      e12f (jpi,jpj) , e12f_1(jpi,jpj) ,                                   STAT=ierr(6)  ) 
    299301         ! 
    300302      ALLOCATE( gdept_0(jpk) , gdepw_0(jpk) ,                                     & 
  • branches/2011/dev_r2739_LOCEAN8_ZTC/NEMOGCM/NEMO/OPA_SRC/DOM/domain.F90

    r2917 r2974  
    9090      END IF 
    9191      ! 
    92       ! - ML - Used in domvvl and traldf_(lab/bilap/iso) but could be usefull in many other modules 
     92      ! - ML - Used in dom_vvl_sf_nxt and lateral diffusion routines 
     93      !        but could be usefull in many other routines 
    9394      e12t  (:,:) = e1t(:,:) * e2t(:,:) 
    9495      e12u  (:,:) = e1u(:,:) * e2u(:,:) 
    95       e12u_1(:,:) = 0.5 / e12u(:,:) 
    96       e12v_1(:,:) = 0.5 / ( e1v(:,:) * e2v(:,:) ) 
    97       e12f_1(:,:) = 0.5 / ( e1f(:,:) * e2f(:,:) ) 
    98       e1ur  (:,:) = e2u(:,:) / e1u(:,:) 
    99       e2vr  (:,:) = e1v(:,:) / e2v(:,:) 
     96      e12v  (:,:) = e1v(:,:) * e2v(:,:) 
     97      e12f  (:,:) = e1f(:,:) * e2f(:,:) 
     98      e12t_1(:,:) = 1. / e12t(:,:) 
     99      e12u_1(:,:) = 1. / e12u(:,:) 
     100      e12v_1(:,:) = 1. / e12v(:,:) 
     101      e12f_1(:,:) = 1. / e12f(:,:) 
     102      e2_1u (:,:) = e2u(:,:) / e1u(:,:) 
     103      e1_2v (:,:) = e1v(:,:) / e2v(:,:) 
    100104      ! 
    101105      hu(:,:) = 0.e0                           ! Ocean depth at U- and V-points 
  • branches/2011/dev_r2739_LOCEAN8_ZTC/NEMOGCM/NEMO/OPA_SRC/DOM/domvvl.F90

    r2970 r2974  
    308308            DO jj = 1, jpjm1 
    309309               DO ji = 1, fs_jpim1   ! vector opt. 
    310                   un_td(ji,jj,jk) = ahe3 * umask(ji,jj,jk) * e1ur(ji,jj) * ( e3t_t_b(ji,jj,jk) - e3t_t_b(ji+1,jj  ,jk) ) 
    311                   vn_td(ji,jj,jk) = ahe3 * vmask(ji,jj,jk) * e2vr(ji,jj) * ( e3t_t_b(ji,jj,jk) - e3t_t_b(ji  ,jj+1,jk) ) 
     310                  un_td(ji,jj,jk) = ahe3 * umask(ji,jj,jk) * e2_1u(ji,jj) * ( e3t_t_b(ji,jj,jk) - e3t_t_b(ji+1,jj  ,jk) ) 
     311                  vn_td(ji,jj,jk) = ahe3 * vmask(ji,jj,jk) * e1_2v(ji,jj) * ( e3t_t_b(ji,jj,jk) - e3t_t_b(ji  ,jj+1,jk) ) 
    312312                  zwu(ji,jj) = zwu(ji,jj) + un_td(ji,jj,jk) 
    313313                  zwv(ji,jj) = zwv(ji,jj) + vn_td(ji,jj,jk) 
     
    332332            END DO 
    333333         END DO 
    334          ! d - thickness diffusion equivalent transport: boundary conditions 
     334         ! d - thickness diffusion transport: boundary conditions 
    335335         !     (stored for tracer advction and continuity equation) 
    336336         CALL lbc_lnk( un_td , 'U' , -1.) 
     
    557557            DO jj = 2, jpjm1 
    558558               DO ji = 1, fs_jpim1   ! vector opt. 
    559                   pe3_out(ji,jj,jk) = umask(ji,jj,jk) * e12u_1(ji,jj)                                          & 
    560                      &                  * (   e12t(ji  ,jj) * ( pe3_in(ji  ,jj,jk) - fse3t_0(ji  ,jj,jk) )     & 
    561                      &                      + e12t(ji+1,jj) * ( pe3_in(ji+1,jj,jk) - fse3t_0(ji+1,jj,jk) ) ) 
     559                  pe3_out(ji,jj,jk) = 0.5 * umask(ji,jj,jk) * e12u_1(ji,jj)                                      & 
     560                     &                    * (   e12t(ji  ,jj) * ( pe3_in(ji  ,jj,jk) - fse3t_0(ji  ,jj,jk) )     & 
     561                     &                        + e12t(ji+1,jj) * ( pe3_in(ji+1,jj,jk) - fse3t_0(ji+1,jj,jk) ) ) 
    562562               END DO 
    563563            END DO 
     
    573573            DO jj = 1, jpjm1 
    574574               DO ji = fs_2, fs_jpim1   ! vector opt. 
    575                   pe3_out(ji,jj,jk) = umask(ji,jj,jk) * e12v_1(ji,jj)                                          & 
    576                      &                  * (   e12t(ji,jj  ) * ( pe3_in(ji,jj  ,jk) - fse3t_0(ji,jj  ,jk) )     & 
    577                      &                      + e12t(ji,jj+1) * ( pe3_in(ji,jj+1,jk) - fse3t_0(ji,jj+1,jk) ) ) 
     575                  pe3_out(ji,jj,jk) = 0.5 * vmask(ji,jj,jk) * e12v_1(ji,jj)                                      & 
     576                     &                    * (   e12t(ji,jj  ) * ( pe3_in(ji,jj  ,jk) - fse3t_0(ji,jj  ,jk) )     & 
     577                     &                        + e12t(ji,jj+1) * ( pe3_in(ji,jj+1,jk) - fse3t_0(ji,jj+1,jk) ) ) 
    578578               END DO 
    579579            END DO 
     
    589589            DO jj = 1, jpjm1 
    590590               DO ji = 1, fs_jpim1   ! vector opt. 
    591                   pe3_out(ji,jj,jk) = umask(ji,jj,jk) * umask(ji,jj+1,jk) * e12f_1(ji,jj)                      & 
    592                      &                  * (   e12u(ji,jj  ) * ( pe3_in(ji,jj  ,jk) - fse3u_0(ji,jj  ,jk) )     & 
    593                      &                      + e12u(ji,jj+1) * ( pe3_in(ji,jj+1,jk) - fse3u_0(ji,jj+1,jk) ) ) 
     591                  pe3_out(ji,jj,jk) = 0.5 * umask(ji,jj,jk) * umask(ji,jj+1,jk) * e12f_1(ji,jj)                  & 
     592                     &                    * (   e12u(ji,jj  ) * ( pe3_in(ji,jj  ,jk) - fse3u_0(ji,jj  ,jk) )     & 
     593                     &                        + e12u(ji,jj+1) * ( pe3_in(ji,jj+1,jk) - fse3u_0(ji,jj+1,jk) ) ) 
    594594               END DO 
    595595            END DO 
  • branches/2011/dev_r2739_LOCEAN8_ZTC/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_bilap.F90

    r2905 r2974  
    107107            DO jj = 1, jpjm1 
    108108               DO ji = 1, fs_jpim1   ! vector opt. 
    109                   zeeu(ji,jj) = e1ur(ji,jj) * fse3u_n(ji,jj,jk) * umask(ji,jj,jk) 
    110                   zeev(ji,jj) = e2vr(ji,jj) * fse3v_n(ji,jj,jk) * vmask(ji,jj,jk) 
     109                  zeeu(ji,jj) = e2_1u(ji,jj) * fse3u_n(ji,jj,jk) * umask(ji,jj,jk) 
     110                  zeev(ji,jj) = e1_2v(ji,jj) * fse3v_n(ji,jj,jk) * vmask(ji,jj,jk) 
    111111               END DO 
    112112            END DO 
     
    130130            DO jj = 2, jpjm1                 ! Second derivative (divergence) time the eddy diffusivity coefficient 
    131131               DO ji = fs_2, fs_jpim1   ! vector opt. 
    132                   zbtr = 1.0 / ( e1t(ji,jj) * e2t(ji,jj) * fse3t_n(ji,jj,jk) ) 
     132                  zbtr = 1.0 / ( e12t(ji,jj) * fse3t_n(ji,jj,jk) ) 
    133133                  zlt(ji,jj) = fsahtt(ji,jj,jk) * zbtr * (   ztu(ji,jj,jk) - ztu(ji-1,jj,jk)   & 
    134134                     &                                     + ztv(ji,jj,jk) - ztv(ji,jj-1,jk)   ) 
     
    148148               DO ji = fs_2, fs_jpim1   ! vector opt. 
    149149                  ! horizontal diffusive trends 
    150                   zbtr = 1.0 / ( e1t(ji,jj) * e2t(ji,jj) * fse3t_n(ji,jj,jk) ) 
     150                  zbtr = 1.0 / ( e12t(ji,jj) * fse3t_n(ji,jj,jk) ) 
    151151                  ztra = zbtr * (  ztu(ji,jj,jk) - ztu(ji-1,jj,jk) + ztv(ji,jj,jk) - ztv(ji,jj-1,jk)  ) 
    152152                  ! add it to the general tracer trends 
  • branches/2011/dev_r2739_LOCEAN8_ZTC/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_bilapg.F90

    r2715 r2974  
    207207            DO jj = 1, jpjm1 
    208208               DO ji = 1, jpim1 
    209                   zabe1 = e2u(ji,jj) * fse3u(ji,jj,jk) / e1u(ji,jj) 
    210                   zabe2 = e1v(ji,jj) * fse3v(ji,jj,jk) / e2v(ji,jj) 
     209                  zabe1 = e2_1u(ji,jj) * fse3u_n(ji,jj,jk) 
     210                  zabe2 = e1_2v(ji,jj) * fse3v_n(ji,jj,jk) 
    211211                   
    212212                  zmku = 1./MAX( tmask(ji+1,jj,jk  )+tmask(ji,jj,jk+1)   & 
     
    275275            DO jk = 2, jpkm1 
    276276               DO ji = 2, jpim1 
    277                   zcof0 = e1t(ji,jj) * e2t(ji,jj) / fse3w(ji,jj,jk)   & 
     277                  zcof0 = e12t(ji,jj) / fse3w_n(ji,jj,jk)   & 
    278278                     &     * (  wslpi(ji,jj,jk) * wslpi(ji,jj,jk)        & 
    279279                     &        + wslpj(ji,jj,jk) * wslpj(ji,jj,jk)  ) 
     
    306306                  DO ji = 2, jpim1 
    307307                     ! eddy coef. divided by the volume element 
    308                      zbtr = 1.0 / ( e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,jk) ) 
     308                     zbtr = 1.0 / ( e12t(ji,jj) * fse3t_n(ji,jj,jk) ) 
    309309                     ! vertical divergence 
    310310                     ztav = fsahtt(ji,jj,jk) * ( zftw(ji,jk) - zftw(ji,jk+1) ) 
     
    318318                  DO ji = 2, jpim1 
    319319                     ! inverse of the volume element 
    320                      zbtr = 1.0 / ( e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,jk) ) 
     320                     zbtr = 1.0 / ( e12t(ji,jj) * fse3t_n(ji,jj,jk) ) 
    321321                     ! vertical divergence 
    322322                     ztav = zftw(ji,jk) - zftw(ji,jk+1) 
  • branches/2011/dev_r2739_LOCEAN8_ZTC/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso.F90

    r2905 r2974  
    172172            DO jj = 1 , jpjm1 
    173173               DO ji = 1, fs_jpim1   ! vector opt. 
    174                   zabe1 = ( fsahtu(ji,jj,jk) + pahtb0 ) * e1ur(ji,jj) * fse3u_n(ji,jj,jk) 
    175                   zabe2 = ( fsahtv(ji,jj,jk) + pahtb0 ) * e2vr(ji,jj) * fse3v_n(ji,jj,jk) 
     174                  zabe1 = ( fsahtu(ji,jj,jk) + pahtb0 ) * e2_1u(ji,jj) * fse3u_n(ji,jj,jk) 
     175                  zabe2 = ( fsahtv(ji,jj,jk) + pahtb0 ) * e1_2v(ji,jj) * fse3v_n(ji,jj,jk) 
    176176                  ! 
    177177                  zmsku = 1. / MAX(  tmask(ji+1,jj,jk  ) + tmask(ji,jj,jk+1)   & 
     
    197197            DO jj = 2 , jpjm1 
    198198               DO ji = fs_2, fs_jpim1   ! vector opt. 
    199                   zbtr = 1.0 / ( e1t(ji,jj) * e2t(ji,jj) * fse3t_n(ji,jj,jk) ) 
     199                  zbtr = 1.0 / ( e12t(ji,jj) * fse3t_n(ji,jj,jk) ) 
    200200                  ztra = zbtr * ( zftu(ji,jj,jk) - zftu(ji-1,jj,jk) + zftv(ji,jj,jk) - zftv(ji,jj-1,jk)  ) 
    201201                  pta(ji,jj,jk,jn) = pta(ji,jj,jk,jn) + ztra 
     
    282282            DO jj = 2, jpjm1 
    283283               DO ji = fs_2, fs_jpim1   ! vector opt. 
    284                   zbtr = 1.0 / ( e1t(ji,jj) * e2t(ji,jj) * fse3t_n(ji,jj,jk) ) 
     284                  zbtr = 1.0 / ( e12t(ji,jj) * fse3t_n(ji,jj,jk) ) 
    285285                  ztra = (  ztfw(ji,jj,jk) - ztfw(ji,jj,jk+1)  ) * zbtr 
    286286                  pta(ji,jj,jk,jn) = pta(ji,jj,jk,jn) + ztra 
  • branches/2011/dev_r2739_LOCEAN8_ZTC/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso_grif.F90

    r2715 r2974  
    159159               DO jj = 1, jpjm1 
    160160                  DO ji = 1, fs_jpim1 
    161                      ze3wr = 1._wp / fse3w(ji+ip,jj,jk+kp) 
    162                      zbu   = 0.25_wp * e1u(ji,jj) * e2u(ji,jj) * fse3u(ji,jj,jk) 
     161                     ze3wr = 1._wp / fse3w_n(ji+ip,jj,jk+kp) 
     162                     zbu   = 0.25_wp * e12u(ji,jj) * fse3u_n(ji,jj,jk) 
    163163                     zah   = fsahtu(ji,jj,jk)                                  !  fsaht(ji+ip,jj,jk) 
    164164                     zslope_skew = triadi_g(ji+ip,jj,jk,1-ip,kp) 
    165                      zslope2 = zslope_skew - ( fsdept(ji+1,jj,jk) - fsdept(ji ,jj ,jk) ) * ze1ur * umask(ji,jj,jk+kp) 
     165                     zslope2 = zslope_skew - ( fsdept_n(ji+1,jj,jk) - fsdept_n(ji ,jj ,jk) ) * ze1ur * umask(ji,jj,jk+kp) 
    166166                     zslope2 = zslope2 *zslope2 
    167167                     ah_wslp2(ji+ip,jj,jk+kp) = ah_wslp2(ji+ip,jj,jk+kp)    & 
    168                         &                     + zah * ( zbu * ze3wr / ( e1t(ji+ip,jj) * e2t(ji+ip,jj) ) ) * zslope2 
     168                        &                     + zah * ( zbu * ze3wr / ( e12t(ji+ip,jj) ) ) * zslope2 
    169169                     IF( ln_traldf_gdia ) THEN 
    170170                        zaei_slp = fsaeiw(ji+ip,jj,jk) * zslope_skew        !fsaeit(ji+ip,jj,jk)*zslope_skew 
     
    182182               DO jj = 1, jpjm1 
    183183                  DO ji=1,fs_jpim1 
    184                      ze3wr = 1.0_wp / fse3w(ji,jj+jp,jk+kp) 
    185                      zbv   = 0.25_wp * e1v(ji,jj) * e2v(ji,jj) * fse3v(ji,jj,jk) 
     184                     ze3wr = 1.0_wp / fse3w_n(ji,jj+jp,jk+kp) 
     185                     zbv   = 0.25_wp * e12v(ji,jj) * fse3v_n(ji,jj,jk) 
    186186                     zah   = fsahtu(ji,jj,jk)                                       !fsaht(ji,jj+jp,jk) 
    187187                     zslope_skew = triadj_g(ji,jj+jp,jk,1-jp,kp) 
    188                      zslope2 = zslope_skew - ( fsdept(ji,jj+1,jk) - fsdept(ji,jj,jk) ) * ze2vr * vmask(ji,jj,jk+kp) 
     188                     zslope2 = zslope_skew - ( fsdept_n(ji,jj+1,jk) - fsdept_n(ji,jj,jk) ) * ze2vr * vmask(ji,jj,jk+kp) 
    189189                     zslope2 = zslope2 * zslope2 
    190190                     ah_wslp2(ji,jj+jp,jk+kp) = ah_wslp2(ji,jj+jp,jk+kp)   & 
    191                         &                     + zah * ( zbv * ze3wr / ( e1t(ji,jj+jp) * e2t(ji,jj+jp) ) ) * zslope2 
     191                        &                     + zah * ( zbv * ze3wr / ( e12t(ji,jj+jp) ) ) * zslope2 
    192192                     IF( ln_traldf_gdia ) THEN 
    193193                        zaei_slp = fsaeiw(ji,jj+jp,jk) * zslope_skew     !fsaeit(ji,jj+jp,jk)*zslope_skew 
     
    255255                        ze1ur = 1._wp / e1u(ji,jj) 
    256256                        zdxt = zdit(ji,jj,jk) * ze1ur 
    257                         ze3wr = 1._wp / fse3w(ji+ip,jj,jk+kp) 
     257                        ze3wr = 1._wp / fse3w_n(ji+ip,jj,jk+kp) 
    258258                        zdzt  = zdkt(ji+ip,jj,kp) * ze3wr 
    259259                        zslope_skew = triadi_g(ji+ip,jj,jk,1-ip,kp) 
    260260                        zslope_iso  = triadi(ji+ip,jj,jk,1-ip,kp) 
    261261 
    262                         zbu = 0.25_wp * e1u(ji,jj) * e2u(ji,jj) * fse3u(ji,jj,jk) 
     262                        zbu = 0.25_wp * e12u(ji,jj) * fse3u_n(ji,jj,jk) 
    263263                        zah = fsahtu(ji,jj,jk)   !*umask(ji,jj,jk+kp)         !fsaht(ji+ip,jj,jk)           ===>>  ???? 
    264264                        zah_slp  = zah * zslope_iso 
     
    277277                        ze2vr = 1._wp / e2v(ji,jj) 
    278278                        zdyt = zdjt(ji,jj,jk) * ze2vr 
    279                         ze3wr = 1._wp / fse3w(ji,jj+jp,jk+kp) 
     279                        ze3wr = 1._wp / fse3w_n(ji,jj+jp,jk+kp) 
    280280                        zdzt = zdkt(ji,jj+jp,kp) * ze3wr 
    281281                        zslope_skew = triadj_g(ji,jj+jp,jk,1-jp,kp) 
    282282                        zslope_iso  = triadj(ji,jj+jp,jk,1-jp,kp) 
    283                         zbv = 0.25_wp * e1v(ji,jj) * e2v(ji,jj) * fse3v(ji,jj,jk) 
     283                        zbv = 0.25_wp * e12v(ji,jj) * fse3v_n(ji,jj,jk) 
    284284                        zah = fsahtv(ji,jj,jk)        !*vmask(ji,jj,jk+kp)         !fsaht(ji,jj+jp,jk) 
    285285                        zah_slp = zah * zslope_iso 
     
    295295            DO jj = 2 , jpjm1 
    296296               DO ji = fs_2, fs_jpim1   ! vector opt. 
    297                   zbtr = 1._wp / ( e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,jk) ) 
     297                  zbtr = 1._wp / ( e12t(ji,jj) * fse3t_n(ji,jj,jk) ) 
    298298                  pta(ji,jj,jk,jn) = pta(ji,jj,jk,jn) + zbtr * (   zftu(ji-1,jj,jk) - zftu(ji,jj,jk)   & 
    299299                     &                                           + zftv(ji,jj-1,jk) - zftv(ji,jj,jk)   ) 
     
    307307               DO ji = fs_2, fs_jpim1   ! vector opt. 
    308308                  pta(ji,jj,jk,jn) = pta(ji,jj,jk,jn) + (  ztfw(ji,jj,jk+1) - ztfw(ji,jj,jk)  )   & 
    309                      &                                / ( e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,jk) ) 
     309                     &                                / ( e12t(ji,jj) * fse3t_n(ji,jj,jk) ) 
    310310               END DO 
    311311            END DO 
  • branches/2011/dev_r2739_LOCEAN8_ZTC/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_lap.F90

    r2905 r2974  
    9090            DO jj = 1, jpjm1 
    9191               DO ji = 1, fs_jpim1   ! vector opt. 
    92                   zabe1 = fsahtu(ji,jj,jk) * umask(ji,jj,jk) * e1ur(ji,jj) * fse3u_n(ji,jj,jk) 
    93                   zabe2 = fsahtv(ji,jj,jk) * vmask(ji,jj,jk) * e2vr(ji,jj) * fse3v_n(ji,jj,jk) 
     92                  zabe1 = fsahtu(ji,jj,jk) * umask(ji,jj,jk) * e2_1u(ji,jj) * fse3u_n(ji,jj,jk) 
     93                  zabe2 = fsahtv(ji,jj,jk) * vmask(ji,jj,jk) * e1_2v(ji,jj) * fse3v_n(ji,jj,jk) 
    9494                  ztu(ji,jj,jk) = zabe1 * ( ptb(ji+1,jj  ,jk,jn) - ptb(ji,jj,jk,jn) ) 
    9595                  ztv(ji,jj,jk) = zabe2 * ( ptb(ji  ,jj+1,jk,jn) - ptb(ji,jj,jk,jn) ) 
     
    103103                     ikv = mbkv(ji,jj) 
    104104                     IF( iku == jk ) THEN 
    105                         zabe1 = fsahtu(ji,jj,iku) * umask(ji,jj,iku) * e1ur(ji,jj) * fse3u_n(ji,jj,iku) 
     105                        zabe1 = fsahtu(ji,jj,iku) * umask(ji,jj,iku) * e2_1u(ji,jj) * fse3u_n(ji,jj,iku) 
    106106                        ztu(ji,jj,jk) = zabe1 * pgu(ji,jj,jn) 
    107107                     ENDIF 
    108108                     IF( ikv == jk ) THEN 
    109                         zabe2 = fsahtv(ji,jj,ikv) * vmask(ji,jj,ikv) * e2vr(ji,jj) * fse3v_n(ji,jj,ikv) 
     109                        zabe2 = fsahtv(ji,jj,ikv) * vmask(ji,jj,ikv) * e1_2v(ji,jj) * fse3v_n(ji,jj,ikv) 
    110110                        ztv(ji,jj,jk) = zabe2 * pgv(ji,jj,jn) 
    111111                     ENDIF 
     
    119119            DO jj = 2, jpjm1 
    120120               DO ji = fs_2, fs_jpim1   ! vector opt. 
    121                   zbtr = 1._wp / ( e1t(ji,jj) *e2t(ji,jj) * fse3t_n(ji,jj,jk) ) 
     121                  zbtr = 1._wp / ( e12t(ji,jj) * fse3t_n(ji,jj,jk) ) 
    122122                  ! horizontal diffusive trends added to the general tracer trends 
    123123                  pta(ji,jj,jk,jn) = pta(ji,jj,jk,jn) + zbtr * (  ztu(ji,jj,jk) - ztu(ji-1,jj,jk)   & 
Note: See TracChangeset for help on using the changeset viewer.