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

Changeset 12353


Ignore:
Timestamp:
2020-01-29T17:15:37+01:00 (5 years ago)
Author:
acc
Message:

Branch 2019/dev_r11943_MERGE_2019. Additions to the do loop macro implementation: converted a few loops previously missed because they used jpi-1 instead of jpim1 etc.; changed internal macro names in do_loop_substitute.h90 to strings that are much more unlikely to appear in any future code elsewhere and removed the key_vectopt_loop option (and all related code) since the do loop macros have suppressed this option. These changes have been fully SETTE-tested and this branch should now be ready to go back to the trunk.

Location:
NEMO/branches/2019/dev_r11943_MERGE_2019
Files:
1 deleted
147 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r11943_MERGE_2019/cfgs/C1D_PAPA/MY_SRC/usrdef_zgr.F90

    r10072 r12353  
    3030   PUBLIC   usr_def_zgr        ! called by domzgr.F90 
    3131 
    32    !! * Substitutions 
    33 #  include "vectopt_loop_substitute.h90" 
    3432   !!---------------------------------------------------------------------- 
    3533   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/ABL/ablmod.F90

    r12340 r12353  
    3232   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) ::   ustar2 
    3333   !! * Substitutions 
    34 #  include "vectopt_loop_substitute.h90" 
    3534#  include "do_loop_substitute.h90" 
    3635 
     
    10021001      smth_b = 1._wp / 4._wp 
    10031002      ! 
    1004       DO jj=1,jpj 
    1005          DO ji=1,jpi-1 
    1006             zumsk = msk(ji,jj) * msk(ji+1,jj) 
    1007             zdX ( ji, jj ) = ( pvar2d( ji+1,jj ) - pvar2d( ji  ,jj ) ) * zumsk 
    1008          END DO 
    1009       END DO      
     1003      DO_2D_11_10 
     1004         zumsk = msk(ji,jj) * msk(ji+1,jj) 
     1005         zdX ( ji, jj ) = ( pvar2d( ji+1,jj ) - pvar2d( ji  ,jj ) ) * zumsk 
     1006      END_2D 
    10101007       
    1011      DO jj=1,jpj-1 
    1012          DO ji=1,jpi 
    1013             zvmsk = msk(ji,jj) * msk(ji,jj+1) 
    1014             zdY ( ji, jj ) = ( pvar2d( ji, jj+1 ) - pvar2d( ji  ,jj ) ) * zvmsk 
    1015          END DO 
    1016       END DO 
     1008     DO_2D_10_11 
     1009         zvmsk = msk(ji,jj) * msk(ji,jj+1) 
     1010         zdY ( ji, jj ) = ( pvar2d( ji, jj+1 ) - pvar2d( ji  ,jj ) ) * zvmsk 
     1011     END_2D 
    10171012       
    1018      DO jj=1,jpj-1 
    1019          DO ji=2,jpi-1 
    1020             zFY ( ji, jj  ) =   zdY ( ji, jj   )                        & 
    1021                & +  smth_a*  ( (zdX ( ji, jj+1 ) - zdX( ji-1, jj+1 ))   & 
    1022                &            -  (zdX ( ji, jj   ) - zdX( ji-1, jj   ))  ) 
    1023          END DO 
    1024       END DO 
    1025  
    1026       DO jj=2,jpj-1 
    1027          DO ji=1,jpi-1 
    1028             zFX( ji, jj  ) =    zdX( ji, jj   )                         & 
    1029               &    + smth_a*(  (zdY( ji+1, jj ) - zdY( ji+1, jj-1))     & 
    1030               &             -  (zdY( ji  , jj ) - zdY( ji  , jj-1)) ) 
    1031          END DO 
    1032       END DO      
    1033  
    1034       DO jj = 2, jpj-1 
    1035          DO ji = 2,jpi-1 
    1036             pvar2d( ji  ,jj ) = pvar2d( ji  ,jj )              & 
    1037      &         + msk(ji,jj) * smth_b * (                       & 
    1038      &                  zFX( ji, jj ) - zFX( ji-1, jj )        & 
    1039      &                 +zFY( ji, jj ) - zFY( ji, jj-1 )  ) 
    1040          END DO 
    1041       END DO   
     1013     DO_2D_10_00 
     1014         zFY ( ji, jj  ) =   zdY ( ji, jj   )                        & 
     1015            & +  smth_a*  ( (zdX ( ji, jj+1 ) - zdX( ji-1, jj+1 ))   & 
     1016            &            -  (zdX ( ji, jj   ) - zdX( ji-1, jj   ))  ) 
     1017     END_2D 
     1018 
     1019      DO_2D_00_10 
     1020         zFX( ji, jj  ) =    zdX( ji, jj   )                         & 
     1021           &    + smth_a*(  (zdY( ji+1, jj ) - zdY( ji+1, jj-1))     & 
     1022           &             -  (zdY( ji  , jj ) - zdY( ji  , jj-1)) ) 
     1023      END_2D 
     1024 
     1025      DO_2D_00_00 
     1026         pvar2d( ji  ,jj ) = pvar2d( ji  ,jj )              & 
     1027  &         + msk(ji,jj) * smth_b * (                       & 
     1028  &                  zFX( ji, jj ) - zFX( ji-1, jj )        & 
     1029  &                 +zFY( ji, jj ) - zFY( ji, jj-1 )  ) 
     1030      END_2D 
    10421031     !! 
    10431032!--------------------------------------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/ABL/sbcabl.F90

    r12199 r12353  
    4545   PUBLIC   sbc_abl            ! routine called in sbcmod module 
    4646 
    47    !! * Substitutions 
    48 #  include "vectopt_loop_substitute.h90" 
    4947   !!---------------------------------------------------------------------- 
    5048   !! NEMO/OPA 3.7 , NEMO-consortium (2014) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/ICE/icecor.F90

    r12340 r12353  
    3535 
    3636   !! * Substitutions 
    37 #  include "vectopt_loop_substitute.h90" 
    3837#  include "do_loop_substitute.h90" 
    3938   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/ICE/icectl.F90

    r12340 r12353  
    5151    
    5252   !! * Substitutions 
    53 #  include "vectopt_loop_substitute.h90" 
    5453#  include "do_loop_substitute.h90" 
    5554   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/ICE/icedia.F90

    r11960 r12353  
    3838   REAL(wp)                              ::   frc_sal, frc_voltop, frc_volbot, frc_temtop, frc_tembot  ! global forcing trends 
    3939    
    40    !! * Substitutions 
    41 #  include "vectopt_loop_substitute.h90" 
    4240   !!---------------------------------------------------------------------- 
    4341   !! NEMO/ICE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/ICE/icedyn.F90

    r12340 r12353  
    5252    
    5353   !! * Substitutions 
    54 #  include "vectopt_loop_substitute.h90" 
    5554#  include "do_loop_substitute.h90" 
    5655   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/ICE/icedyn_adv.F90

    r12252 r12353  
    4242   INTEGER         ::   nn_UMx       ! order of the UMx advection scheme    
    4343   ! 
    44    !! * Substitution 
    45 #  include "vectopt_loop_substitute.h90" 
    4644   !!---------------------------------------------------------------------- 
    4745   !! NEMO/ICE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/ICE/icedyn_adv_pra.F90

    r12340 r12353  
    4646 
    4747   !! * Substitutions 
    48 #  include "vectopt_loop_substitute.h90" 
    4948#  include "do_loop_substitute.h90" 
    5049   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/ICE/icedyn_adv_umx.F90

    r12340 r12353  
    5151   ! 
    5252   !! * Substitutions 
    53 #  include "vectopt_loop_substitute.h90" 
    5453#  include "do_loop_substitute.h90" 
    5554   !!---------------------------------------------------------------------- 
     
    816815      DO jl = 1, jpl 
    817816         DO jj = 2, jpjm1         ! First derivative (gradient) 
    818             DO ji = 1, fs_jpim1 
     817            DO ji = 1, jpim1 
    819818               ztu1(ji,jj,jl) = ( pt(ji+1,jj,jl) - pt(ji,jj,jl) ) * r1_e1u(ji,jj) * umask(ji,jj,1) 
    820819            END DO 
    821820            !                     ! Second derivative (Laplacian) 
    822             DO ji = fs_2, fs_jpim1 
     821            DO ji = 2, jpim1 
    823822               ztu2(ji,jj,jl) = ( ztu1(ji,jj,jl) - ztu1(ji-1,jj,jl) ) * r1_e1t(ji,jj) 
    824823            END DO 
     
    830829      DO jl = 1, jpl 
    831830         DO jj = 2, jpjm1         ! Third derivative 
    832             DO ji = 1, fs_jpim1 
     831            DO ji = 1, jpim1 
    833832               ztu3(ji,jj,jl) = ( ztu2(ji+1,jj,jl) - ztu2(ji,jj,jl) ) * r1_e1u(ji,jj) * umask(ji,jj,1) 
    834833            END DO 
    835834            !                     ! Fourth derivative 
    836             DO ji = fs_2, fs_jpim1 
     835            DO ji = 2, jpim1 
    837836               ztu4(ji,jj,jl) = ( ztu3(ji,jj,jl) - ztu3(ji-1,jj,jl) ) * r1_e1t(ji,jj) 
    838837            END DO 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/ICE/icedyn_rhg.F90

    r12236 r12353  
    3838   LOGICAL ::   ln_rhg_EVP       ! EVP rheology 
    3939   ! 
    40    !! * Substitutions 
    41 #  include "vectopt_loop_substitute.h90" 
    4240   !!---------------------------------------------------------------------- 
    4341   !! NEMO/ICE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/ICE/icedyn_rhg_evp.F90

    r12340 r12353  
    4848 
    4949   !! * Substitutions 
    50 #  include "vectopt_loop_substitute.h90" 
    5150#  include "do_loop_substitute.h90" 
    5251   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/ICE/icesbc.F90

    r12340 r12353  
    3737 
    3838   !! * Substitutions 
    39 #  include "vectopt_loop_substitute.h90" 
    4039#  include "do_loop_substitute.h90" 
    4140   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/ICE/icestp.F90

    r11960 r12353  
    8686   PUBLIC   ice_init   ! called by sbcmod.F90 
    8787 
    88    !! * Substitutions 
    89 #  include "vectopt_loop_substitute.h90" 
    9088   !!---------------------------------------------------------------------- 
    9189   !! NEMO/ICE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/ICE/icethd.F90

    r12340 r12353  
    5353 
    5454   !! * Substitutions 
    55 #  include "vectopt_loop_substitute.h90" 
    5655#  include "do_loop_substitute.h90" 
    5756   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/ICE/icethd_pnd.F90

    r11960 r12353  
    3838   INTEGER, PARAMETER ::   np_pndH12 = 2   ! Evolutive pond scheme (Holland et al. 2012) 
    3939 
    40    !! * Substitutions 
    41 #  include "vectopt_loop_substitute.h90" 
    4240   !!---------------------------------------------------------------------- 
    4341   !! NEMO/ICE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/ICE/iceupdate.F90

    r12340 r12353  
    4444 
    4545   !! * Substitutions 
    46 #  include "vectopt_loop_substitute.h90" 
    4746#  include "do_loop_substitute.h90" 
    4847   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/NST/agrif_oce_interp.F90

    r12229 r12353  
    4949   INTEGER ::   bdy_tinterp = 0 
    5050 
    51 #  include "vectopt_loop_substitute.h90" 
    5251   !!---------------------------------------------------------------------- 
    5352   !! NEMO/NST 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/ASM/asminc.F90

    r12340 r12353  
    9494 
    9595   !! * Substitutions 
    96 #  include "vectopt_loop_substitute.h90" 
    9796#  include "do_loop_substitute.h90" 
    9897   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/C1D/dyncor_c1d.F90

    r12340 r12353  
    3131 
    3232   !! * Substitutions 
    33 #  include "vectopt_loop_substitute.h90" 
    3433#  include "do_loop_substitute.h90" 
    3534   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/C1D/dyndmp.F90

    r12340 r12353  
    4343 
    4444   !! * Substitutions 
    45 #  include "vectopt_loop_substitute.h90" 
    4645#  include "do_loop_substitute.h90" 
    4746   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/CRS/crsdomwri.F90

    r10425 r12353  
    155155      DO jk = 1,jpk    
    156156         DO jj = 1, jpj_crsm1    
    157             DO ji = 1, jpi_crsm1  ! jes what to do for fs_jpim1??vector opt. 
     157            DO ji = 1, jpi_crsm1  ! jes what to do for jpim1??vector opt. 
    158158               zdepu(ji,jj,jk) = MIN( gdept_crs(ji,jj,jk) , gdept_crs(ji+1,jj  ,jk) ) * umask_crs(ji,jj,jk) 
    159159               zdepv(ji,jj,jk) = MIN( gdept_crs(ji,jj,jk) , gdept_crs(ji  ,jj+1,jk) ) * vmask_crs(ji,jj,jk) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/CRS/crsfld.F90

    r12340 r12353  
    3232 
    3333   !! * Substitutions 
    34 #  include "vectopt_loop_substitute.h90" 
    3534#  include "do_loop_substitute.h90" 
    3635   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/DIA/diaar5.F90

    r12340 r12353  
    3939       
    4040   !! * Substitutions 
    41 #  include "vectopt_loop_substitute.h90" 
    4241#  include "do_loop_substitute.h90" 
    4342   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/DIA/diacfl.F90

    r12340 r12353  
    3333 
    3434   !! * Substitutions 
    35 #  include "vectopt_loop_substitute.h90" 
    3635#  include "do_loop_substitute.h90" 
    3736   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/DIA/diahsb.F90

    r12150 r12353  
    5050   REAL(wp), DIMENSION(:,:,:), ALLOCATABLE ::   tmask_ini 
    5151 
    52    !! * Substitutions 
    53 #  include "vectopt_loop_substitute.h90" 
    5452   !!---------------------------------------------------------------------- 
    5553   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/DIA/diaptr.F90

    r12340 r12353  
    6161   LOGICAL ::   ll_init = .TRUE.        !: tracers  trend flag (set from namelist in trdini) 
    6262   !! * Substitutions 
    63 #  include "vectopt_loop_substitute.h90" 
    6463#  include "do_loop_substitute.h90" 
    6564   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/DIA/diawri.F90

    r12340 r12353  
    8484 
    8585   !! * Substitutions 
    86 #  include "vectopt_loop_substitute.h90" 
    8786#  include "do_loop_substitute.h90" 
    8887   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/DIU/diu_coolskin.F90

    r12340 r12353  
    4141 
    4242      !! * Substitutions 
    43 #  include "vectopt_loop_substitute.h90" 
    4443#  include "do_loop_substitute.h90" 
    4544   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/DOM/closea.F90

    r12150 r12353  
    5151   INTEGER, PUBLIC, SAVE, ALLOCATABLE, DIMENSION(:,:) :: mask_csemp , mask_csgrpemp !: mask of integers defining closed seas empmr mappings 
    5252 
    53    !! * Substitutions 
    54 #  include "vectopt_loop_substitute.h90" 
    5553   !!---------------------------------------------------------------------- 
    5654   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/DOM/depth_e3.F90

    r10069 r12353  
    3636   PUBLIC   e3_to_depth        ! called by domzgr.F90 
    3737       
    38    !! * Substitutions 
    39 #  include "vectopt_loop_substitute.h90" 
    4038   !!---------------------------------------------------------------------- 
    4139   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/DOM/dommsk.F90

    r12340 r12353  
    4444 
    4545   !! * Substitutions 
    46 #  include "vectopt_loop_substitute.h90" 
    4746#  include "do_loop_substitute.h90" 
    4847   !!---------------------------------------------------------------------- 
     
    164163      DO jk = 1, jpk 
    165164         DO jj = 1, jpjm1 
    166             DO ji = 1, fs_jpim1   ! vector loop 
     165            DO ji = 1, jpim1   ! vector loop 
    167166               umask(ji,jj,jk) = tmask(ji,jj  ,jk) * tmask(ji+1,jj  ,jk) 
    168167               vmask(ji,jj,jk) = tmask(ji,jj  ,jk) * tmask(ji  ,jj+1,jk) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/DOM/domvvl.F90

    r12340 r12353  
    6464 
    6565   !! * Substitutions 
    66 #  include "vectopt_loop_substitute.h90" 
    6766#  include "do_loop_substitute.h90" 
    6867   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/DOM/domwri.F90

    r12340 r12353  
    3333 
    3434   !! * Substitutions 
    35 #  include "vectopt_loop_substitute.h90" 
    3635#  include "do_loop_substitute.h90" 
    3736   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/DOM/domzgr.F90

    r12340 r12353  
    4444 
    4545  !! * Substitutions 
    46 #  include "vectopt_loop_substitute.h90" 
    4746#  include "do_loop_substitute.h90" 
    4847   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/DOM/istate.F90

    r12340 r12353  
    4242 
    4343   !! * Substitutions 
    44 #  include "vectopt_loop_substitute.h90" 
    4544#  include "do_loop_substitute.h90" 
    4645   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/DYN/divhor.F90

    r12340 r12353  
    3939 
    4040   !! * Substitutions 
    41 #  include "vectopt_loop_substitute.h90" 
    4241#  include "do_loop_substitute.h90" 
    4342   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/DYN/dynadv.F90

    r11960 r12353  
    4444   INTEGER, PUBLIC, PARAMETER ::   np_FLX_ubs = 3   ! flux   form : 3rd order Upstream Biased Scheme 
    4545 
    46    !! * Substitutions 
    47 #  include "vectopt_loop_substitute.h90" 
    4846   !!---------------------------------------------------------------------- 
    4947   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/DYN/dynadv_cen2.F90

    r12340 r12353  
    2727 
    2828   !! * Substitutions 
    29 #  include "vectopt_loop_substitute.h90" 
    3029#  include "do_loop_substitute.h90" 
    3130   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/DYN/dynadv_ubs.F90

    r12340 r12353  
    3333 
    3434   !! * Substitutions 
    35 #  include "vectopt_loop_substitute.h90" 
    3635#  include "do_loop_substitute.h90" 
    3736   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/DYN/dynhpg.F90

    r12340 r12353  
    7575 
    7676   !! * Substitutions 
    77 #  include "vectopt_loop_substitute.h90" 
    7877#  include "do_loop_substitute.h90" 
    7978   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/DYN/dynkeg.F90

    r12340 r12353  
    3636    
    3737   !! * Substitutions 
    38 #  include "vectopt_loop_substitute.h90" 
    3938#  include "do_loop_substitute.h90" 
    4039   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/DYN/dynldf.F90

    r12236 r12353  
    3434   PUBLIC   dyn_ldf_init  ! called by opa  module  
    3535 
    36    !! * Substitutions 
    37 #  include "vectopt_loop_substitute.h90" 
    3836   !!---------------------------------------------------------------------- 
    3937   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/DYN/dynldf_iso.F90

    r12340 r12353  
    4141 
    4242   !! * Substitutions 
    43 #  include "vectopt_loop_substitute.h90" 
    4443#  include "do_loop_substitute.h90" 
    4544   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/DYN/dynldf_lap_blp.F90

    r12340 r12353  
    2727 
    2828   !! * Substitutions 
    29 #  include "vectopt_loop_substitute.h90" 
    3029#  include "do_loop_substitute.h90" 
    3130   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/DYN/dynspg.F90

    r12340 r12353  
    4646 
    4747   !! * Substitutions 
    48 #  include "vectopt_loop_substitute.h90" 
    4948#  include "do_loop_substitute.h90" 
    5049   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/DYN/dynspg_exp.F90

    r12340 r12353  
    3030 
    3131   !! * Substitutions 
    32 #  include "vectopt_loop_substitute.h90" 
    3332#  include "do_loop_substitute.h90" 
    3433   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/DYN/dynspg_ts.F90

    r12340 r12353  
    8686 
    8787   !! * Substitutions 
    88 #  include "vectopt_loop_substitute.h90" 
    8988#  include "do_loop_substitute.h90" 
    9089   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/DYN/dynvor.F90

    r12340 r12353  
    8888    
    8989   !! * Substitutions 
    90 #  include "vectopt_loop_substitute.h90" 
    9190#  include "do_loop_substitute.h90" 
    9291   !!---------------------------------------------------------------------- 
     
    619618         END DO 
    620619         DO jj = 3, jpj 
    621             DO ji = fs_2, jpi   ! vector opt. ok because we start at jj = 3 
     620            DO ji = 2, jpi   ! vector opt. ok because we start at jj = 3 
    622621               ztne(ji,jj) = zwz(ji-1,jj  ,jk) + zwz(ji  ,jj  ,jk) + zwz(ji  ,jj-1,jk) 
    623622               ztnw(ji,jj) = zwz(ji-1,jj-1,jk) + zwz(ji-1,jj  ,jk) + zwz(ji  ,jj  ,jk) 
     
    741740         END DO 
    742741         DO jj = 3, jpj 
    743             DO ji = fs_2, jpi   ! vector opt. ok because we start at jj = 3 
     742            DO ji = 2, jpi   ! vector opt. ok because we start at jj = 3 
    744743               z1_e3t = 1._wp / e3t(ji,jj,jk,Kmm) 
    745744               ztne(ji,jj) = ( zwz(ji-1,jj  ,jk) + zwz(ji  ,jj  ,jk) + zwz(ji  ,jj-1,jk) ) * z1_e3t 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/DYN/dynzad.F90

    r12340 r12353  
    2828 
    2929   !! * Substitutions 
    30 #  include "vectopt_loop_substitute.h90" 
    3130#  include "do_loop_substitute.h90" 
    3231   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/DYN/dynzdf.F90

    r12340 r12353  
    3737 
    3838   !! * Substitutions 
    39 #  include "vectopt_loop_substitute.h90" 
    4039#  include "do_loop_substitute.h90" 
    4140   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/DYN/sshwzv.F90

    r12340 r12353  
    4949 
    5050   !! * Substitutions 
    51 #  include "vectopt_loop_substitute.h90" 
    5251#  include "do_loop_substitute.h90" 
    5352   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/DYN/wet_dry.F90

    r12340 r12353  
    6363 
    6464   !! * Substitutions 
    65 #  include "vectopt_loop_substitute.h90" 
    6665   !!---------------------------------------------------------------------- 
    6766CONTAINS 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/IOM/restart.F90

    r12150 r12353  
    3838   PUBLIC   rst_read_open   ! routine called in rst_read and (possibly) in dom_vvl_init 
    3939 
    40    !! * Substitutions 
    41 #  include "vectopt_loop_substitute.h90" 
    4240   !!---------------------------------------------------------------------- 
    4341   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/ISF/isfcpl.F90

    r12343 r12353  
    177177         ! 
    178178         zdssmask(:,:) = ssmask(:,:) - zssmask0(:,:) 
    179          DO jj = 2,jpj-1 
    180             DO ji = 2,jpi-1 
    181                jip1=ji+1; jim1=ji-1; 
    182                jjp1=jj+1; jjm1=jj-1; 
    183                ! 
    184                zsummsk = zssmask0(jip1,jj) + zssmask0(jim1,jj) + zssmask0(ji,jjp1) + zssmask0(ji,jjm1) 
    185                ! 
    186                IF (zdssmask(ji,jj) == 1._wp .AND. zsummsk /= 0._wp) THEN 
    187                   ssh(ji,jj,Kmm)=( zssh(jip1,jj)*zssmask0(jip1,jj)     & 
    188                   &           + zssh(jim1,jj)*zssmask0(jim1,jj)     & 
    189                   &           + zssh(ji,jjp1)*zssmask0(ji,jjp1)     & 
    190                   &           + zssh(ji,jjm1)*zssmask0(ji,jjm1)) / zsummsk 
    191                   zssmask_b(ji,jj) = 1._wp 
    192                ENDIF 
    193             END DO 
    194          END DO 
     179         DO_2D_00_00 
     180            jip1=ji+1; jim1=ji-1; 
     181            jjp1=jj+1; jjm1=jj-1; 
     182            ! 
     183            zsummsk = zssmask0(jip1,jj) + zssmask0(jim1,jj) + zssmask0(ji,jjp1) + zssmask0(ji,jjm1) 
     184            ! 
     185            IF (zdssmask(ji,jj) == 1._wp .AND. zsummsk /= 0._wp) THEN 
     186               ssh(ji,jj,Kmm)=( zssh(jip1,jj)*zssmask0(jip1,jj)     & 
     187               &           + zssh(jim1,jj)*zssmask0(jim1,jj)     & 
     188               &           + zssh(ji,jjp1)*zssmask0(ji,jjp1)     & 
     189               &           + zssh(ji,jjm1)*zssmask0(ji,jjm1)) / zsummsk 
     190               zssmask_b(ji,jj) = 1._wp 
     191            ENDIF 
     192         END_2D 
    195193         ! 
    196194         zssh(:,:) = ssh(:,:,Kmm) 
     
    300298            zdmask(:,:) = tmask(:,:,jk) - ztmask0(:,:,jk); 
    301299            ! 
    302             DO jj = 2,jpj-1 
    303                DO ji = 2,jpi-1 
    304                   jip1=ji+1; jim1=ji-1; 
    305                   jjp1=jj+1; jjm1=jj-1; 
     300            DO_2D_00_00 
     301               jip1=ji+1; jim1=ji-1; 
     302               jjp1=jj+1; jjm1=jj-1; 
     303               ! 
     304               ! check if a wet neigbourg cell is present 
     305               zsummsk = ztmask0(jip1,jj  ,jk) + ztmask0(jim1,jj  ,jk) & 
     306                       + ztmask0(ji  ,jjp1,jk) + ztmask0(ji  ,jjm1,jk) 
     307               ! 
     308               ! if neigbourg wet cell available at the same level 
     309               IF ( zdmask(ji,jj) == 1._wp  .AND. zsummsk /= 0._wp ) THEN 
     310                  ! 
     311                  ! horizontal basic extrapolation 
     312                  ts(ji,jj,jk,1,Kmm)=( zts0(jip1,jj  ,jk,1) * ztmask0(jip1,jj  ,jk) & 
     313                  &               + zts0(jim1,jj  ,jk,1) * ztmask0(jim1,jj  ,jk) & 
     314                  &               + zts0(ji  ,jjp1,jk,1) * ztmask0(ji  ,jjp1,jk) & 
     315                  &               + zts0(ji  ,jjm1,jk,1) * ztmask0(ji  ,jjm1,jk) ) / zsummsk 
     316                  ts(ji,jj,jk,2,Kmm)=( zts0(jip1,jj  ,jk,2) * ztmask0(jip1,jj  ,jk) & 
     317                  &               + zts0(jim1,jj  ,jk,2) * ztmask0(jim1,jj  ,jk) & 
     318                  &               + zts0(ji  ,jjp1,jk,2) * ztmask0(ji  ,jjp1,jk) & 
     319                  &               + zts0(ji  ,jjm1,jk,2) * ztmask0(ji  ,jjm1,jk) ) / zsummsk 
     320                  ! 
     321                  ! update mask for next pass 
     322                  ztmask1(ji,jj,jk)=1 
     323                  ! 
     324               ! in case no neigbourg wet cell available at the same level 
     325               ! check if a wet cell is available below 
     326               ELSEIF (zdmask(ji,jj) == 1._wp .AND. zsummsk == 0._wp) THEN 
     327                  ! 
     328                  ! vertical extrapolation if horizontal extrapolation failed 
     329                  jkm1=max(1,jk-1) ; jkp1=min(jpk,jk+1) 
    306330                  ! 
    307331                  ! check if a wet neigbourg cell is present 
    308                   zsummsk = ztmask0(jip1,jj  ,jk) + ztmask0(jim1,jj  ,jk) & 
    309                           + ztmask0(ji  ,jjp1,jk) + ztmask0(ji  ,jjm1,jk) 
    310                   ! 
    311                   ! if neigbourg wet cell available at the same level 
    312                   IF ( zdmask(ji,jj) == 1._wp  .AND. zsummsk /= 0._wp ) THEN 
    313                      ! 
    314                      ! horizontal basic extrapolation 
    315                      ts(ji,jj,jk,1,Kmm)=( zts0(jip1,jj  ,jk,1) * ztmask0(jip1,jj  ,jk) & 
    316                      &               + zts0(jim1,jj  ,jk,1) * ztmask0(jim1,jj  ,jk) & 
    317                      &               + zts0(ji  ,jjp1,jk,1) * ztmask0(ji  ,jjp1,jk) & 
    318                      &               + zts0(ji  ,jjm1,jk,1) * ztmask0(ji  ,jjm1,jk) ) / zsummsk 
    319                      ts(ji,jj,jk,2,Kmm)=( zts0(jip1,jj  ,jk,2) * ztmask0(jip1,jj  ,jk) & 
    320                      &               + zts0(jim1,jj  ,jk,2) * ztmask0(jim1,jj  ,jk) & 
    321                      &               + zts0(ji  ,jjp1,jk,2) * ztmask0(ji  ,jjp1,jk) & 
    322                      &               + zts0(ji  ,jjm1,jk,2) * ztmask0(ji  ,jjm1,jk) ) / zsummsk 
     332                  zsummsk = ztmask0(ji,jj,jkm1) + ztmask0(ji,jj,jkp1) 
     333                  IF (zdmask(ji,jj) == 1._wp .AND. zsummsk /= 0._wp ) THEN 
     334                     ts(ji,jj,jk,1,Kmm)=( zts0(ji,jj,jkp1,1)*ztmask0(ji,jj,jkp1)     & 
     335                     &               + zts0(ji,jj,jkm1,1)*ztmask0(ji,jj,jkm1)) / zsummsk 
     336                     ts(ji,jj,jk,2,Kmm)=( zts0(ji,jj,jkp1,2)*ztmask0(ji,jj,jkp1)     & 
     337                     &               + zts0(ji,jj,jkm1,2)*ztmask0(ji,jj,jkm1)) / zsummsk 
    323338                     ! 
    324339                     ! update mask for next pass 
    325                      ztmask1(ji,jj,jk)=1 
    326                      ! 
    327                   ! in case no neigbourg wet cell available at the same level 
    328                   ! check if a wet cell is available below 
    329                   ELSEIF (zdmask(ji,jj) == 1._wp .AND. zsummsk == 0._wp) THEN 
    330                      ! 
    331                      ! vertical extrapolation if horizontal extrapolation failed 
    332                      jkm1=max(1,jk-1) ; jkp1=min(jpk,jk+1) 
    333                      ! 
    334                      ! check if a wet neigbourg cell is present 
    335                      zsummsk = ztmask0(ji,jj,jkm1) + ztmask0(ji,jj,jkp1) 
    336                      IF (zdmask(ji,jj) == 1._wp .AND. zsummsk /= 0._wp ) THEN 
    337                         ts(ji,jj,jk,1,Kmm)=( zts0(ji,jj,jkp1,1)*ztmask0(ji,jj,jkp1)     & 
    338                         &               + zts0(ji,jj,jkm1,1)*ztmask0(ji,jj,jkm1)) / zsummsk 
    339                         ts(ji,jj,jk,2,Kmm)=( zts0(ji,jj,jkp1,2)*ztmask0(ji,jj,jkp1)     & 
    340                         &               + zts0(ji,jj,jkm1,2)*ztmask0(ji,jj,jkm1)) / zsummsk 
    341                         ! 
    342                         ! update mask for next pass 
    343                         ztmask1(ji,jj,jk)=1._wp 
    344                      END IF 
     340                     ztmask1(ji,jj,jk)=1._wp 
    345341                  END IF 
    346                END DO 
    347             END DO 
     342               END IF 
     343            END_2D 
    348344         END DO 
    349345         ! 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/LDF/ldfdyn.F90

    r12340 r12353  
    7373 
    7474   !! * Substitutions 
    75 #  include "vectopt_loop_substitute.h90" 
    7675#  include "do_loop_substitute.h90" 
    7776   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/LDF/ldfslp.F90

    r12340 r12353  
    7474 
    7575   !! * Substitutions 
    76 #  include "vectopt_loop_substitute.h90" 
    7776#  include "do_loop_substitute.h90" 
    7877   !!---------------------------------------------------------------------- 
     
    242241         END_2D 
    243242         DO jj = 3, jpj-2                               ! other rows 
    244             DO ji = fs_2, fs_jpim1   ! vector opt. 
     243            DO ji = 2, jpim1   ! vector opt. 
    245244               uslp(ji,jj,jk) = z1_16 * (        zwz(ji-1,jj-1,jk) + zwz(ji+1,jj-1,jk)      & 
    246245                  &                       +      zwz(ji-1,jj+1,jk) + zwz(ji+1,jj+1,jk)      & 
     
    318317         END_2D 
    319318         DO jj = 3, jpj-2                               ! other rows 
    320             DO ji = fs_2, fs_jpim1   ! vector opt. 
     319            DO ji = 2, jpim1   ! vector opt. 
    321320               zcofw = wmask(ji,jj,jk) * z1_16 
    322321               wslpi(ji,jj,jk) = (         zwz(ji-1,jj-1,jk) + zwz(ji+1,jj-1,jk)     & 
     
    745744!            DO jk = 1, jpk 
    746745!               DO jj = 2, jpjm1 
    747 !                  DO ji = fs_2, fs_jpim1   ! vector opt. 
     746!                  DO ji = 2, jpim1   ! vector opt. 
    748747!                     uslp (ji,jj,jk) = - ( gdept(ji+1,jj,jk,Kmm) - gdept(ji ,jj ,jk,Kmm) ) * r1_e1u(ji,jj) * umask(ji,jj,jk) 
    749748!                     vslp (ji,jj,jk) = - ( gdept(ji,jj+1,jk,Kmm) - gdept(ji ,jj ,jk,Kmm) ) * r1_e2v(ji,jj) * vmask(ji,jj,jk) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/LDF/ldftra.F90

    r12340 r12353  
    9494 
    9595   !! * Substitutions 
    96 #  include "vectopt_loop_substitute.h90" 
    9796#  include "do_loop_substitute.h90" 
    9897   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/SBC/cyclone.F90

    r12340 r12353  
    3737 
    3838   !! * Substitutions 
    39 #  include "vectopt_loop_substitute.h90" 
    4039#  include "do_loop_substitute.h90" 
    4140   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/SBC/geo2ocean.F90

    r12340 r12353  
    4343 
    4444   !! * Substitutions 
    45 #  include "vectopt_loop_substitute.h90" 
    4645#  include "do_loop_substitute.h90" 
    4746   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/SBC/sbc_oce.F90

    r12340 r12353  
    159159 
    160160   !! * Substitutions 
    161 #  include "vectopt_loop_substitute.h90" 
    162161#  include "do_loop_substitute.h90" 
    163162   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/SBC/sbcabl.F90

    r12182 r12353  
    1616   PUBLIC   sbc_abl            ! routine called in sbcmod module 
    1717 
    18    !! * Substitutions 
    19 #  include "vectopt_loop_substitute.h90" 
    2018   !!---------------------------------------------------------------------- 
    2119   !! NEMO/OPA 3.7 , NEMO-consortium (2014) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/SBC/sbcblk.F90

    r12343 r12353  
    128128 
    129129   !! * Substitutions 
    130 #  include "vectopt_loop_substitute.h90" 
    131130#  include "do_loop_substitute.h90" 
    132131   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/SBC/sbccpl.F90

    r12340 r12353  
    198198 
    199199   !! Substitution 
    200 #  include "vectopt_loop_substitute.h90" 
    201200#  include "do_loop_substitute.h90" 
    202201   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/SBC/sbcflx.F90

    r12340 r12353  
    3838 
    3939   !! * Substitutions 
    40 #  include "vectopt_loop_substitute.h90" 
    4140#  include "do_loop_substitute.h90" 
    4241   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/SBC/sbcfwb.F90

    r12150 r12353  
    3939   REAL(wp) ::   area      ! global mean ocean surface (interior domain) 
    4040 
    41    !! * Substitutions 
    42 #  include "vectopt_loop_substitute.h90" 
    4341   !!---------------------------------------------------------------------- 
    4442   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/SBC/sbcwave.F90

    r12340 r12353  
    7272 
    7373   !! * Substitutions 
    74 #  include "vectopt_loop_substitute.h90" 
    7574#  include "do_loop_substitute.h90" 
    7675   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/STO/stopts.F90

    r12340 r12353  
    2626 
    2727   !! * Substitutions 
    28 #  include "vectopt_loop_substitute.h90" 
    2928#  include "do_loop_substitute.h90" 
    3029   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/TRA/eosbn2.F90

    r12340 r12353  
    179179 
    180180   !! * Substitutions 
    181 #  include "vectopt_loop_substitute.h90" 
    182181#  include "do_loop_substitute.h90" 
    183182   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/TRA/traadv.F90

    r12236 r12353  
    6666   INTEGER, PARAMETER ::   np_QCK     = 5   ! QUICK scheme 
    6767    
    68    !! * Substitutions 
    69 #  include "vectopt_loop_substitute.h90" 
    7068   !!---------------------------------------------------------------------- 
    7169   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/TRA/traadv_cen.F90

    r12340 r12353  
    3636 
    3737   !! * Substitutions 
    38 #  include "vectopt_loop_substitute.h90" 
    3938#  include "do_loop_substitute.h90" 
    4039   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/TRA/traadv_fct.F90

    r12340 r12353  
    4545 
    4646   !! * Substitutions 
    47 #  include "vectopt_loop_substitute.h90" 
    4847#  include "do_loop_substitute.h90" 
    4948   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/TRA/traadv_mus.F90

    r12340 r12353  
    4646 
    4747   !! * Substitutions 
    48 #  include "vectopt_loop_substitute.h90" 
    4948#  include "do_loop_substitute.h90" 
    5049   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/TRA/traadv_qck.F90

    r12340 r12353  
    4040 
    4141   !! * Substitutions 
    42 #  include "vectopt_loop_substitute.h90" 
    4342#  include "do_loop_substitute.h90" 
    4443   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/TRA/traadv_ubs.F90

    r12340 r12353  
    3838 
    3939   !! * Substitutions 
    40 #  include "vectopt_loop_substitute.h90" 
    4140#  include "do_loop_substitute.h90" 
    4241   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/TRA/traatf.F90

    r12340 r12353  
    5757 
    5858   !! * Substitutions 
    59 #  include "vectopt_loop_substitute.h90" 
    6059#  include "do_loop_substitute.h90" 
    6160   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/TRA/trabbl.F90

    r12340 r12353  
    6767 
    6868   !! * Substitutions 
    69 #  include "vectopt_loop_substitute.h90" 
    7069#  include "do_loop_substitute.h90" 
    7170   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/TRA/tradmp.F90

    r12340 r12353  
    5252 
    5353   !! * Substitutions 
    54 #  include "vectopt_loop_substitute.h90" 
    5554#  include "do_loop_substitute.h90" 
    5655   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/TRA/traisf.F90

    r12340 r12353  
    2222 
    2323   !! * Substitutions 
    24 #  include "vectopt_loop_substitute.h90" 
    2524#  include "do_loop_substitute.h90" 
    2625   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/TRA/traldf.F90

    r12236 r12353  
    3838   PUBLIC   tra_ldf_init   ! called by nemogcm.F90  
    3939    
    40    !! * Substitutions 
    41 #  include "vectopt_loop_substitute.h90" 
    4240   !!---------------------------------------------------------------------- 
    4341   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/TRA/traldf_iso.F90

    r12340 r12353  
    4040 
    4141   !! * Substitutions 
    42 #  include "vectopt_loop_substitute.h90" 
    4342#  include "do_loop_substitute.h90" 
    4443   !!---------------------------------------------------------------------- 
     
    262261         !!   III - vertical trend (full) 
    263262         !!---------------------------------------------------------------------- 
    264          ! 
    265          ztfw(fs_2:1,:,:) = 0._wp     ;     ztfw(jpi:fs_jpim1,:,:) = 0._wp   ! avoid to potentially manipulate NaN values 
    266263         ! 
    267264         ! Vertical fluxes 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/TRA/traldf_lap_blp.F90

    r12340 r12353  
    3737 
    3838   !! * Substitutions 
    39 #  include "vectopt_loop_substitute.h90" 
    4039#  include "do_loop_substitute.h90" 
    4140   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/TRA/traldf_triad.F90

    r12340 r12353  
    4040 
    4141   !! * Substitutions 
    42 #  include "vectopt_loop_substitute.h90" 
    4342#  include "do_loop_substitute.h90" 
    4443   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/TRA/tramle.F90

    r12340 r12353  
    4848 
    4949   !! * Substitutions 
    50 #  include "vectopt_loop_substitute.h90" 
    5150#  include "do_loop_substitute.h90" 
    5251   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/TRA/tranpc.F90

    r12340 r12353  
    3434 
    3535   !! * Substitutions 
    36 #  include "vectopt_loop_substitute.h90" 
    3736#  include "do_loop_substitute.h90" 
    3837   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/TRA/traqsr.F90

    r12340 r12353  
    6767 
    6868   !! * Substitutions 
    69 #  include "vectopt_loop_substitute.h90" 
    7069#  include "do_loop_substitute.h90" 
    7170   !!---------------------------------------------------------------------- 
     
    170169            DO jk = 1, nksr + 1 
    171170               DO jj = 2, jpjm1                       ! Separation in R-G-B depending of the surface Chl 
    172                   DO ji = fs_2, fs_jpim1 
     171                  DO ji = 2, jpim1 
    173172                     zchl    = MIN( 10. , MAX( 0.03, sf_chl(1)%fnow(ji,jj,1) ) ) 
    174173                     zCtot   = 40.6  * zchl**0.459 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/TRA/trasbc.F90

    r12340 r12353  
    4242 
    4343   !! * Substitutions 
    44 #  include "vectopt_loop_substitute.h90" 
    4544#  include "do_loop_substitute.h90" 
    4645   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/TRA/trazdf.F90

    r12340 r12353  
    3636 
    3737   !! * Substitutions 
    38 #  include "vectopt_loop_substitute.h90" 
    3938#  include "do_loop_substitute.h90" 
    4039   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/TRA/zpshde.F90

    r12340 r12353  
    3131 
    3232   !! * Substitutions 
    33 #  include "vectopt_loop_substitute.h90" 
    3433#  include "do_loop_substitute.h90" 
    3534   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/TRD/trddyn.F90

    r12340 r12353  
    3636 
    3737   !! * Substitutions 
    38 #  include "vectopt_loop_substitute.h90" 
    3938#  include "do_loop_substitute.h90" 
    4039   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/TRD/trdglo.F90

    r12340 r12353  
    5151 
    5252   !! * Substitutions 
    53 #  include "vectopt_loop_substitute.h90" 
    5453#  include "do_loop_substitute.h90" 
    5554   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/TRD/trdini.F90

    r11960 r12353  
    2525   PUBLIC   trd_init   ! called by nemogcm.F90 module 
    2626 
    27    !! * Substitutions 
    28 #  include "vectopt_loop_substitute.h90" 
    2927   !!---------------------------------------------------------------------- 
    3028   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/TRD/trdken.F90

    r12340 r12353  
    4040 
    4141   !! * Substitutions 
    42 #  include "vectopt_loop_substitute.h90" 
    4342#  include "do_loop_substitute.h90" 
    4443   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/TRD/trdpen.F90

    r11949 r12353  
    3535   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:,:) ::   rab_pe   ! partial derivatives of PE anomaly with respect to T and S 
    3636 
    37    !! * Substitutions 
    38 #  include "vectopt_loop_substitute.h90" 
    3937   !!---------------------------------------------------------------------- 
    4038   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/TRD/trdtra.F90

    r12340 r12353  
    4141 
    4242   !! * Substitutions 
    43 #  include "vectopt_loop_substitute.h90" 
    4443#  include "do_loop_substitute.h90" 
    4544   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/TRD/trdvor.F90

    r12340 r12353  
    5656 
    5757   !! * Substitutions 
    58 #  include "vectopt_loop_substitute.h90" 
    5958#  include "do_loop_substitute.h90" 
    6059   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/USR/usrdef_fmask.F90

    r10425 r12353  
    2626   PUBLIC   usr_def_fmask    ! routine called by dommsk.F90 
    2727 
    28    !! * Substitutions 
    29 #  include "vectopt_loop_substitute.h90" 
    3028   !!---------------------------------------------------------------------- 
    3129   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/USR/usrdef_sbc.F90

    r12340 r12353  
    3131 
    3232   !! * Substitutions 
    33 #  include "vectopt_loop_substitute.h90" 
    3433#  include "do_loop_substitute.h90" 
    3534   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/USR/usrdef_zgr.F90

    r10425 r12353  
    2929   PUBLIC   usr_def_zgr        ! called by domzgr.F90 
    3030 
    31    !! * Substitutions 
    32 #  include "vectopt_loop_substitute.h90" 
    3331   !!---------------------------------------------------------------------- 
    3432   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/ZDF/zdfddm.F90

    r12340 r12353  
    3030 
    3131   !! * Substitutions 
    32 #  include "vectopt_loop_substitute.h90" 
    3332#  include "do_loop_substitute.h90" 
    3433   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/ZDF/zdfdrg.F90

    r12340 r12353  
    7373 
    7474   !! * Substitutions 
    75 #  include "vectopt_loop_substitute.h90" 
    7675#  include "do_loop_substitute.h90" 
    7776   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/ZDF/zdfgls.F90

    r12340 r12353  
    104104 
    105105   !! * Substitutions 
    106 #  include "vectopt_loop_substitute.h90" 
    107106#  include "do_loop_substitute.h90" 
    108107   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/ZDF/zdfiwm.F90

    r12340 r12353  
    4949 
    5050   !! * Substitutions 
    51 #  include "vectopt_loop_substitute.h90" 
    5251#  include "do_loop_substitute.h90" 
    5352   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/ZDF/zdfric.F90

    r12340 r12353  
    5050 
    5151   !! * Substitutions 
    52 #  include "vectopt_loop_substitute.h90" 
    5352#  include "do_loop_substitute.h90" 
    5453   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/ZDF/zdftke.F90

    r12340 r12353  
    8989 
    9090   !! * Substitutions 
    91 #  include "vectopt_loop_substitute.h90" 
    9291#  include "do_loop_substitute.h90" 
    9392   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/do_loop_substitute.h90

    r12341 r12353  
    1 #ifdef show_comments 
     1#if defined show_comments 
    22! These comments are not intended to be retained during preprocessing; i.e. do not define "show_comments" 
    33!!---------------------------------------------------------------------- 
     
    5050! includes the possibility of strides for which an extra set of DO_3DS macros are defined. 
    5151! 
    52 ! In the definitions below the inner PE domain is defined by start indices of (kIs, kJs) and end indices of (kIe, KJe) 
     52! In the following definitions the inner PE domain is defined by start indices of (___kIs_, __kJs_) and end indices of (__kIe_, __kJe_) 
     53! The following macros are defined just below: ___kIs_, __kJs_, ___kIsm1_, __kJsm1_, ___kIe_, __kJe_, ___kIep1_, __kJep1_.  
     54! These names are chosen to, hopefully, avoid any future, unintended matches elsewhere in the code. 
    5355! 
    5456#endif 
    55 #define kIs     2 
    56 #define kJs     2 
    57 #define kIsm1   1 
    58 #define kJsm1   1 
     57#define __kIs_     2 
     58#define __kJs_     2 
     59#define __kIsm1_   1 
     60#define __kJsm1_   1 
    5961 
    60 #define kIe     jpim1 
    61 #define kJe     jpjm1 
    62 #define kIep1   jpi 
    63 #define kJep1   jpj 
     62#define __kIe_     jpim1 
     63#define __kJe_     jpjm1 
     64#define __kIep1_   jpi 
     65#define __kJep1_   jpj 
    6466 
    65 #define DO_2D_00_00   DO jj = kJs, kJe   ;   DO ji = kIs, kIe 
    66 #define DO_2D_00_01   DO jj = kJs, kJe   ;   DO ji = kIs, kIep1 
    67 #define DO_2D_00_10   DO jj = kJs, kJe   ;   DO ji = kIsm1, kIe 
    68 #define DO_2D_00_11   DO jj = kJs, kJe   ;   DO ji = kIsm1, kIep1 
     67#define DO_2D_00_00   DO jj = __kJs_, __kJe_   ;   DO ji = __kIs_, __kIe_ 
     68#define DO_2D_00_01   DO jj = __kJs_, __kJe_   ;   DO ji = __kIs_, __kIep1_ 
     69#define DO_2D_00_10   DO jj = __kJs_, __kJe_   ;   DO ji = __kIsm1_, __kIe_ 
     70#define DO_2D_00_11   DO jj = __kJs_, __kJe_   ;   DO ji = __kIsm1_, __kIep1_ 
    6971  
    70 #define DO_2D_01_00   DO jj = kJs, kJep1   ;   DO ji = kIs, kIe 
    71 #define DO_2D_01_01   DO jj = kJs, kJep1   ;   DO ji = kIs, kIep1 
    72 #define DO_2D_01_10   DO jj = kJs, kJep1   ;   DO ji = kIsm1, kIe 
    73 #define DO_2D_01_11   DO jj = kJs, kJep1   ;   DO ji = kIsm1, kIep1 
     72#define DO_2D_01_00   DO jj = __kJs_, __kJep1_   ;   DO ji = __kIs_, __kIe_ 
     73#define DO_2D_01_01   DO jj = __kJs_, __kJep1_   ;   DO ji = __kIs_, __kIep1_ 
     74#define DO_2D_01_10   DO jj = __kJs_, __kJep1_   ;   DO ji = __kIsm1_, __kIe_ 
     75#define DO_2D_01_11   DO jj = __kJs_, __kJep1_   ;   DO ji = __kIsm1_, __kIep1_ 
    7476  
    75 #define DO_2D_10_00   DO jj = kJsm1, kJe   ;   DO ji = kIs, kIe 
    76 #define DO_2D_10_10   DO jj = kJsm1, kJe   ;   DO ji = kIsm1, kIe 
    77 #define DO_2D_10_11   DO jj = kJsm1, kJe   ;   DO ji = kIsm1, kIep1 
     77#define DO_2D_10_00   DO jj = __kJsm1_, __kJe_   ;   DO ji = __kIs_, __kIe_ 
     78#define DO_2D_10_10   DO jj = __kJsm1_, __kJe_   ;   DO ji = __kIsm1_, __kIe_ 
     79#define DO_2D_10_11   DO jj = __kJsm1_, __kJe_   ;   DO ji = __kIsm1_, __kIep1_ 
    7880  
    79 #define DO_2D_11_00   DO jj = kJsm1, kJep1   ;   DO ji = kIs, kIe 
    80 #define DO_2D_11_01   DO jj = kJsm1, kJep1   ;   DO ji = kIs, kIep1 
    81 #define DO_2D_11_10   DO jj = kJsm1, kJep1   ;   DO ji = kIsm1, kIe 
    82 #define DO_2D_11_11   DO jj = kJsm1, kJep1   ;   DO ji = kIsm1, kIep1 
    83  
     81#define DO_2D_11_00   DO jj = __kJsm1_, __kJep1_   ;   DO ji = __kIs_, __kIe_ 
     82#define DO_2D_11_01   DO jj = __kJsm1_, __kJep1_   ;   DO ji = __kIs_, __kIep1_ 
     83#define DO_2D_11_10   DO jj = __kJsm1_, __kJep1_   ;   DO ji = __kIsm1_, __kIe_ 
     84#define DO_2D_11_11   DO jj = __kJsm1_, __kJep1_   ;   DO ji = __kIsm1_, __kIep1_ 
    8485 
    8586#define DO_3D_00_00(ks,ke)   DO jk = ks, ke   ;   DO_2D_00_00 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/SAS/diawri.F90

    r12182 r12353  
    6464   INTEGER, SAVE, ALLOCATABLE, DIMENSION(:) :: ndex_hA, ndex_A ! ABL 
    6565 
    66    !! * Substitutions 
    67 #  include "vectopt_loop_substitute.h90" 
    6866   !!---------------------------------------------------------------------- 
    6967   !! NEMO/SAS 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/TOP/PISCES/P2Z/p2zbio.F90

    r12340 r12353  
    5757 
    5858   !! * Substitutions 
    59 #  include "vectopt_loop_substitute.h90" 
    6059#  include "do_loop_substitute.h90" 
    6160   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/TOP/PISCES/P2Z/p2zexp.F90

    r12340 r12353  
    3838 
    3939   !! * Substitutions 
    40 #  include "vectopt_loop_substitute.h90" 
    4140#  include "do_loop_substitute.h90" 
    4241   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/TOP/PISCES/P4Z/p4zbc.F90

    r12340 r12353  
    4747 
    4848   !! * Substitutions 
    49 #  include "vectopt_loop_substitute.h90" 
    5049#  include "do_loop_substitute.h90" 
    5150   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/TOP/PISCES/SED/trcdmp_sed.F90

    r12340 r12353  
    3535 
    3636   !! * Substitutions 
    37 #  include "vectopt_loop_substitute.h90" 
    3837#  include "do_loop_substitute.h90" 
    3938   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/TOP/TRP/trcadv.F90

    r12236 r12353  
    5959   INTEGER, PARAMETER ::   np_QCK     = 5   ! QUICK scheme 
    6060    
    61    !! * Substitutions 
    62 #  include "vectopt_loop_substitute.h90" 
    6361   !!---------------------------------------------------------------------- 
    6462   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/TOP/TRP/trcdmp.F90

    r12340 r12353  
    4444 
    4545   !! * Substitutions 
    46 #  include "vectopt_loop_substitute.h90" 
    4746#  include "do_loop_substitute.h90" 
    4847   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/TOP/TRP/trcldf.F90

    r12340 r12353  
    4343    
    4444   !! * Substitutions 
    45 #  include "vectopt_loop_substitute.h90" 
    4645#  include "do_loop_substitute.h90" 
    4746   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/TOP/TRP/trcsbc.F90

    r12340 r12353  
    2929 
    3030   !! * Substitutions 
    31 #  include "vectopt_loop_substitute.h90" 
    3231#  include "do_loop_substitute.h90" 
    3332   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/TOP/trcbc.F90

    r12340 r12353  
    4747 
    4848   !! * Substitutions 
    49 #  include "vectopt_loop_substitute.h90" 
    5049#  include "do_loop_substitute.h90" 
    5150   !!---------------------------------------------------------------------- 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/tests/BENCH/MY_SRC/diawri.F90

    r11949 r12353  
    7777   INTEGER, SAVE, ALLOCATABLE, DIMENSION(:) :: ndex_bT 
    7878 
    79    !! * Substitutions 
    80 #  include "vectopt_loop_substitute.h90" 
    8179   !!---------------------------------------------------------------------- 
    8280   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/tests/BENCH/MY_SRC/usrdef_zgr.F90

    r11536 r12353  
    3030   PUBLIC   usr_def_zgr        ! called by domzgr.F90 
    3131 
    32   !! * Substitutions 
    33 #  include "vectopt_loop_substitute.h90" 
    3432   !!---------------------------------------------------------------------- 
    3533   !! NEMO/OPA 4.0 , NEMO Consortium (2016) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/tests/BENCH/MY_SRC/zdfiwm.F90

    r11960 r12353  
    4848   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) ::   hcri_iwm   ! decay scale for low-mode critical slope dissipation (m) 
    4949 
    50    !! * Substitutions 
    51 #  include "vectopt_loop_substitute.h90" 
    5250   !!---------------------------------------------------------------------- 
    5351   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/tests/CANAL/MY_SRC/diawri.F90

    r12252 r12353  
    7676   INTEGER, SAVE, ALLOCATABLE, DIMENSION(:) :: ndex_bT 
    7777 
    78    !! * Substitutions 
    79 #  include "vectopt_loop_substitute.h90" 
    8078   !!---------------------------------------------------------------------- 
    8179   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/tests/CANAL/MY_SRC/domvvl.F90

    r11960 r12353  
    6262   REAL(wp)        , ALLOCATABLE, SAVE, DIMENSION(:,:)   :: frq_rst_hdv                 ! retoring period for low freq. divergence 
    6363 
    64    !! * Substitutions 
    65 #  include "vectopt_loop_substitute.h90" 
    6664   !!---------------------------------------------------------------------- 
    6765   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/tests/CANAL/MY_SRC/trazdf.F90

    r11949 r12353  
    3535   PUBLIC   tra_zdf_imp   ! called by trczdf.F90 
    3636 
    37    !! * Substitutions 
    38 #  include "vectopt_loop_substitute.h90" 
    3937   !!---------------------------------------------------------------------- 
    4038   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/tests/CANAL/MY_SRC/usrdef_sbc.F90

    r11949 r12353  
    3131   PUBLIC   usrdef_sbc_ice_flx  ! routine called by icestp.F90 for ice thermo 
    3232 
    33    !! * Substitutions 
    34 #  include "vectopt_loop_substitute.h90" 
    3533   !!---------------------------------------------------------------------- 
    3634   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/tests/CANAL/MY_SRC/usrdef_zgr.F90

    r10425 r12353  
    3131   PUBLIC   usr_def_zgr        ! called by domzgr.F90 
    3232 
    33   !! * Substitutions 
    34 #  include "vectopt_loop_substitute.h90" 
    3533   !!---------------------------------------------------------------------- 
    3634   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/tests/ICE_ADV1D/MY_SRC/usrdef_sbc.F90

    r11949 r12353  
    3333   PUBLIC   usrdef_sbc_ice_flx  ! routine called by icestp.F90 for ice thermo 
    3434 
    35    !! * Substitutions 
    36 #  include "vectopt_loop_substitute.h90" 
    3735   !!---------------------------------------------------------------------- 
    3836   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/tests/ICE_ADV1D/MY_SRC/usrdef_zgr.F90

    r10513 r12353  
    2525   PUBLIC   usr_def_zgr   ! called by domzgr.F90 
    2626 
    27   !! * Substitutions 
    28 #  include "vectopt_loop_substitute.h90" 
    2927   !!---------------------------------------------------------------------- 
    3028   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/tests/ICE_ADV2D/MY_SRC/usrdef_sbc.F90

    r11949 r12353  
    3333   PUBLIC   usrdef_sbc_ice_flx  ! routine called by icestp.F90 for ice thermo 
    3434 
    35    !! * Substitutions 
    36 #  include "vectopt_loop_substitute.h90" 
    3735   !!---------------------------------------------------------------------- 
    3836   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/tests/ICE_ADV2D/MY_SRC/usrdef_zgr.F90

    r10515 r12353  
    2525   PUBLIC   usr_def_zgr   ! called by domzgr.F90 
    2626 
    27   !! * Substitutions 
    28 #  include "vectopt_loop_substitute.h90" 
    2927   !!---------------------------------------------------------------------- 
    3028   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/tests/ICE_AGRIF/MY_SRC/usrdef_sbc.F90

    r11949 r12353  
    3333   PUBLIC   usrdef_sbc_ice_flx  ! routine called by icestp.F90 for ice thermo 
    3434 
    35    !! * Substitutions 
    36 #  include "vectopt_loop_substitute.h90" 
    3735   !!---------------------------------------------------------------------- 
    3836   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/tests/ICE_AGRIF/MY_SRC/usrdef_zgr.F90

    r10516 r12353  
    2525   PUBLIC   usr_def_zgr   ! called by domzgr.F90 
    2626 
    27   !! * Substitutions 
    28 #  include "vectopt_loop_substitute.h90" 
    2927   !!---------------------------------------------------------------------- 
    3028   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/tests/ISOMIP+/MY_SRC/eosbn2.F90

    r12077 r12353  
    180180   REAL(wp) ::   BPE002 
    181181 
    182    !! * Substitutions 
    183 #  include "vectopt_loop_substitute.h90" 
    184182   !!---------------------------------------------------------------------- 
    185183   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/tests/ISOMIP+/MY_SRC/istate.F90

    r12077 r12353  
    4141   PUBLIC   istate_init   ! routine called by step.F90 
    4242 
    43    !! * Substitutions 
    44 #  include "vectopt_loop_substitute.h90" 
    4543   !!---------------------------------------------------------------------- 
    4644   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/tests/ISOMIP+/MY_SRC/sbcfwb.F90

    r12077 r12353  
    3939   REAL(wp) ::   area      ! global mean ocean surface (interior domain) 
    4040 
    41    !! * Substitutions 
    42 #  include "vectopt_loop_substitute.h90" 
    4341   !!---------------------------------------------------------------------- 
    4442   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/tests/ISOMIP+/MY_SRC/tradmp.F90

    r12077 r12353  
    5151   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   resto    !: restoring coeff. on T and S (s-1) 
    5252 
    53    !! * Substitutions 
    54 #  include "vectopt_loop_substitute.h90" 
    5553   !!---------------------------------------------------------------------- 
    5654   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/tests/ISOMIP+/MY_SRC/usrdef_sbc.F90

    r12077 r12353  
    3232   PUBLIC   usrdef_sbc_ice_flx  ! routine called by icestp.F90 for ice thermo 
    3333 
    34    !! * Substitutions 
    35 #  include "vectopt_loop_substitute.h90" 
    3634   !!---------------------------------------------------------------------- 
    3735   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/tests/ISOMIP/MY_SRC/usrdef_sbc.F90

    r11949 r12353  
    3232   PUBLIC   usrdef_sbc_ice_flx  ! routine called by icestp.F90 for ice thermo 
    3333 
    34    !! * Substitutions 
    35 #  include "vectopt_loop_substitute.h90" 
    3634   !!---------------------------------------------------------------------- 
    3735   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/tests/ISOMIP/MY_SRC/usrdef_zgr.F90

    r10491 r12353  
    3030   PUBLIC   usr_def_zgr   ! called by domzgr.F90 
    3131 
    32   !! * Substitutions 
    33 #  include "vectopt_loop_substitute.h90" 
    3432   !!---------------------------------------------------------------------- 
    3533   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/tests/LOCK_EXCHANGE/MY_SRC/usrdef_sbc.F90

    r11949 r12353  
    3131   PUBLIC   usrdef_sbc_ice_flx  ! routine called by icestp.F90 for ice thermo 
    3232 
    33    !! * Substitutions 
    34 #  include "vectopt_loop_substitute.h90" 
    3533   !!---------------------------------------------------------------------- 
    3634   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/tests/LOCK_EXCHANGE/MY_SRC/usrdef_zgr.F90

    r10425 r12353  
    2727   PUBLIC   usr_def_zgr   ! called by domzgr.F90 
    2828 
    29   !! * Substitutions 
    30 #  include "vectopt_loop_substitute.h90" 
    3129   !!---------------------------------------------------------------------- 
    3230   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/tests/OVERFLOW/MY_SRC/usrdef_sbc.F90

    r11949 r12353  
    3131   PUBLIC   usrdef_sbc_ice_flx  ! routine called by icestp.F90 for ice thermo 
    3232 
    33    !! * Substitutions 
    34 #  include "vectopt_loop_substitute.h90" 
    3533   !!---------------------------------------------------------------------- 
    3634   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/tests/OVERFLOW/MY_SRC/usrdef_zgr.F90

    r11077 r12353  
    2929   PUBLIC   usr_def_zgr   ! called by domzgr.F90 
    3030 
    31   !! * Substitutions 
    32 #  include "vectopt_loop_substitute.h90" 
    3331   !!---------------------------------------------------------------------- 
    3432   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/tests/STATION_ASF/MY_SRC/diawri.F90

    r12249 r12353  
    5555   INTEGER, SAVE, ALLOCATABLE, DIMENSION(:) :: ndex_hT, ndex_hU, ndex_hV 
    5656 
    57    !! * Substitutions 
    58 #  include "vectopt_loop_substitute.h90" 
    5957   !!---------------------------------------------------------------------- 
    6058   !! NEMO/SAS 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/tests/VORTEX/MY_SRC/domvvl.F90

    r12150 r12353  
    6363   REAL(wp)        , ALLOCATABLE, SAVE, DIMENSION(:,:)   :: frq_rst_hdv                 ! retoring period for low freq. divergence 
    6464 
    65    !! * Substitutions 
    66 #  include "vectopt_loop_substitute.h90" 
    6765   !!---------------------------------------------------------------------- 
    6866   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
     
    415413         DO jk = 1, jpkm1        ! a - first derivative: diffusive fluxes 
    416414            DO jj = 1, jpjm1 
    417                DO ji = 1, fs_jpim1   ! vector opt. 
     415               DO ji = 1, jpim1   ! vector opt. 
    418416                  un_td(ji,jj,jk) = rn_ahe3 * umask(ji,jj,jk) * e2_e1u(ji,jj)           & 
    419417                     &            * ( tilde_e3t_b(ji,jj,jk) - tilde_e3t_b(ji+1,jj  ,jk) ) 
     
    433431         DO jk = 1, jpkm1        ! c - second derivative: divergence of diffusive fluxes 
    434432            DO jj = 2, jpjm1 
    435                DO ji = fs_2, fs_jpim1   ! vector opt. 
     433               DO ji = 2, jpim1   ! vector opt. 
    436434                  tilde_e3t_a(ji,jj,jk) = tilde_e3t_a(ji,jj,jk) + (   un_td(ji-1,jj  ,jk) - un_td(ji,jj,jk)    & 
    437435                     &                                          +     vn_td(ji  ,jj-1,jk) - vn_td(ji,jj,jk)    & 
     
    731729         DO jk = 1, jpk 
    732730            DO jj = 1, jpjm1 
    733                DO ji = 1, fs_jpim1   ! vector opt. 
     731               DO ji = 1, jpim1   ! vector opt. 
    734732                  pe3_out(ji,jj,jk) = 0.5_wp * (  umask(ji,jj,jk) * (1.0_wp - zlnwd) + zlnwd ) * r1_e1e2u(ji,jj)   & 
    735733                     &                       * (   e1e2t(ji  ,jj) * ( pe3_in(ji  ,jj,jk) - e3t_0(ji  ,jj,jk) )     & 
     
    744742         DO jk = 1, jpk 
    745743            DO jj = 1, jpjm1 
    746                DO ji = 1, fs_jpim1   ! vector opt. 
     744               DO ji = 1, jpim1   ! vector opt. 
    747745                  pe3_out(ji,jj,jk) = 0.5_wp * ( vmask(ji,jj,jk)  * (1.0_wp - zlnwd) + zlnwd ) * r1_e1e2v(ji,jj)   & 
    748746                     &                       * (   e1e2t(ji,jj  ) * ( pe3_in(ji,jj  ,jk) - e3t_0(ji,jj  ,jk) )     & 
     
    757755         DO jk = 1, jpk 
    758756            DO jj = 1, jpjm1 
    759                DO ji = 1, fs_jpim1   ! vector opt. 
     757               DO ji = 1, jpim1   ! vector opt. 
    760758                  pe3_out(ji,jj,jk) = 0.5_wp * (  umask(ji,jj,jk) * umask(ji,jj+1,jk) * (1.0_wp - zlnwd) + zlnwd ) & 
    761759                     &                       *    r1_e1e2f(ji,jj)                                                  & 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/tests/VORTEX/MY_SRC/usrdef_sbc.F90

    r11949 r12353  
    3030   PUBLIC   usrdef_sbc_ice_flx  ! routine called by icestp.F90 for ice thermo 
    3131 
    32    !! * Substitutions 
    33 #  include "vectopt_loop_substitute.h90" 
    3432   !!---------------------------------------------------------------------- 
    3533   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/tests/VORTEX/MY_SRC/usrdef_zgr.F90

    r10425 r12353  
    2929   PUBLIC   usr_def_zgr        ! called by domzgr.F90 
    3030 
    31   !! * Substitutions 
    32 #  include "vectopt_loop_substitute.h90" 
    3331   !!---------------------------------------------------------------------- 
    3432   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/tests/WAD/MY_SRC/usrdef_sbc.F90

    r11949 r12353  
    3131   PUBLIC   usrdef_sbc_ice_flx  ! routine called by icestp.F90 for ice thermo 
    3232 
    33    !! * Substitutions 
    34 #  include "vectopt_loop_substitute.h90" 
    3533   !!---------------------------------------------------------------------- 
    3634   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
  • NEMO/branches/2019/dev_r11943_MERGE_2019/tests/WAD/MY_SRC/usrdef_zgr.F90

    r10425 r12353  
    2929   PUBLIC   usr_def_zgr        ! called by domzgr.F90 
    3030 
    31    !! * Substitutions 
    32 #  include "vectopt_loop_substitute.h90" 
    3331   !!---------------------------------------------------------------------- 
    3432   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
Note: See TracChangeset for help on using the changeset viewer.