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 13540 for NEMO/branches/2020/r12377_ticket2386/src/OCE/DYN/dynvor.F90 – NEMO

Ignore:
Timestamp:
2020-09-29T12:41:06+02:00 (4 years ago)
Author:
andmirek
Message:

Ticket #2386: update to latest trunk

Location:
NEMO/branches/2020/r12377_ticket2386
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/r12377_ticket2386

    • Property svn:externals
      •  

        old new  
        33^/utils/build/mk@HEAD         mk 
        44^/utils/tools@HEAD            tools 
        5 ^/vendors/AGRIF/dev@HEAD      ext/AGRIF 
         5^/vendors/AGRIF/dev_r12970_AGRIF_CMEMS      ext/AGRIF 
        66^/vendors/FCM@HEAD            ext/FCM 
        77^/vendors/IOIPSL@HEAD         ext/IOIPSL 
        88 
        99# SETTE 
        10 ^/utils/CI/sette@HEAD         sette 
         10^/utils/CI/sette@13507        sette 
  • NEMO/branches/2020/r12377_ticket2386/src/OCE/DYN/dynvor.F90

    r12377 r13540  
    8080   REAL(wp), ALLOCATABLE, DIMENSION(:,:) ::   di_e2u_2        ! = di(e2u)/2          used in T-point metric term calculation 
    8181   REAL(wp), ALLOCATABLE, DIMENSION(:,:) ::   dj_e1v_2        ! = dj(e1v)/2           -        -      -       -  
    82    REAL(wp), ALLOCATABLE, DIMENSION(:,:) ::   di_e2v_2e1e2f   ! = di(e2u)/(2*e1e2f)  used in F-point metric term calculation 
    83    REAL(wp), ALLOCATABLE, DIMENSION(:,:) ::   dj_e1u_2e1e2f   ! = dj(e1v)/(2*e1e2f)   -        -      -       -  
     82   REAL(wp), ALLOCATABLE, DIMENSION(:,:) ::   di_e2v_2e1e2f   ! = di(e2v)/(2*e1e2f)  used in F-point metric term calculation 
     83   REAL(wp), ALLOCATABLE, DIMENSION(:,:) ::   dj_e1u_2e1e2f   ! = dj(e1u)/(2*e1e2f)   -        -      -       -  
    8484    
    8585   REAL(wp) ::   r1_4  = 0.250_wp         ! =1/4 
     
    8989   !! * Substitutions 
    9090#  include "do_loop_substitute.h90" 
     91#  include "domzgr_substitute.h90" 
     92 
    9193   !!---------------------------------------------------------------------- 
    9294   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
     
    229231      CASE ( np_RVO )                           !* relative vorticity 
    230232         DO jk = 1, jpkm1                                 ! Horizontal slab 
    231             DO_2D_10_10 
     233            DO_2D( 1, 0, 1, 0 ) 
    232234               zwz(ji,jj,jk) = (  e2v(ji+1,jj) * pv(ji+1,jj,jk) - e2v(ji,jj) * pv(ji,jj,jk)  & 
    233235                  &             - e1u(ji,jj+1) * pu(ji,jj+1,jk) + e1u(ji,jj) * pu(ji,jj,jk)  ) * r1_e1e2f(ji,jj) 
    234236            END_2D 
    235237            IF( ln_dynvor_msk ) THEN                     ! mask/unmask relative vorticity  
    236                DO_2D_10_10 
     238               DO_2D( 1, 0, 1, 0 ) 
    237239                  zwz(ji,jj,jk) = zwz(ji,jj,jk) * fmask(ji,jj,jk) 
    238240               END_2D 
     
    240242         END DO 
    241243 
    242          CALL lbc_lnk( 'dynvor', zwz, 'F', 1. ) 
     244         CALL lbc_lnk( 'dynvor', zwz, 'F', 1.0_wp ) 
    243245 
    244246      CASE ( np_CRV )                           !* Coriolis + relative vorticity 
    245247         DO jk = 1, jpkm1                                 ! Horizontal slab 
    246             DO_2D_10_10 
     248            DO_2D( 1, 0, 1, 0 )                          ! relative vorticity 
    247249               zwz(ji,jj,jk) = (   e2v(ji+1,jj) * pv(ji+1,jj,jk) - e2v(ji,jj) * pv(ji,jj,jk)   & 
    248250                  &              - e1u(ji,jj+1) * pu(ji,jj+1,jk) + e1u(ji,jj) * pu(ji,jj,jk)   ) * r1_e1e2f(ji,jj) 
    249251            END_2D 
    250252            IF( ln_dynvor_msk ) THEN                     ! mask/unmask relative vorticity  
    251                DO_2D_10_10 
     253               DO_2D( 1, 0, 1, 0 ) 
    252254                  zwz(ji,jj,jk) = zwz(ji,jj,jk) * fmask(ji,jj,jk) 
    253255               END_2D 
     
    255257         END DO 
    256258 
    257          CALL lbc_lnk( 'dynvor', zwz, 'F', 1. ) 
     259         CALL lbc_lnk( 'dynvor', zwz, 'F', 1.0_wp ) 
    258260 
    259261      END SELECT 
     
    267269            zwt(:,:) = ff_t(:,:) * e1e2t(:,:)*e3t(:,:,jk,Kmm) 
    268270         CASE ( np_RVO )                           !* relative vorticity 
    269             DO_2D_01_01 
     271            DO_2D( 0, 1, 0, 1 ) 
    270272               zwt(ji,jj) = r1_4 * (   zwz(ji-1,jj  ,jk) + zwz(ji,jj  ,jk)   & 
    271                   &                  + zwz(ji-1,jj-1,jk) + zwz(ji,jj-1,jk) ) * e1e2t(ji,jj)*e3t(ji,jj,jk,Kmm) 
     273                  &                  + zwz(ji-1,jj-1,jk) + zwz(ji,jj-1,jk) ) & 
     274                  &                  * e1e2t(ji,jj)*e3t(ji,jj,jk,Kmm) 
    272275            END_2D 
    273276         CASE ( np_MET )                           !* metric term 
    274             DO_2D_01_01 
     277            DO_2D( 0, 1, 0, 1 ) 
    275278               zwt(ji,jj) = (   ( pv(ji,jj,jk) + pv(ji,jj-1,jk) ) * di_e2u_2(ji,jj)   & 
    276                   &           - ( pu(ji,jj,jk) + pu(ji-1,jj,jk) ) * dj_e1v_2(ji,jj)   ) * e3t(ji,jj,jk,Kmm) 
     279                  &           - ( pu(ji,jj,jk) + pu(ji-1,jj,jk) ) * dj_e1v_2(ji,jj)   ) & 
     280                  &             * e3t(ji,jj,jk,Kmm) 
    277281            END_2D 
    278282         CASE ( np_CRV )                           !* Coriolis + relative vorticity 
    279             DO_2D_01_01 
     283            DO_2D( 0, 1, 0, 1 ) 
    280284               zwt(ji,jj) = (  ff_t(ji,jj) + r1_4 * ( zwz(ji-1,jj  ,jk) + zwz(ji,jj  ,jk)    & 
    281                   &                                 + zwz(ji-1,jj-1,jk) + zwz(ji,jj-1,jk) )  ) * e1e2t(ji,jj)*e3t(ji,jj,jk,Kmm) 
     285                  &                                 + zwz(ji-1,jj-1,jk) + zwz(ji,jj-1,jk) )  ) & 
     286                  &                                 * e1e2t(ji,jj)*e3t(ji,jj,jk,Kmm) 
    282287            END_2D 
    283288         CASE ( np_CME )                           !* Coriolis + metric 
    284             DO_2D_01_01 
     289            DO_2D( 0, 1, 0, 1 ) 
    285290               zwt(ji,jj) = (  ff_t(ji,jj) * e1e2t(ji,jj)                           & 
    286291                    &        + ( pv(ji,jj,jk) + pv(ji,jj-1,jk) ) * di_e2u_2(ji,jj)  & 
    287                     &        - ( pu(ji,jj,jk) + pu(ji-1,jj,jk) ) * dj_e1v_2(ji,jj)  ) * e3t(ji,jj,jk,Kmm) 
     292                    &        - ( pu(ji,jj,jk) + pu(ji-1,jj,jk) ) * dj_e1v_2(ji,jj)  ) & 
     293                    &          * e3t(ji,jj,jk,Kmm) 
    288294            END_2D 
    289295         CASE DEFAULT                                             ! error 
     
    292298         ! 
    293299         !                                   !==  compute and add the vorticity term trend  =! 
    294          DO_2D_00_00 
     300         DO_2D( 0, 0, 0, 0 ) 
    295301            pu_rhs(ji,jj,jk) = pu_rhs(ji,jj,jk) + r1_4 * r1_e1e2u(ji,jj) / e3u(ji,jj,jk,Kmm)                    & 
    296302               &                                * (  zwt(ji+1,jj) * ( pv(ji+1,jj,jk) + pv(ji+1,jj-1,jk) )   & 
     
    352358            zwz(:,:) = ff_f(:,:)  
    353359         CASE ( np_RVO )                           !* relative vorticity 
    354             DO_2D_10_10 
     360            DO_2D( 1, 0, 1, 0 ) 
    355361               zwz(ji,jj) = (  e2v(ji+1,jj  ) * pv(ji+1,jj  ,jk) - e2v(ji,jj) * pv(ji,jj,jk)    & 
    356362                  &          - e1u(ji  ,jj+1) * pu(ji  ,jj+1,jk) + e1u(ji,jj) * pu(ji,jj,jk)  ) * r1_e1e2f(ji,jj) 
    357363            END_2D 
    358364         CASE ( np_MET )                           !* metric term 
    359             DO_2D_10_10 
     365            DO_2D( 1, 0, 1, 0 ) 
    360366               zwz(ji,jj) = ( pv(ji+1,jj  ,jk) + pv(ji,jj,jk) ) * di_e2v_2e1e2f(ji,jj)   & 
    361367                  &       - ( pu(ji  ,jj+1,jk) + pu(ji,jj,jk) ) * dj_e1u_2e1e2f(ji,jj) 
    362368            END_2D 
    363369         CASE ( np_CRV )                           !* Coriolis + relative vorticity 
    364             DO_2D_10_10 
     370            DO_2D( 1, 0, 1, 0 ) 
    365371               zwz(ji,jj) = ff_f(ji,jj) + (  e2v(ji+1,jj) * pv(ji+1,jj,jk) - e2v(ji,jj) * pv(ji,jj,jk)      & 
    366372                  &                        - e1u(ji,jj+1) * pu(ji,jj+1,jk) + e1u(ji,jj) * pu(ji,jj,jk)  ) * r1_e1e2f(ji,jj) 
    367373            END_2D 
    368374         CASE ( np_CME )                           !* Coriolis + metric 
    369             DO_2D_10_10 
     375            DO_2D( 1, 0, 1, 0 ) 
    370376               zwz(ji,jj) = ff_f(ji,jj) + ( pv(ji+1,jj  ,jk) + pv(ji,jj,jk) ) * di_e2v_2e1e2f(ji,jj)   & 
    371377                  &                     - ( pu(ji  ,jj+1,jk) + pu(ji,jj,jk) ) * dj_e1u_2e1e2f(ji,jj) 
     
    376382         ! 
    377383         IF( ln_dynvor_msk ) THEN          !==  mask/unmask vorticity ==! 
    378             DO_2D_10_10 
     384            DO_2D( 1, 0, 1, 0 ) 
    379385               zwz(ji,jj) = zwz(ji,jj) * fmask(ji,jj,jk) 
    380386            END_2D 
     
    390396         ENDIF 
    391397         !                                   !==  compute and add the vorticity term trend  =! 
    392          DO_2D_00_00 
     398         DO_2D( 0, 0, 0, 0 ) 
    393399            zy1 = zwy(ji,jj-1) + zwy(ji+1,jj-1) 
    394400            zy2 = zwy(ji,jj  ) + zwy(ji+1,jj  ) 
     
    448454            zwz(:,:) = ff_f(:,:)  
    449455         CASE ( np_RVO )                           !* relative vorticity 
    450             DO_2D_10_10 
     456            DO_2D( 1, 0, 1, 0 ) 
    451457               zwz(ji,jj) = (  e2v(ji+1,jj  ) * pv(ji+1,jj  ,jk) - e2v(ji,jj) * pv(ji,jj,jk)    & 
    452458                  &          - e1u(ji  ,jj+1) * pu(ji  ,jj+1,jk) + e1u(ji,jj) * pu(ji,jj,jk)  ) * r1_e1e2f(ji,jj) 
    453459            END_2D 
    454460         CASE ( np_MET )                           !* metric term 
    455             DO_2D_10_10 
     461            DO_2D( 1, 0, 1, 0 ) 
    456462               zwz(ji,jj) = ( pv(ji+1,jj  ,jk) + pv(ji,jj,jk) ) * di_e2v_2e1e2f(ji,jj)   & 
    457463                  &       - ( pu(ji  ,jj+1,jk) + pu(ji,jj,jk) ) * dj_e1u_2e1e2f(ji,jj) 
    458464            END_2D 
    459465         CASE ( np_CRV )                           !* Coriolis + relative vorticity 
    460             DO_2D_10_10 
     466            DO_2D( 1, 0, 1, 0 ) 
    461467               zwz(ji,jj) = ff_f(ji,jj) + (  e2v(ji+1,jj  ) * pv(ji+1,jj  ,jk) - e2v(ji,jj) * pv(ji,jj,jk)  & 
    462468                  &                        - e1u(ji  ,jj+1) * pu(ji  ,jj+1,jk) + e1u(ji,jj) * pu(ji,jj,jk)  ) * r1_e1e2f(ji,jj) 
    463469            END_2D 
    464470         CASE ( np_CME )                           !* Coriolis + metric 
    465             DO_2D_10_10 
     471            DO_2D( 1, 0, 1, 0 ) 
    466472               zwz(ji,jj) = ff_f(ji,jj) + ( pv(ji+1,jj  ,jk) + pv(ji,jj,jk) ) * di_e2v_2e1e2f(ji,jj)   & 
    467473                  &                     - ( pu(ji  ,jj+1,jk) + pu(ji,jj,jk) ) * dj_e1u_2e1e2f(ji,jj) 
     
    472478         ! 
    473479         IF( ln_dynvor_msk ) THEN           !==  mask/unmask vorticity ==! 
    474             DO_2D_10_10 
     480            DO_2D( 1, 0, 1, 0 ) 
    475481               zwz(ji,jj) = zwz(ji,jj) * fmask(ji,jj,jk) 
    476482            END_2D 
     
    486492         ENDIF 
    487493         !                                   !==  compute and add the vorticity term trend  =! 
    488          DO_2D_00_00 
     494         DO_2D( 0, 0, 0, 0 ) 
    489495            zuav = r1_8 * r1_e1u(ji,jj) * (  zwy(ji  ,jj-1) + zwy(ji+1,jj-1)  & 
    490496               &                           + zwy(ji  ,jj  ) + zwy(ji+1,jj  )  ) 
     
    544550         SELECT CASE( nn_een_e3f )           ! == reciprocal of e3 at F-point 
    545551         CASE ( 0 )                                   ! original formulation  (masked averaging of e3t divided by 4) 
    546             DO_2D_10_10 
    547                ze3f = (  e3t(ji,jj+1,jk,Kmm)*tmask(ji,jj+1,jk) + e3t(ji+1,jj+1,jk,Kmm)*tmask(ji+1,jj+1,jk)   & 
    548                   &    + e3t(ji,jj  ,jk,Kmm)*tmask(ji,jj  ,jk) + e3t(ji+1,jj  ,jk,Kmm)*tmask(ji+1,jj  ,jk)  ) 
     552            DO_2D( 1, 0, 1, 0 ) 
     553               ze3f = (  e3t(ji  ,jj+1,jk,Kmm)*tmask(ji  ,jj+1,jk)   & 
     554                  &    + e3t(ji+1,jj+1,jk,Kmm)*tmask(ji+1,jj+1,jk)   & 
     555                  &    + e3t(ji  ,jj  ,jk,Kmm)*tmask(ji  ,jj  ,jk)   & 
     556                  &    + e3t(ji+1,jj  ,jk,Kmm)*tmask(ji+1,jj  ,jk)  ) 
    549557               IF( ze3f /= 0._wp ) THEN   ;   z1_e3f(ji,jj) = 4._wp / ze3f 
    550558               ELSE                       ;   z1_e3f(ji,jj) = 0._wp 
     
    552560            END_2D 
    553561         CASE ( 1 )                                   ! new formulation  (masked averaging of e3t divided by the sum of mask) 
    554             DO_2D_10_10 
    555                ze3f = (  e3t(ji,jj+1,jk,Kmm)*tmask(ji,jj+1,jk) + e3t(ji+1,jj+1,jk,Kmm)*tmask(ji+1,jj+1,jk)   & 
    556                   &    + e3t(ji,jj  ,jk,Kmm)*tmask(ji,jj  ,jk) + e3t(ji+1,jj  ,jk,Kmm)*tmask(ji+1,jj  ,jk)  ) 
     562            DO_2D( 1, 0, 1, 0 ) 
     563               ze3f = (  e3t(ji  ,jj+1,jk,Kmm)*tmask(ji  ,jj+1,jk)   & 
     564                  &    + e3t(ji+1,jj+1,jk,Kmm)*tmask(ji+1,jj+1,jk)   & 
     565                  &    + e3t(ji  ,jj  ,jk,Kmm)*tmask(ji  ,jj  ,jk)   & 
     566                  &    + e3t(ji+1,jj  ,jk,Kmm)*tmask(ji+1,jj  ,jk)  ) 
    557567               zmsk = (                    tmask(ji,jj+1,jk) +                     tmask(ji+1,jj+1,jk)   & 
    558568                  &                      + tmask(ji,jj  ,jk) +                     tmask(ji+1,jj  ,jk)  ) 
     
    565575         SELECT CASE( kvor )                 !==  vorticity considered  ==! 
    566576         CASE ( np_COR )                           !* Coriolis (planetary vorticity) 
    567             DO_2D_10_10 
     577            DO_2D( 1, 0, 1, 0 ) 
    568578               zwz(ji,jj,jk) = ff_f(ji,jj) * z1_e3f(ji,jj) 
    569579            END_2D 
    570580         CASE ( np_RVO )                           !* relative vorticity 
    571             DO_2D_10_10 
     581            DO_2D( 1, 0, 1, 0 ) 
    572582               zwz(ji,jj,jk) = ( e2v(ji+1,jj  ) * pv(ji+1,jj,jk) - e2v(ji,jj) * pv(ji,jj,jk)  & 
    573583                  &            - e1u(ji  ,jj+1) * pu(ji,jj+1,jk) + e1u(ji,jj) * pu(ji,jj,jk)  ) * r1_e1e2f(ji,jj)*z1_e3f(ji,jj) 
    574584            END_2D 
    575585         CASE ( np_MET )                           !* metric term 
    576             DO_2D_10_10 
     586            DO_2D( 1, 0, 1, 0 ) 
    577587               zwz(ji,jj,jk) = (   ( pv(ji+1,jj,jk) + pv(ji,jj,jk) ) * di_e2v_2e1e2f(ji,jj)   & 
    578588                  &              - ( pu(ji,jj+1,jk) + pu(ji,jj,jk) ) * dj_e1u_2e1e2f(ji,jj)   ) * z1_e3f(ji,jj) 
    579589            END_2D 
    580590         CASE ( np_CRV )                           !* Coriolis + relative vorticity 
    581             DO_2D_10_10 
     591            DO_2D( 1, 0, 1, 0 ) 
    582592               zwz(ji,jj,jk) = (  ff_f(ji,jj) + (  e2v(ji+1,jj  ) * pv(ji+1,jj,jk) - e2v(ji,jj) * pv(ji,jj,jk)      & 
    583593                  &                              - e1u(ji  ,jj+1) * pu(ji,jj+1,jk) + e1u(ji,jj) * pu(ji,jj,jk)  )   & 
     
    585595            END_2D 
    586596         CASE ( np_CME )                           !* Coriolis + metric 
    587             DO_2D_10_10 
     597            DO_2D( 1, 0, 1, 0 ) 
    588598               zwz(ji,jj,jk) = (   ff_f(ji,jj) + ( pv(ji+1,jj  ,jk) + pv(ji,jj,jk) ) * di_e2v_2e1e2f(ji,jj)   & 
    589599                  &                            - ( pu(ji  ,jj+1,jk) + pu(ji,jj,jk) ) * dj_e1u_2e1e2f(ji,jj)   ) * z1_e3f(ji,jj) 
     
    594604         ! 
    595605         IF( ln_dynvor_msk ) THEN          !==  mask/unmask vorticity ==! 
    596             DO_2D_10_10 
     606            DO_2D( 1, 0, 1, 0 ) 
    597607               zwz(ji,jj,jk) = zwz(ji,jj,jk) * fmask(ji,jj,jk) 
    598608            END_2D 
     
    600610      END DO                                           !   End of slab 
    601611         ! 
    602       CALL lbc_lnk( 'dynvor', zwz, 'F', 1. ) 
     612      CALL lbc_lnk( 'dynvor', zwz, 'F', 1.0_wp ) 
    603613 
    604614      DO jk = 1, jpkm1                                 ! Horizontal slab 
     
    625635            END DO 
    626636         END DO 
    627          DO_2D_00_00 
     637         DO_2D( 0, 0, 0, 0 ) 
    628638            zua = + r1_12 * r1_e1u(ji,jj) * (  ztne(ji,jj  ) * zwy(ji  ,jj  ) + ztnw(ji+1,jj) * zwy(ji+1,jj  )   & 
    629639               &                             + ztse(ji,jj  ) * zwy(ji  ,jj-1) + ztsw(ji+1,jj) * zwy(ji+1,jj-1) ) 
     
    685695         SELECT CASE( kvor )                 !==  vorticity considered  ==! 
    686696         CASE ( np_COR )                           !* Coriolis (planetary vorticity) 
    687             DO_2D_10_10 
     697            DO_2D( 1, 0, 1, 0 ) 
    688698               zwz(ji,jj,jk) = ff_f(ji,jj) 
    689699            END_2D 
    690700         CASE ( np_RVO )                           !* relative vorticity 
    691             DO_2D_10_10 
     701            DO_2D( 1, 0, 1, 0 ) 
    692702               zwz(ji,jj,jk) = (  e2v(ji+1,jj  ) * pv(ji+1,jj  ,jk) - e2v(ji,jj) * pv(ji,jj,jk)    & 
    693703                  &             - e1u(ji  ,jj+1) * pu(ji  ,jj+1,jk) + e1u(ji,jj) * pu(ji,jj,jk)  ) & 
     
    695705            END_2D 
    696706         CASE ( np_MET )                           !* metric term 
    697             DO_2D_10_10 
     707            DO_2D( 1, 0, 1, 0 ) 
    698708               zwz(ji,jj,jk) = ( pv(ji+1,jj  ,jk) + pv(ji,jj,jk) ) * di_e2v_2e1e2f(ji,jj)   & 
    699709                  &          - ( pu(ji  ,jj+1,jk) + pu(ji,jj,jk) ) * dj_e1u_2e1e2f(ji,jj) 
    700710            END_2D 
    701711         CASE ( np_CRV )                           !* Coriolis + relative vorticity 
    702             DO_2D_10_10 
     712            DO_2D( 1, 0, 1, 0 ) 
    703713               zwz(ji,jj,jk) = (  ff_f(ji,jj) + (  e2v(ji+1,jj  ) * pv(ji+1,jj  ,jk) - e2v(ji,jj) * pv(ji,jj,jk)    & 
    704714                  &                              - e1u(ji  ,jj+1) * pu(ji  ,jj+1,jk) + e1u(ji,jj) * pu(ji,jj,jk)  ) & 
     
    706716            END_2D 
    707717         CASE ( np_CME )                           !* Coriolis + metric 
    708             DO_2D_10_10 
     718            DO_2D( 1, 0, 1, 0 ) 
    709719               zwz(ji,jj,jk) = ff_f(ji,jj) + ( pv(ji+1,jj  ,jk) + pv(ji,jj,jk) ) * di_e2v_2e1e2f(ji,jj)   & 
    710720                  &                        - ( pu(ji  ,jj+1,jk) + pu(ji,jj,jk) ) * dj_e1u_2e1e2f(ji,jj) 
     
    715725         ! 
    716726         IF( ln_dynvor_msk ) THEN          !==  mask/unmask vorticity ==! 
    717             DO_2D_10_10 
     727            DO_2D( 1, 0, 1, 0 ) 
    718728               zwz(ji,jj,jk) = zwz(ji,jj,jk) * fmask(ji,jj,jk) 
    719729            END_2D 
     
    721731      END DO 
    722732      ! 
    723       CALL lbc_lnk( 'dynvor', zwz, 'F', 1. ) 
     733      CALL lbc_lnk( 'dynvor', zwz, 'F', 1.0_wp ) 
    724734      ! 
    725735      DO jk = 1, jpkm1                                 ! Horizontal slab 
     
    748758            END DO 
    749759         END DO 
    750          DO_2D_00_00 
     760         DO_2D( 0, 0, 0, 0 ) 
    751761            zua = + r1_12 * r1_e1u(ji,jj) * (  ztne(ji,jj  ) * zwy(ji  ,jj  ) + ztnw(ji+1,jj) * zwy(ji+1,jj  )   & 
    752762               &                             + ztse(ji,jj  ) * zwy(ji  ,jj-1) + ztsw(ji+1,jj) * zwy(ji+1,jj-1) ) 
     
    808818      IF(lwp) WRITE(numout,*) '      change fmask value in the angles (T)           ln_vorlat = ', ln_vorlat 
    809819      IF( ln_vorlat .AND. ( ln_dynvor_ene .OR. ln_dynvor_ens .OR. ln_dynvor_mix ) ) THEN 
    810          DO_3D_10_10( 1, jpk ) 
     820         DO_3D( 1, 0, 1, 0, 1, jpk ) 
    811821            IF(    tmask(ji,jj+1,jk) + tmask(ji+1,jj+1,jk)              & 
    812                & + tmask(ji,jj  ,jk) + tmask(ji+1,jj+1,jk) == 3._wp )   fmask(ji,jj,jk) = 1._wp 
     822               & + tmask(ji,jj  ,jk) + tmask(ji+1,jj  ,jk) == 3._wp )   fmask(ji,jj,jk) = 1._wp 
    813823         END_3D 
    814824         ! 
     
    847857         CASE( np_ENT )                      !* T-point metric term :   pre-compute di(e2u)/2 and dj(e1v)/2 
    848858            ALLOCATE( di_e2u_2(jpi,jpj), dj_e1v_2(jpi,jpj) ) 
    849             DO_2D_00_00 
     859            DO_2D( 0, 0, 0, 0 ) 
    850860               di_e2u_2(ji,jj) = ( e2u(ji,jj) - e2u(ji-1,jj  ) ) * 0.5_wp 
    851861               dj_e1v_2(ji,jj) = ( e1v(ji,jj) - e1v(ji  ,jj-1) ) * 0.5_wp 
    852862            END_2D 
    853             CALL lbc_lnk_multi( 'dynvor', di_e2u_2, 'T', -1. , dj_e1v_2, 'T', -1. )   ! Lateral boundary conditions 
     863            CALL lbc_lnk_multi( 'dynvor', di_e2u_2, 'T', -1.0_wp , dj_e1v_2, 'T', -1.0_wp )   ! Lateral boundary conditions 
    854864            ! 
    855865         CASE DEFAULT                        !* F-point metric term :   pre-compute di(e2u)/(2*e1e2f) and dj(e1v)/(2*e1e2f) 
    856866            ALLOCATE( di_e2v_2e1e2f(jpi,jpj), dj_e1u_2e1e2f(jpi,jpj) ) 
    857             DO_2D_10_10 
     867            DO_2D( 1, 0, 1, 0 ) 
    858868               di_e2v_2e1e2f(ji,jj) = ( e2v(ji+1,jj  ) - e2v(ji,jj) )  * 0.5 * r1_e1e2f(ji,jj) 
    859869               dj_e1u_2e1e2f(ji,jj) = ( e1u(ji  ,jj+1) - e1u(ji,jj) )  * 0.5 * r1_e1e2f(ji,jj) 
    860870            END_2D 
    861             CALL lbc_lnk_multi( 'dynvor', di_e2v_2e1e2f, 'F', -1. , dj_e1u_2e1e2f, 'F', -1. )   ! Lateral boundary conditions 
     871            CALL lbc_lnk_multi( 'dynvor', di_e2v_2e1e2f, 'F', -1.0_wp , dj_e1u_2e1e2f, 'F', -1.0_wp )   ! Lateral boundary conditions 
    862872         END SELECT 
    863873         ! 
Note: See TracChangeset for help on using the changeset viewer.