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 13295 for NEMO/trunk/src/TOP – NEMO

Changeset 13295 for NEMO/trunk/src/TOP


Ignore:
Timestamp:
2020-07-10T20:24:21+02:00 (4 years ago)
Author:
acc
Message:

Replace do-loop macros in the trunk with alternative forms with greater flexibility for extra halo applications. This alters a lot of routines but does not change any behaviour or results. do_loop_substitute.h90 is greatly simplified by this change. SETTE results are identical to those with the previous revision

Location:
NEMO/trunk/src/TOP
Files:
48 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/TOP/C14/trcatm_c14.F90

    r12489 r13295  
    120120            IF( ierr3 /= 0 )   CALL ctl_stop( 'STOP', 'trc_atm_c14_ini: unable to allocate fareaz' ) 
    121121      ! 
    122             DO_2D_11_11 
     122            DO_2D( 1, 1, 1, 1 ) 
    123123              IF( gphit(ji,jj) >= yn40 ) THEN 
    124124                 fareaz(ji,jj,1) = 0. 
  • NEMO/trunk/src/TOP/C14/trcsms_c14.F90

    r13237 r13295  
    8181      ! ------------------------------------------------------------------- 
    8282 
    83       DO_2D_11_11 
     83      DO_2D( 1, 1, 1, 1 ) 
    8484         IF( tmask(ji,jj,1) >  0. ) THEN 
    8585            ! 
     
    128128      ! 
    129129      ! Add the surface flux to the trend of jp_c14 
    130       DO_2D_11_11 
     130      DO_2D( 1, 1, 1, 1 ) 
    131131         tr(ji,jj,1,jp_c14,Krhs) = tr(ji,jj,1,jp_c14,Krhs) + qtr_c14(ji,jj) / e3t(ji,jj,1,Kmm)  
    132132      END_2D 
    133133      ! 
    134134      ! Computation of decay effects on jp_c14 
    135       DO_3D_11_11( 1, jpk ) 
     135      DO_3D( 1, 1, 1, 1, 1, jpk ) 
    136136         ! 
    137137         tr(ji,jj,jk,jp_c14,Krhs) = tr(ji,jj,jk,jp_c14,Krhs) - rlam14 * tr(ji,jj,jk,jp_c14,Kbb) * tmask(ji,jj,jk)  
  • NEMO/trunk/src/TOP/C14/trcwri_c14.F90

    r12377 r13295  
    6060         zz3d(:,:,:) = 0._wp 
    6161         ! 
    62          DO_3D_11_11( 1, jpkm1 ) 
     62         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    6363            IF( tmask(ji,jj,jk) > 0._wp) THEN 
    6464               z3d (ji,jj,jk) = tr(ji,jj,jk,jp_c14,Kmm) 
     
    7171         z2d(:,:) =0._wp 
    7272         jk = 1 
    73          DO_2D_11_11 
     73         DO_2D( 1, 1, 1, 1 ) 
    7474            ztemp = zres(ji,jj) / c14sbc(ji,jj) 
    7575            IF( ztemp > 0._wp .AND. tmask(ji,jj,jk) > 0._wp ) z2d(ji,jj) = LOG( ztemp ) 
  • NEMO/trunk/src/TOP/CFC/trcini_cfc.F90

    r12377 r13295  
    132132      !--------------------------------------------------------------------------------------- 
    133133      zyd = ylatn - ylats       
    134       DO_2D_11_11 
     134      DO_2D( 1, 1, 1, 1 ) 
    135135         IF(     gphit(ji,jj) >= ylatn ) THEN   ;   xphem(ji,jj) = 1.e0 
    136136         ELSEIF( gphit(ji,jj) <= ylats ) THEN   ;   xphem(ji,jj) = 0.e0 
  • NEMO/trunk/src/TOP/CFC/trcsms_cfc.F90

    r13286 r13295  
    126126          
    127127         !                                                         !------------! 
    128          DO_2D_11_11 
     128         DO_2D( 1, 1, 1, 1 ) 
    129129  
    130130            ! space interpolation 
  • NEMO/trunk/src/TOP/PISCES/P2Z/p2zbio.F90

    r13286 r13295  
    122122      DO jk = 1, jpkbm1                      !  Upper ocean (bio-layers)  ! 
    123123         !                                   ! -------------------------- ! 
    124          DO_2D_00_00 
     124         DO_2D( 0, 0, 0, 0 ) 
    125125            ! trophic variables( det, zoo, phy, no3, nh4, dom) 
    126126            ! ------------------------------------------------ 
     
    242242      DO jk = jpkb, jpkm1                    !  Upper ocean (bio-layers)  ! 
    243243         !                                   ! -------------------------- ! 
    244          DO_2D_00_00 
     244         DO_2D( 0, 0, 0, 0 ) 
    245245            ! remineralisation of all quantities towards nitrate  
    246246 
  • NEMO/trunk/src/TOP/PISCES/P2Z/p2zexp.F90

    r13286 r13295  
    8282      ! LAYERS IS DETERMINED BY DMIN3 DEFINED IN sms_p2z.F90 
    8383      ! ---------------------------------------------------------------------- 
    84       DO_3D_00_00( 1, jpkm1 ) 
     84      DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    8585         ze3t = 1. / e3t(ji,jj,jk,Kmm) 
    8686         tr(ji,jj,jk,jpno3,Krhs) = tr(ji,jj,jk,jpno3,Krhs) + ze3t * dmin3(ji,jj,jk) * xksi(ji,jj) 
     
    9393      zgeolpoc = 0.e0         !     Initialization 
    9494      ! Release of nutrients from the "simple" sediment 
    95       DO_2D_00_00 
     95      DO_2D( 0, 0, 0, 0 ) 
    9696         ikt = mbkt(ji,jj)  
    9797         tr(ji,jj,ikt,jpno3,Krhs) = tr(ji,jj,ikt,jpno3,Krhs) + sedlam * sedpocn(ji,jj) / e3t(ji,jj,ikt,Kmm)  
     
    103103      END_2D 
    104104 
    105       DO_2D_00_00 
     105      DO_2D( 0, 0, 0, 0 ) 
    106106         tr(ji,jj,1,jpno3,Krhs) = tr(ji,jj,1,jpno3,Krhs) + zgeolpoc * cmask(ji,jj) / areacot / e3t(ji,jj,1,Kmm) 
    107107      END_2D 
     
    121121      ELSE 
    122122        ! 
    123         DO_2D_11_11 
     123        DO_2D( 1, 1, 1, 1 ) 
    124124           zsedpocd = zsedpoca(ji,jj) - 2. * sedpocn(ji,jj) + sedpocb(ji,jj)      ! time laplacian on tracers 
    125125           sedpocb(ji,jj) = sedpocn(ji,jj) + rn_atfp * zsedpocd                     ! sedpocb <-- filtered sedpocn 
     
    174174      zdm0 = 0._wp 
    175175      zrro = 1._wp 
    176       DO_3D_11_11( jpkb, jpkm1 ) 
     176      DO_3D( 1, 1, 1, 1, jpkb, jpkm1 ) 
    177177         zfluo = ( gdepw(ji,jj,jk  ,Kmm) / gdepw(ji,jj,jpkb,Kmm) )**xhr 
    178178         zfluu = ( gdepw(ji,jj,jk+1,Kmm) / gdepw(ji,jj,jpkb,Kmm) )**xhr 
     
    191191      dminl(:,:)   = 0._wp 
    192192      dmin3(:,:,:) = zdm0 
    193       DO_3D_11_11( 1, jpk ) 
     193      DO_3D( 1, 1, 1, 1, 1, jpk ) 
    194194         IF( tmask(ji,jj,jk) == 0._wp ) THEN 
    195195            dminl(ji,jj) = dminl(ji,jj) + dmin3(ji,jj,jk) 
     
    198198      END_3D 
    199199 
    200       DO_2D_11_11 
     200      DO_2D( 1, 1, 1, 1 ) 
    201201         IF( tmask(ji,jj,1) == 0 )   dmin3(ji,jj,1) = 0._wp 
    202202      END_2D 
     
    204204      ! Coastal mask  
    205205      cmask(:,:) = 0._wp 
    206       DO_2D_00_00 
     206      DO_2D( 0, 0, 0, 0 ) 
    207207         IF( tmask(ji,jj,1) /= 0. ) THEN 
    208208            zmaskt = tmask(ji+1,jj,1) * tmask(ji-1,jj,1) * tmask(ji,jj+1,1) * tmask(ji,jj-1,1)  
  • NEMO/trunk/src/TOP/PISCES/P2Z/p2zopt.F90

    r13286 r13295  
    9595      !                                          ! Photosynthetically Available Radiation (PAR) 
    9696      zcoef = 12 * redf / rcchl / rpig           ! -------------------------------------- 
    97       DO_3D_11_11( 2, jpk ) 
     97      DO_3D( 1, 1, 1, 1, 2, jpk ) 
    9898         zpig = LOG(  MAX( TINY(0.), tr(ji,jj,jk-1,jpphy,Kmm) ) * zcoef  ) 
    9999         zkr  = xkr0 + xkrp * EXP( xlr * zpig ) 
     
    102102         zparg(ji,jj,jk) = zparg(ji,jj,jk-1) * EXP( -zkg * e3t(ji,jj,jk-1,Kmm) ) 
    103103      END_3D 
    104       DO_3D_11_11( 1, jpkm1 ) 
     104      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    105105         zpig = LOG(  MAX( TINY(0.), tr(ji,jj,jk,jpphy,Kmm) ) * zcoef  ) 
    106106         zkr  = xkr0 + xkrp * EXP( xlr * zpig ) 
     
    114114      !                                          ! -------------- 
    115115      neln(:,:) = 1                                   ! euphotic layer level 
    116       DO_3D_11_11( 1, jpkm1 ) 
     116      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    117117        IF( etot(ji,jj,jk) >= zpar100(ji,jj) )   neln(ji,jj) = jk + 1  
    118118      END_3D 
    119119      !                                               ! Euphotic layer depth 
    120       DO_2D_11_11 
     120      DO_2D( 1, 1, 1, 1 ) 
    121121         heup(ji,jj) = gdepw(ji,jj,neln(ji,jj),Kmm) 
    122122      END_2D 
  • NEMO/trunk/src/TOP/PISCES/P2Z/p2zsed.F90

    r13286 r13295  
    8989 
    9090      ! tracer flux divergence at t-point added to the general trend 
    91       DO_3D_11_11( 1, jpkm1 ) 
     91      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    9292         ztra(ji,jj,jk)  = - ( zwork(ji,jj,jk) - zwork(ji,jj,jk+1) ) / e3t(ji,jj,jk,Kmm) 
    9393         tr(ji,jj,jk,jpdet,Krhs) = tr(ji,jj,jk,jpdet,Krhs) + ztra(ji,jj,jk)  
  • NEMO/trunk/src/TOP/PISCES/P4Z/p4zagg.F90

    r13286 r13295  
    6060      IF( ln_p4z ) THEN 
    6161         ! 
    62          DO_3D_11_11( 1, jpkm1 ) 
     62         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    6363            ! 
    6464            zfact = xstep * xdiss(ji,jj,jk) 
     
    102102      ELSE    ! ln_p5z 
    103103        ! 
    104          DO_3D_11_11( 1, jpkm1 ) 
     104         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    105105            ! 
    106106            zfact = xstep * xdiss(ji,jj,jk) 
  • NEMO/trunk/src/TOP/PISCES/P4Z/p4zbc.F90

    r13286 r13295  
    112112      IF( ll_river ) THEN 
    113113          jl = n_trc_indcbc(jpno3) 
    114           DO_2D_11_11 
     114          DO_2D( 1, 1, 1, 1 ) 
    115115             DO jk = 1, nk_rnf(ji,jj) 
    116116                zcoef = rn_rfact / ( e1e2t(ji,jj) * h_rnf(ji,jj) * rn_cbc_time ) * tmask(ji,jj,1) 
     
    145145         ALLOCATE( zironice(jpi,jpj) ) 
    146146         ! 
    147          DO_2D_11_11 
     147         DO_2D( 1, 1, 1, 1 ) 
    148148            zdep    = rfact / e3t(ji,jj,1,Kmm) 
    149149            zwflux  = fmmflx(ji,jj) / 1000._wp 
     
    297297         IF(lwp) WRITE(numout,*) 
    298298         IF(lwp) WRITE(numout,*) ' Level corresponding to 50m depth ',  ik50,' ', gdept_1d(ik50+1) 
    299          DO_3D_00_00( 1, ik50 ) 
     299         DO_3D( 0, 0, 0, 0, 1, ik50 ) 
    300300            ze3t   = e3t_0(ji,jj,jk) 
    301301            zsurfc =  e1u(ji,jj) * ( 1. - umask(ji  ,jj  ,jk) )   & 
     
    313313         CALL lbc_lnk( 'p4zbc', zcmask , 'T', 1.0_wp )      ! lateral boundary conditions on cmask   (sign unchanged) 
    314314         ! 
    315          DO_3D_11_11( 1, jpk ) 
     315         DO_3D( 1, 1, 1, 1, 1, jpk ) 
    316316            zexpide   = MIN( 8.,( gdept(ji,jj,jk,Kmm) / 500. )**(-1.5) ) 
    317317            zdenitide = -0.9543 + 0.7662 * LOG( zexpide ) - 0.235 * LOG( zexpide )**2 
  • NEMO/trunk/src/TOP/PISCES/P4Z/p4zbio.F90

    r13286 r13295  
    7272      xdiss(:,:,:) = 1. 
    7373!!gm the use of nmld should be better here? 
    74       DO_3D_11_11( 2, jpkm1 ) 
     74      DO_3D( 1, 1, 1, 1, 2, jpkm1 ) 
    7575!!gm  :  use nmln  and test on jk ...  less memory acces 
    7676         IF( gdepw(ji,jj,jk+1,Kmm) > hmld(ji,jj) )   xdiss(ji,jj,jk) = 0.01 
  • NEMO/trunk/src/TOP/PISCES/P4Z/p4zche.F90

    r13237 r13295  
    179179      ! 0.04°C relative to an exact computation 
    180180      ! --------------------------------------------------------------------- 
    181       DO_3D_11_11( 1, jpk ) 
     181      DO_3D( 1, 1, 1, 1, 1, jpk ) 
    182182         zpres = gdept(ji,jj,jk,Kmm) / 1000. 
    183183         za1 = 0.04 * ( 1.0 + 0.185 * ts(ji,jj,jk,jp_tem,Kmm) + 0.035 * (salinprac(ji,jj,jk) - 35.0) ) 
     
    472472      IF( ln_timing )  CALL timing_start('ahini_for_at') 
    473473      ! 
    474       DO_3D_11_11( 1, jpk ) 
     474      DO_3D( 1, 1, 1, 1, 1, jpk ) 
    475475      p_alkcb  = tr(ji,jj,jk,jptal,Kbb) * 1000. / (rhop(ji,jj,jk) + rtrn) 
    476476      p_dictot = tr(ji,jj,jk,jpdic,Kbb) * 1000. / (rhop(ji,jj,jk) + rtrn) 
     
    570570 
    571571   ! TOTAL H+ scale: conversion factor for Htot = aphscale * Hfree 
    572    DO_3D_11_11( 1, jpk ) 
     572   DO_3D( 1, 1, 1, 1, 1, jpk ) 
    573573      IF (rmask(ji,jj,jk) == 1.) THEN 
    574574         p_alktot = tr(ji,jj,jk,jptal,Kbb) * 1000. / (rhop(ji,jj,jk) + rtrn) 
     
    599599 
    600600   DO jn = 1, jp_maxniter_atgen  
    601    DO_3D_11_11( 1, jpk ) 
     601   DO_3D( 1, 1, 1, 1, 1, jpk ) 
    602602      IF (rmask(ji,jj,jk) == 1.) THEN 
    603603         zfact = rhop(ji,jj,jk) / 1000. + rtrn 
  • NEMO/trunk/src/TOP/PISCES/P4Z/p4zfechem.F90

    r13286 r13295  
    9292      ! Chemistry is supposed to be fast enough to be at equilibrium 
    9393      ! ------------------------------------------------------------ 
    94       DO_3D_11_11( 1, jpkm1 ) 
     94      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    9595         zTL1(ji,jj,jk)  = ztotlig(ji,jj,jk) 
    9696         zkeq            = fekeq(ji,jj,jk) 
     
    107107 
    108108      zdust = 0.         ! if no dust available 
    109       DO_3D_11_11( 1, jpkm1 ) 
     109      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    110110         ! Scavenging rate of iron. This scavenging rate depends on the load of particles of sea water.  
    111111         ! This parameterization assumes a simple second order kinetics (k[Particles][Fe]). 
     
    177177      IF( ln_ligand ) THEN 
    178178         ! 
    179          DO_3D_11_11( 1, jpkm1 ) 
     179         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    180180            zlam1a   = ( 0.369  * 0.3 * tr(ji,jj,jk,jpdoc,Kbb) + 102.4  * tr(ji,jj,jk,jppoc,Kbb) ) * xdiss(ji,jj,jk)    & 
    181181                &    + ( 114.   * 0.3 * tr(ji,jj,jk,jpdoc,Kbb) ) 
  • NEMO/trunk/src/TOP/PISCES/P4Z/p4zflx.F90

    r13286 r13295  
    110110      IF( l_co2cpl )   satmco2(:,:) = atm_co2(:,:) 
    111111 
    112       DO_2D_11_11 
     112      DO_2D( 1, 1, 1, 1 ) 
    113113         ! DUMMY VARIABLES FOR DIC, H+, AND BORATE 
    114114         zfact = rhop(ji,jj,1) / 1000. + rtrn 
     
    126126      ! ------------------------------------------- 
    127127 
    128       DO_2D_11_11 
     128      DO_2D( 1, 1, 1, 1 ) 
    129129         ztc  = MIN( 35., ts(ji,jj,1,jp_tem,Kmm) ) 
    130130         ztc2 = ztc * ztc 
     
    145145 
    146146 
    147       DO_2D_11_11 
     147      DO_2D( 1, 1, 1, 1 ) 
    148148         ztkel = tempis(ji,jj,1) + 273.15 
    149149         zsal  = salinprac(ji,jj,1) + ( 1.- tmask(ji,jj,1) ) * 35. 
  • NEMO/trunk/src/TOP/PISCES/P4Z/p4zligand.F90

    r13286 r13295  
    5252      IF( ln_timing )   CALL timing_start('p4z_ligand') 
    5353      ! 
    54       DO_3D_11_11( 1, jpkm1 ) 
     54      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    5555         ! 
    5656         ! ------------------------------------------------------------------ 
  • NEMO/trunk/src/TOP/PISCES/P4Z/p4zlim.F90

    r12377 r13295  
    9898      IF( ln_timing )   CALL timing_start('p4z_lim') 
    9999      ! 
    100       DO_3D_11_11( 1, jpkm1 ) 
     100      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    101101          
    102102         ! Tuning of the iron concentration to a minimum level that is set to the detection limit 
     
    173173      ! Compute the fraction of nanophytoplankton that is made of calcifiers 
    174174      ! -------------------------------------------------------------------- 
    175       DO_3D_11_11( 1, jpkm1 ) 
     175      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    176176         zlim1 =  ( tr(ji,jj,jk,jpno3,Kbb) * concnnh4 + tr(ji,jj,jk,jpnh4,Kbb) * concnno3 )    & 
    177177            &   / ( concnno3 * concnnh4 + concnnh4 * tr(ji,jj,jk,jpno3,Kbb) + concnno3 * tr(ji,jj,jk,jpnh4,Kbb) )  
     
    193193      END_3D 
    194194      ! 
    195       DO_3D_11_11( 1, jpkm1 ) 
     195      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    196196         ! denitrification factor computed from O2 levels 
    197197         nitrfac(ji,jj,jk) = MAX(  0.e0, 0.4 * ( 6.e-6  - tr(ji,jj,jk,jpoxy,Kbb) )    & 
  • NEMO/trunk/src/TOP/PISCES/P4Z/p4zlys.F90

    r13286 r13295  
    7575      CALL solve_at_general( zhinit, zhi, Kbb ) 
    7676 
    77       DO_3D_11_11( 1, jpkm1 ) 
     77      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    7878         zco3(ji,jj,jk) = tr(ji,jj,jk,jpdic,Kbb) * ak13(ji,jj,jk) * ak23(ji,jj,jk) / (zhi(ji,jj,jk)**2   & 
    7979            &             + ak13(ji,jj,jk) * zhi(ji,jj,jk) + ak13(ji,jj,jk) * ak23(ji,jj,jk) + rtrn ) 
     
    8787      !     --------------------------------------------------------- 
    8888 
    89       DO_3D_11_11( 1, jpkm1 ) 
     89      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    9090 
    9191         ! DEVIATION OF [CO3--] FROM SATURATION VALUE 
  • NEMO/trunk/src/TOP/PISCES/P4Z/p4zmeso.F90

    r13286 r13295  
    8181      IF( ln_timing )   CALL timing_start('p4z_meso') 
    8282      ! 
    83       DO_3D_11_11( 1, jpkm1 ) 
     83      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    8484         zcompam   = MAX( ( tr(ji,jj,jk,jpmes,Kbb) - 1.e-9 ), 0.e0 ) 
    8585         zfact     = xstep * tgfunc2(ji,jj,jk) * zcompam 
  • NEMO/trunk/src/TOP/PISCES/P4Z/p4zmicro.F90

    r13286 r13295  
    7979      IF( ln_timing )   CALL timing_start('p4z_micro') 
    8080      ! 
    81       DO_3D_11_11( 1, jpkm1 ) 
     81      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    8282         zcompaz = MAX( ( tr(ji,jj,jk,jpzoo,Kbb) - 1.e-9 ), 0.e0 ) 
    8383         zfact   = xstep * tgfunc2(ji,jj,jk) * zcompaz 
  • NEMO/trunk/src/TOP/PISCES/P4Z/p4zmort.F90

    r13286 r13295  
    7777      ! 
    7878      prodcal(:,:,:) = 0._wp   ! calcite production variable set to zero 
    79       DO_3D_11_11( 1, jpkm1 ) 
     79      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    8080         zcompaph = MAX( ( tr(ji,jj,jk,jpphy,Kbb) - 1e-8 ), 0.e0 ) 
    8181         !     When highly limited by macronutrients, very small cells  
     
    152152      !     ------------------------------------------------------------ 
    153153 
    154       DO_3D_11_11( 1, jpkm1 ) 
     154      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    155155 
    156156         zcompadi = MAX( ( tr(ji,jj,jk,jpdia,Kbb) - 1e-9), 0. ) 
  • NEMO/trunk/src/TOP/PISCES/P4Z/p4zopt.F90

    r13286 r13295  
    8989      IF( ln_p5z )   zchl3d(:,:,:) = zchl3d(:,:,:)    + tr(:,:,:,jppch,Kbb) 
    9090      ! 
    91       DO_3D_11_11( 1, jpkm1 ) 
     91      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    9292         zchl = ( zchl3d(ji,jj,jk) + rtrn ) * 1.e6 
    9393         zchl = MIN(  10. , MAX( 0.05, zchl )  ) 
     
    160160      heup_01(:,:) = gdepw(:,:,2,Kmm) 
    161161 
    162       DO_3D_11_11( 2, nksrp ) 
     162      DO_3D( 1, 1, 1, 1, 2, nksrp ) 
    163163        IF( etot_ndcy(ji,jj,jk) * tmask(ji,jj,jk) >=  zqsr100(ji,jj) )  THEN 
    164164           neln(ji,jj) = jk+1                    ! Euphotic level : 1rst T-level strictly below Euphotic layer 
     
    178178      zetmp2 (:,:)   = 0.e0 
    179179 
    180       DO_3D_11_11( 1, nksrp ) 
     180      DO_3D( 1, 1, 1, 1, 1, nksrp ) 
    181181         IF( gdepw(ji,jj,jk+1,Kmm) <= hmld(ji,jj) ) THEN 
    182182            zetmp1 (ji,jj) = zetmp1 (ji,jj) + etot     (ji,jj,jk) * e3t(ji,jj,jk,Kmm) ! remineralisation 
     
    189189      zpar(:,:,:) = etot_ndcy(:,:,:)  ! diagnostic : PAR with no diurnal cycle  
    190190      ! 
    191       DO_3D_11_11( 1, nksrp ) 
     191      DO_3D( 1, 1, 1, 1, 1, nksrp ) 
    192192         IF( gdepw(ji,jj,jk+1,Kmm) <= hmld(ji,jj) ) THEN 
    193193            z1_dep = 1. / ( zdepmoy(ji,jj) + rtrn ) 
     
    201201      zetmp4 (:,:)   = 0.e0 
    202202      ! 
    203       DO_3D_11_11( 1, nksrp ) 
     203      DO_3D( 1, 1, 1, 1, 1, nksrp ) 
    204204         IF( gdepw(ji,jj,jk+1,Kmm) <= MIN(hmld(ji,jj), heup_01(ji,jj)) ) THEN 
    205205            zetmp3 (ji,jj) = zetmp3 (ji,jj) + enano    (ji,jj,jk) * e3t(ji,jj,jk,Kmm) ! production 
     
    211211      ediatm(:,:,:) = ediat(:,:,:) 
    212212      ! 
    213       DO_3D_11_11( 1, nksrp ) 
     213      DO_3D( 1, 1, 1, 1, 1, nksrp ) 
    214214         IF( gdepw(ji,jj,jk+1,Kmm) <= hmld(ji,jj) ) THEN 
    215215            z1_dep = 1. / ( zdepmoy(ji,jj) + rtrn ) 
     
    221221      IF( ln_p5z ) THEN 
    222222         ALLOCATE( zetmp5(jpi,jpj) )  ;   zetmp5 (:,:) = 0.e0 
    223          DO_3D_11_11( 1, nksrp ) 
     223         DO_3D( 1, 1, 1, 1, 1, nksrp ) 
    224224            IF( gdepw(ji,jj,jk+1,Kmm) <= MIN(hmld(ji,jj), heup_01(ji,jj)) ) THEN 
    225225               zetmp5(ji,jj)  = zetmp5 (ji,jj) + epico(ji,jj,jk) * e3t(ji,jj,jk,Kmm) ! production 
     
    229229         epicom(:,:,:) = epico(:,:,:) 
    230230         ! 
    231          DO_3D_11_11( 1, nksrp ) 
     231         DO_3D( 1, 1, 1, 1, 1, nksrp ) 
    232232            IF( gdepw(ji,jj,jk+1,Kmm) <= hmld(ji,jj) ) THEN 
    233233               z1_dep = 1. / ( zdepmoy(ji,jj) + rtrn ) 
     
    302302        pe3(:,:,1) = zqsr(:,:) * EXP( -0.5 * ekr(:,:,1) ) 
    303303        ! 
    304         DO_3D_11_11( 2, nksrp ) 
     304        DO_3D( 1, 1, 1, 1, 2, nksrp ) 
    305305           pe1(ji,jj,jk) = pe1(ji,jj,jk-1) * EXP( -0.5 * ( ekb(ji,jj,jk-1) + ekb(ji,jj,jk) ) ) 
    306306           pe2(ji,jj,jk) = pe2(ji,jj,jk-1) * EXP( -0.5 * ( ekg(ji,jj,jk-1) + ekg(ji,jj,jk) ) ) 
  • NEMO/trunk/src/TOP/PISCES/P4Z/p4zpoc.F90

    r13286 r13295  
    107107     ! ----------------------------------------------------------------------- 
    108108     ztremint(:,:,:) = zremigoc(:,:,:) 
    109      DO_3D_11_11( 2, jpkm1 ) 
     109     DO_3D( 1, 1, 1, 1, 2, jpkm1 ) 
    110110        IF (tmask(ji,jj,jk) == 1.) THEN 
    111111          zdep = hmld(ji,jj) 
     
    192192 
    193193      IF( ln_p4z ) THEN 
    194          DO_3D_11_11( 1, jpkm1 ) 
     194         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    195195            ! POC disaggregation by turbulence and bacterial activity.  
    196196            ! -------------------------------------------------------- 
     
    212212         END_3D 
    213213      ELSE 
    214          DO_3D_11_11( 1, jpkm1 ) 
     214         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    215215             ! POC disaggregation by turbulence and bacterial activity.  
    216216            ! -------------------------------------------------------- 
     
    260260     ! ---------------------------------------------------------------- 
    261261     !  
    262      DO_3D_11_11( 1, jpkm1 ) 
     262     DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    263263        zdep = hmld(ji,jj) 
    264264        IF (tmask(ji,jj,jk) == 1. .AND. gdept(ji,jj,jk,Kmm) <= zdep ) THEN 
     
    275275     ! --------------------------------------------------------------------- 
    276276     ztremint(:,:,:) = zremipoc(:,:,:) 
    277      DO_3D_11_11( 1, jpkm1 ) 
     277     DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    278278        IF (tmask(ji,jj,jk) == 1.) THEN 
    279279          zdep = hmld(ji,jj) 
     
    310310     ! ----------------------------------------------------------------------- 
    311311     ! 
    312      DO_3D_11_11( 2, jpkm1 ) 
     312     DO_3D( 1, 1, 1, 1, 2, jpkm1 ) 
    313313        IF (tmask(ji,jj,jk) == 1.) THEN 
    314314          zdep = hmld(ji,jj) 
     
    384384 
    385385     IF( ln_p4z ) THEN 
    386          DO_3D_11_11( 1, jpkm1 ) 
     386         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    387387            IF (tmask(ji,jj,jk) == 1.) THEN 
    388388              ! POC disaggregation by turbulence and bacterial activity.  
     
    401401         END_3D 
    402402     ELSE 
    403        DO_3D_11_11( 1, jpkm1 ) 
     403       DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    404404          ! POC disaggregation by turbulence and bacterial activity.  
    405405          ! -------------------------------------------------------- 
  • NEMO/trunk/src/TOP/PISCES/P4Z/p4zprod.F90

    r13286 r13295  
    110110      ! day length in hours 
    111111      zstrn(:,:) = 0. 
    112       DO_2D_11_11 
     112      DO_2D( 1, 1, 1, 1 ) 
    113113         zargu = TAN( zcodel ) * TAN( gphit(ji,jj) * rad ) 
    114114         zargu = MAX( -1., MIN(  1., zargu ) ) 
     
    117117 
    118118      ! Impact of the day duration and light intermittency on phytoplankton growth 
    119       DO_3D_11_11( 1, jpkm1 ) 
     119      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    120120         IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
    121121            zval = MAX( 1., zstrn(ji,jj) ) 
     
    135135 
    136136      ! Computation of the P-I slope for nanos and diatoms 
    137       DO_3D_11_11( 1, jpkm1 ) 
     137      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    138138         IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
    139139            ztn         = MAX( 0., ts(ji,jj,jk,jp_tem,Kmm) - 15. ) 
     
    150150      END_3D 
    151151 
    152       DO_3D_11_11( 1, jpkm1 ) 
     152      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    153153         IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
    154154             ! Computation of production function for Carbon 
     
    171171      !  Computation of a proxy of the N/C ratio 
    172172      !  --------------------------------------- 
    173       DO_3D_11_11( 1, jpkm1 ) 
     173      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    174174          zval = MIN( xnanopo4(ji,jj,jk), ( xnanonh4(ji,jj,jk) + xnanono3(ji,jj,jk) ) )   & 
    175175          &      * zprmaxn(ji,jj,jk) / ( zprbio(ji,jj,jk) + rtrn ) 
     
    181181 
    182182 
    183       DO_3D_11_11( 1, jpkm1 ) 
     183      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    184184 
    185185          IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
     
    205205      !  Sea-ice effect on production 
    206206 
    207       DO_3D_11_11( 1, jpkm1 ) 
     207      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    208208         zprbio(ji,jj,jk) = zprbio(ji,jj,jk) * ( 1. - fr_i(ji,jj) ) 
    209209         zprdia(ji,jj,jk) = zprdia(ji,jj,jk) * ( 1. - fr_i(ji,jj) ) 
     
    211211 
    212212      ! Computation of the various production terms  
    213       DO_3D_11_11( 1, jpkm1 ) 
     213      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    214214         IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
    215215            !  production terms for nanophyto. (C) 
     
    237237 
    238238      ! Computation of the chlorophyll production terms 
    239       DO_3D_11_11( 1, jpkm1 ) 
     239      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    240240         IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
    241241            !  production terms for nanophyto. ( chlorophyll ) 
     
    260260 
    261261      !   Update the arrays TRA which contain the biological sources and sinks 
    262       DO_3D_11_11( 1, jpkm1 ) 
     262      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    263263        IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
    264264           zproreg  = zprorcan(ji,jj,jk) - zpronewn(ji,jj,jk) 
     
    288288     IF( ln_ligand ) THEN 
    289289         zpligprod1(:,:,:) = 0._wp    ;    zpligprod2(:,:,:) = 0._wp 
    290          DO_3D_11_11( 1, jpkm1 ) 
     290         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    291291           IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
    292292              zdocprod = excretd * zprorcad(ji,jj,jk) + excretn * zprorcan(ji,jj,jk) 
  • NEMO/trunk/src/TOP/PISCES/P4Z/p4zrem.F90

    r13286 r13295  
    8989      ! that was modeling explicitely bacteria 
    9090      ! ------------------------------------------------------- 
    91       DO_3D_11_11( 1, jpkm1 ) 
     91      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    9292         zdep = MAX( hmld(ji,jj), heup(ji,jj) ) 
    9393         IF( gdept(ji,jj,jk,Kmm) < zdep ) THEN 
     
    103103 
    104104      IF( ln_p4z ) THEN 
    105          DO_3D_11_11( 1, jpkm1 ) 
     105         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    106106            ! DOC ammonification. Depends on depth, phytoplankton biomass 
    107107            ! and a limitation term which is supposed to be a parameterization of the bacterial activity.  
     
    134134         END_3D 
    135135      ELSE 
    136          DO_3D_11_11( 1, jpkm1 ) 
     136         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    137137            ! DOC ammonification. Depends on depth, phytoplankton biomass 
    138138            ! and a limitation term which is supposed to be a parameterization of the bacterial activity.  
     
    178178 
    179179 
    180       DO_3D_11_11( 1, jpkm1 ) 
     180      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    181181         ! NH4 nitrification to NO3. Ceased for oxygen concentrations 
    182182         ! below 2 umol/L. Inhibited at strong light  
     
    200200       ENDIF 
    201201 
    202       DO_3D_11_11( 1, jpkm1 ) 
     202      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    203203 
    204204         ! Bacterial uptake of iron. No iron is available in DOC. So 
     
    226226      ! --------------------------------------------------------------- 
    227227 
    228       DO_3D_11_11( 1, jpkm1 ) 
     228      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    229229         zdep     = MAX( hmld(ji,jj), heup_01(ji,jj) ) 
    230230         zsatur   = MAX( rtrn, ( sio3eq(ji,jj,jk) - tr(ji,jj,jk,jpsil,Kbb) ) / ( sio3eq(ji,jj,jk) + rtrn ) ) 
  • NEMO/trunk/src/TOP/PISCES/P4Z/p4zsed.F90

    r13286 r13295  
    9494         ! OA: Warning, the following part is necessary to avoid CFL problems above the sediments 
    9595         ! -------------------------------------------------------------------- 
    96          DO_2D_11_11 
     96         DO_2D( 1, 1, 1, 1 ) 
    9797            ikt  = mbkt(ji,jj) 
    9898            zdep = e3t(ji,jj,ikt,Kmm) / xstep 
     
    104104         ! Computation of the fraction of organic matter that is permanently buried from Dunne's model 
    105105         ! ------------------------------------------------------- 
    106          DO_2D_11_11 
     106         DO_2D( 1, 1, 1, 1 ) 
    107107           IF( tmask(ji,jj,1) == 1 ) THEN 
    108108              ikt = mbkt(ji,jj) 
     
    130130      IF( .NOT.lk_sed )  zrivsil = 1._wp - sedsilfrac 
    131131 
    132       DO_2D_11_11 
     132      DO_2D( 1, 1, 1, 1 ) 
    133133         ikt  = mbkt(ji,jj) 
    134134         zdep = xstep / e3t(ji,jj,ikt,Kmm)  
     
    142142      ! 
    143143      IF( .NOT.lk_sed ) THEN 
    144          DO_2D_11_11 
     144         DO_2D( 1, 1, 1, 1 ) 
    145145            ikt  = mbkt(ji,jj) 
    146146            zdep = xstep / e3t(ji,jj,ikt,Kmm)  
     
    160160      ENDIF 
    161161      ! 
    162       DO_2D_11_11 
     162      DO_2D( 1, 1, 1, 1 ) 
    163163         ikt  = mbkt(ji,jj) 
    164164         zdep = xstep / e3t(ji,jj,ikt,Kmm)  
     
    172172      ! 
    173173      IF( ln_p5z ) THEN 
    174          DO_2D_11_11 
     174         DO_2D( 1, 1, 1, 1 ) 
    175175            ikt  = mbkt(ji,jj) 
    176176            zdep = xstep / e3t(ji,jj,ikt,Kmm)  
     
    187187         ! The 0.5 factor in zpdenit is to avoid negative NO3 concentration after 
    188188         ! denitrification in the sediments. Not very clever, but simpliest option. 
    189          DO_2D_11_11 
     189         DO_2D( 1, 1, 1, 1 ) 
    190190            ikt  = mbkt(ji,jj) 
    191191            zdep = xstep / e3t(ji,jj,ikt,Kmm)  
     
    224224      ENDDO 
    225225      IF( ln_p4z ) THEN 
    226          DO_3D_11_11( 1, jpkm1 ) 
     226         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    227227            !                      ! Potential nitrogen fixation dependant on temperature and iron 
    228228            ztemp = ts(ji,jj,jk,jp_tem,Kmm) 
     
    240240         END_3D 
    241241      ELSE       ! p5z 
    242          DO_3D_11_11( 1, jpkm1 ) 
     242         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    243243            !                      ! Potential nitrogen fixation dependant on temperature and iron 
    244244            ztemp = ts(ji,jj,jk,jp_tem,Kmm) 
     
    261261      ! ---------------------------------------- 
    262262      IF( ln_p4z ) THEN 
    263          DO_3D_11_11( 1, jpkm1 ) 
     263         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    264264            zfact = nitrpot(ji,jj,jk) * nitrfix 
    265265            tr(ji,jj,jk,jpnh4,Krhs) = tr(ji,jj,jk,jpnh4,Krhs) + zfact / 3.0 
     
    278278         END_3D 
    279279      ELSE    ! p5z 
    280          DO_3D_11_11( 1, jpkm1 ) 
     280         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    281281            zfact = nitrpot(ji,jj,jk) * nitrfix 
    282282            tr(ji,jj,jk,jpnh4,Krhs) = tr(ji,jj,jk,jpnh4,Krhs) + zfact / 3.0 
  • NEMO/trunk/src/TOP/PISCES/P4Z/p4zsink.F90

    r13286 r13295  
    8181      !    by data and from the coagulation theory 
    8282      !    ----------------------------------------------------------- 
    83       DO_3D_11_11( 1, jpkm1 ) 
     83      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    8484         zmax  = MAX( heup_01(ji,jj), hmld(ji,jj) ) 
    8585         zfact = MAX( 0., gdepw(ji,jj,jk+1,Kmm) - zmax ) / wsbio2scale 
  • NEMO/trunk/src/TOP/PISCES/P4Z/p4zsms.F90

    r13286 r13295  
    133133         xnegtr(:,:,:) = 1.e0 
    134134         DO jn = jp_pcs0, jp_pcs1 
    135             DO_3D_11_11( 1, jpk ) 
     135            DO_3D( 1, 1, 1, 1, 1, jpk ) 
    136136               IF( ( tr(ji,jj,jk,jn,Kbb) + tr(ji,jj,jk,jn,Krhs) ) < 0.e0 ) THEN 
    137137                  ztra             = ABS( tr(ji,jj,jk,jn,Kbb) ) / ( ABS( tr(ji,jj,jk,jn,Krhs) ) + rtrn ) 
  • NEMO/trunk/src/TOP/PISCES/P4Z/p5zlim.F90

    r12377 r13295  
    131131      zratchl = 6.0 
    132132      ! 
    133       DO_3D_11_11( 1, jpkm1 ) 
     133      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    134134         !  
    135135         ! Tuning of the iron concentration to a minimum level that is set to the detection limit 
     
    318318      ! phytoplankton (see Daines et al., 2013).  
    319319      ! -------------------------------------------------------------------------------------------------- 
    320       DO_3D_11_11( 1, jpkm1 ) 
     320      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    321321         ! Size estimation of nanophytoplankton 
    322322         ! ------------------------------------ 
     
    367367      ! Compute the fraction of nanophytoplankton that is made of calcifiers 
    368368      ! -------------------------------------------------------------------- 
    369       DO_3D_11_11( 1, jpkm1 ) 
     369      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    370370         zlim1 =  tr(ji,jj,jk,jpnh4,Kbb) / ( tr(ji,jj,jk,jpnh4,Kbb) + concnnh4 ) + tr(ji,jj,jk,jpno3,Kbb)    & 
    371371         &        / ( tr(ji,jj,jk,jpno3,Kbb) + concnno3 ) * ( 1.0 - tr(ji,jj,jk,jpnh4,Kbb)   & 
     
    385385      END_3D 
    386386      ! 
    387       DO_3D_11_11( 1, jpkm1 ) 
     387      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    388388         ! denitrification factor computed from O2 levels 
    389389         nitrfac(ji,jj,jk) = MAX(  0.e0, 0.4 * ( 6.e-6  - tr(ji,jj,jk,jpoxy,Kbb) )    & 
  • NEMO/trunk/src/TOP/PISCES/P4Z/p5zmeso.F90

    r13286 r13295  
    9898      IF ( bmetexc2 ) zmetexcess = 1.0 
    9999 
    100       DO_3D_11_11( 1, jpkm1 ) 
     100      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    101101         zcompam   = MAX( ( tr(ji,jj,jk,jpmes,Kbb) - 1.e-9 ), 0.e0 ) 
    102102         zfact     = xstep * tgfunc2(ji,jj,jk) * zcompam 
  • NEMO/trunk/src/TOP/PISCES/P4Z/p5zmicro.F90

    r13286 r13295  
    9696      IF ( bmetexc ) zmetexcess = 1.0 
    9797      ! 
    98       DO_3D_11_11( 1, jpkm1 ) 
     98      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    9999         zcompaz = MAX( ( tr(ji,jj,jk,jpzoo,Kbb) - 1.e-9 ), 0.e0 ) 
    100100         zfact   = xstep * tgfunc2(ji,jj,jk) * zcompaz 
  • NEMO/trunk/src/TOP/PISCES/P4Z/p5zmort.F90

    r13286 r13295  
    8282      ! 
    8383      prodcal(:,:,:) = 0.  !: calcite production variable set to zero 
    84       DO_3D_11_11( 1, jpkm1 ) 
     84      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    8585         zcompaph = MAX( ( tr(ji,jj,jk,jpphy,Kbb) - 1e-9 ), 0.e0 ) 
    8686         !   Squared mortality of Phyto similar to a sedimentation term during 
     
    148148      IF( ln_timing )   CALL timing_start('p5z_pico') 
    149149      ! 
    150       DO_3D_11_11( 1, jpkm1 ) 
     150      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    151151         zcompaph = MAX( ( tr(ji,jj,jk,jppic,Kbb) - 1e-9 ), 0.e0 ) 
    152152         !  Squared mortality of Phyto similar to a sedimentation term during 
     
    207207      ! 
    208208 
    209       DO_3D_11_11( 1, jpkm1 ) 
     209      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    210210 
    211211         zcompadi = MAX( ( tr(ji,jj,jk,jpdia,Kbb) - 1E-9), 0. ) 
  • NEMO/trunk/src/TOP/PISCES/P4Z/p5zprod.F90

    r13286 r13295  
    125125      ! day length in hours 
    126126      zstrn(:,:) = 0. 
    127       DO_2D_11_11 
     127      DO_2D( 1, 1, 1, 1 ) 
    128128         zargu = TAN( zcodel ) * TAN( gphit(ji,jj) * rad ) 
    129129         zargu = MAX( -1., MIN(  1., zargu ) ) 
     
    132132 
    133133         ! Impact of the day duration on phytoplankton growth 
    134       DO_3D_11_11( 1, jpkm1 ) 
     134      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    135135         IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
    136136            zval = MAX( 1., zstrn(ji,jj) ) 
     
    152152      WHERE( zstrn(:,:) < 1.e0 ) zstrn(:,:) = 24. 
    153153 
    154       DO_3D_11_11( 1, jpkm1 ) 
     154      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    155155         IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
    156156            ! Computation of the P-I slope for nanos and diatoms 
     
    186186      END_3D 
    187187 
    188       DO_3D_11_11( 1, jpkm1 ) 
     188      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    189189 
    190190          IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
     
    208208 
    209209      !  Sea-ice effect on production                                                                                
    210       DO_3D_11_11( 1, jpkm1 ) 
     210      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    211211         zprbio(ji,jj,jk)  = zprbio(ji,jj,jk) * ( 1. - fr_i(ji,jj) ) 
    212212         zprpic(ji,jj,jk)  = zprpic(ji,jj,jk) * ( 1. - fr_i(ji,jj) )  
     
    216216 
    217217      ! Computation of the various production terms of nanophytoplankton  
    218       DO_3D_11_11( 1, jpkm1 ) 
     218      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    219219         IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
    220220            !  production terms for nanophyto. 
     
    249249 
    250250      ! Computation of the various production terms of picophytoplankton  
    251       DO_3D_11_11( 1, jpkm1 ) 
     251      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    252252         IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
    253253            !  production terms for picophyto. 
     
    282282 
    283283      ! Computation of the various production terms of diatoms 
    284       DO_3D_11_11( 1, jpkm1 ) 
     284      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    285285         IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
    286286            !  production terms for diatomees 
     
    316316      END_3D 
    317317 
    318       DO_3D_11_11( 1, jpkm1 ) 
     318      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    319319         IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
    320320               !  production terms for nanophyto. ( chlorophyll ) 
     
    347347 
    348348      !   Update the arrays TRA which contain the biological sources and sinks 
    349       DO_3D_11_11( 1, jpkm1 ) 
     349      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    350350        zprontot = zpronewn(ji,jj,jk) + zproregn(ji,jj,jk) 
    351351        zproptot = zpronewp(ji,jj,jk) + zproregp(ji,jj,jk) 
     
    410410     IF( ln_ligand ) THEN 
    411411         zpligprod1(:,:,:) = 0._wp    ;    zpligprod2(:,:,:) = 0._wp              
    412          DO_3D_11_11( 1, jpkm1 ) 
     412         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    413413           zdocprod = excretd * zprorcad(ji,jj,jk) + excretn * zprorcan(ji,jj,jk) + excretp * zprorcap(ji,jj,jk) 
    414414           zfeup    = texcretn * zprofen(ji,jj,jk) + texcretd * zprofed(ji,jj,jk) + texcretp * zprofep(ji,jj,jk) 
  • NEMO/trunk/src/TOP/PISCES/SED/sedchem.F90

    r12839 r13295  
    138138         CALL sed_chem_cst 
    139139      ELSE 
    140          DO_2D_11_11 
     140         DO_2D( 1, 1, 1, 1 ) 
    141141            ikt = mbkt(ji,jj)  
    142142            IF ( tmask(ji,jj,ikt) == 1 ) THEN 
  • NEMO/trunk/src/TOP/PISCES/SED/seddta.F90

    r13237 r13295  
    9696      !    ----------------------------------------------------------- 
    9797      IF (ln_sediment_offline) THEN 
    98          DO_2D_11_11 
     98         DO_2D( 1, 1, 1, 1 ) 
    9999            ikt = mbkt(ji,jj) 
    100100            zwsbio4(ji,jj) = wsbio2 / rday 
     
    102102         END_2D 
    103103      ELSE 
    104          DO_2D_11_11 
     104         DO_2D( 1, 1, 1, 1 ) 
    105105            ikt = mbkt(ji,jj) 
    106106            zdep = e3t(ji,jj,ikt,Kmm) / rDt_trc 
     
    111111 
    112112      trc_data(:,:,:) = 0. 
    113       DO_2D_11_11 
     113      DO_2D( 1, 1, 1, 1 ) 
    114114         ikt = mbkt(ji,jj) 
    115115         IF ( tmask(ji,jj,ikt) == 1 ) THEN 
  • NEMO/trunk/src/TOP/PISCES/SED/sedini.F90

    r12489 r13295  
    135135      ! Determination of sediments number of points and allocate global variables 
    136136      epkbot(:,:) = 0. 
    137       DO_2D_11_11 
     137      DO_2D( 1, 1, 1, 1 ) 
    138138         ikt = mbkt(ji,jj)  
    139139         IF( tmask(ji,jj,ikt) == 1 ) epkbot(ji,jj) = e3t_1d(ikt) 
     
    247247      ! Computation of 1D array of sediments points 
    248248      indoce = 0 
    249       DO_2D_11_11 
     249      DO_2D( 1, 1, 1, 1 ) 
    250250         IF (  epkbot(ji,jj) > 0. ) THEN 
    251251            indoce          = indoce + 1 
  • NEMO/trunk/src/TOP/PISCES/SED/sedsfc.F90

    r12377 r13295  
    4848 
    4949 
    50       DO_2D_11_11 
     50      DO_2D( 1, 1, 1, 1 ) 
    5151         ikt = mbkt(ji,jj) 
    5252         IF ( tmask(ji,jj,ikt) == 1 ) THEN 
  • NEMO/trunk/src/TOP/PISCES/SED/trcdmp_sed.F90

    r13286 r13295  
    9393               CALL trc_dta( kt, Kmm, sf_trcdta(jl), rf_trfac(jl), ztrcdta )   ! read tracer data at nit000 
    9494               ! 
    95                DO_2D_11_11 
     95               DO_2D( 1, 1, 1, 1 ) 
    9696                  ikt = mbkt(ji,jj) 
    9797                  tr(ji,jj,ikt,jn,Kbb) = ztrcdta(ji,jj,ikt) + ( tr(ji,jj,ikt,jn,Kbb) -  ztrcdta(ji,jj,ikt) )     & 
  • NEMO/trunk/src/TOP/PISCES/trcwri_pisces.F90

    r13237 r13295  
    6969            zo2min   (:,:) = tr(:,:,1,jpoxy,Kmm) * tmask(:,:,1) 
    7070            zdepo2min(:,:) = gdepw(:,:,1,Kmm)   * tmask(:,:,1) 
    71             DO_3D_11_11( 2, jpkm1 ) 
     71            DO_3D( 1, 1, 1, 1, 2, jpkm1 ) 
    7272               IF( tmask(ji,jj,jk) == 1 ) then 
    7373                  IF( tr(ji,jj,jk,jpoxy,Kmm) < zo2min(ji,jj) ) then 
  • NEMO/trunk/src/TOP/TRP/trcatf.F90

    r13286 r13295  
    239239      ! 
    240240      DO jn = 1, jptra       
    241          DO_3D_11_11( 1, jpkm1 ) 
     241         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    242242            ze3t_b = e3t(ji,jj,jk,Kbb) 
    243243            ze3t_n = e3t(ji,jj,jk,Kmm) 
     
    314314      ! 
    315315      DO jn = 1, jptra       
    316          DO_3D_11_11( 1, jpkm1 ) 
     316         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    317317            ze3t_b = 1._wp + r3t(ji,jj,Kbb) * tmask(ji,jj,jk) 
    318318            ze3t_n = 1._wp + r3t(ji,jj,Kmm) * tmask(ji,jj,jk) 
  • NEMO/trunk/src/TOP/TRP/trcdmp.F90

    r13286 r13295  
    113113               ! 
    114114               CASE( 0 )                !==  newtonian damping throughout the water column  ==! 
    115                   DO_3D_00_00( 1, jpkm1 ) 
     115                  DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    116116                     ptr(ji,jj,jk,jn,Krhs) = ptr(ji,jj,jk,jn,Krhs) + restotr(ji,jj,jk) * ( ztrcdta(ji,jj,jk) - ptr(ji,jj,jk,jn,Kbb) ) 
    117117                  END_3D 
    118118                  ! 
    119119               CASE ( 1 )                !==  no damping in the turbocline (avt > 5 cm2/s)  ==! 
    120                   DO_3D_00_00( 1, jpkm1 ) 
     120                  DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    121121                     IF( avt(ji,jj,jk) <= avt_c )  THEN  
    122122                        ptr(ji,jj,jk,jn,Krhs) = ptr(ji,jj,jk,jn,Krhs) + restotr(ji,jj,jk) * ( ztrcdta(ji,jj,jk) - ptr(ji,jj,jk,jn,Kbb) ) 
     
    125125                  ! 
    126126               CASE ( 2 )               !==  no damping in the mixed layer   ==!  
    127                   DO_3D_00_00( 1, jpkm1 ) 
     127                  DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    128128                     IF( gdept(ji,jj,jk,Kmm) >= hmlp (ji,jj) ) THEN 
    129129                        ptr(ji,jj,jk,jn,Krhs) = ptr(ji,jj,jk,jn,Krhs) + restotr(ji,jj,jk) * ( ztrcdta(ji,jj,jk) - ptr(ji,jj,jk,jn,Kbb) ) 
  • NEMO/trunk/src/TOP/TRP/trcldf.F90

    r13286 r13295  
    8282      zahv(:,:,:) = rldf * ahtv(:,:,:) 
    8383      !                                  !* Enhanced zonal diffusivity coefficent in the equatorial domain 
    84       DO_3D_11_11( 1, jpk ) 
     84      DO_3D( 1, 1, 1, 1, 1, jpk ) 
    8585         IF( gdept(ji,jj,jk,Kmm) > 200. .AND. gphit(ji,jj) < 5. .AND. gphit(ji,jj) > -5. ) THEN 
    8686            zdep = MAX( gdept(ji,jj,jk,Kmm) - 1000., 0. ) / 1000. 
  • NEMO/trunk/src/TOP/TRP/trcrad.F90

    r13286 r13295  
    168168              IF( l_trdtrc )   ztrtrd(:,:,:) = ptr(:,:,:,jn,itime)                       ! save input tr(:,:,:,:,Kbb) for trend computation            
    169169              ! 
    170               DO_3D_11_11( 1, jpkm1 ) 
     170              DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    171171                 IF( ztrneg(ji,jj,jn) /= 0. ) THEN                                 ! if negative values over the 3x3 box 
    172172                    ! 
  • NEMO/trunk/src/TOP/TRP/trcsbc.F90

    r13286 r13295  
    121121         ! 
    122122         DO jn = 1, jptra 
    123             DO_2D_01_00 
     123            DO_2D( 0, 1, 0, 0 ) 
    124124               sbc_trc(ji,jj,jn) = zsfx(ji,jj) * r1_rho0 * ptr(ji,jj,1,jn,Kmm) 
    125125            END_2D 
     
    129129         ! 
    130130         DO jn = 1, jptra 
    131             DO_2D_01_00 
     131            DO_2D( 0, 1, 0, 0 ) 
    132132               sbc_trc(ji,jj,jn) = ( zsfx(ji,jj) + fmmflx(ji,jj) ) * r1_rho0 * ptr(ji,jj,1,jn,Kmm) 
    133133            END_2D 
     
    137137         ! 
    138138         DO jn = 1, jptra 
    139             DO_2D_01_00 
     139            DO_2D( 0, 1, 0, 0 ) 
    140140               zse3t = 1. / e3t(ji,jj,1,Kmm) 
    141141               ! tracer flux at the ice/ocean interface (tracer/m2/s) 
     
    161161         IF( l_trdtrc )   ztrtrd(:,:,:) = ptr(:,:,:,jn,Krhs)  ! save trends 
    162162         ! 
    163          DO_2D_01_00 
     163         DO_2D( 0, 1, 0, 0 ) 
    164164            zse3t = zfact / e3t(ji,jj,1,Kmm) 
    165165            ptr(ji,jj,1,jn,Krhs) = ptr(ji,jj,1,jn,Krhs) + ( sbc_trc_b(ji,jj,jn) + sbc_trc(ji,jj,jn) ) * zse3t 
  • NEMO/trunk/src/TOP/TRP/trcsink.F90

    r13237 r13295  
    7474         iiter(:,:) = 1 
    7575      ELSE 
    76          DO_2D_11_11 
     76         DO_2D( 1, 1, 1, 1 ) 
    7777            iiter(ji,jj) = 1 
    7878            DO jk = 1, jpkm1 
     
    8686      ENDIF 
    8787 
    88       DO_3D_11_11( 1,jpkm1 ) 
     88      DO_3D( 1, 1, 1, 1, 1,jpkm1 ) 
    8989         IF( tmask(ji,jj,jk) == 1.0 ) THEN 
    9090           zwsmax = 0.5 * e3t(ji,jj,jk,Kmm) * rday / rsfact 
     
    146146      DO jn = 1, 2 
    147147         !  first guess of the slopes interior values 
    148          DO_2D_11_11 
     148         DO_2D( 1, 1, 1, 1 ) 
    149149            ! 
    150150            zstep = rsfact / REAL( kiter(ji,jj), wp ) / 2. 
     
    186186      END DO 
    187187 
    188       DO_3D_11_11( 1,jpkm1 ) 
     188      DO_3D( 1, 1, 1, 1, 1,jpkm1 ) 
    189189         zflx = ( psinkflx(ji,jj,jk) - psinkflx(ji,jj,jk+1) ) / e3t(ji,jj,jk,Kmm) 
    190190         ztrb(ji,jj,jk) = ztrb(ji,jj,jk) + 2. * zflx 
  • NEMO/trunk/src/TOP/TRP/trdmxl_trc.F90

    r13237 r13295  
    125125 
    126126            IF( jpktrd_trc < jpk ) THEN                           ! description ??? 
    127                DO_2D_11_11 
     127               DO_2D( 1, 1, 1, 1 ) 
    128128                  IF( nmld_trc(ji,jj) <= jpktrd_trc ) THEN 
    129129                     zvlmsk(ji,jj) = tmask(ji,jj,1) 
     
    148148         ! ... Weights for vertical averaging 
    149149         wkx_trc(:,:,:) = 0.e0 
    150          DO_3D_11_11( 1, jpktrd_trc ) 
     150         DO_3D( 1, 1, 1, 1, 1, jpktrd_trc ) 
    151151            IF( jk - nmld_trc(ji,jj) < 0 )   wkx_trc(ji,jj,jk) = e3t(ji,jj,jk,Kmm) * tmask(ji,jj,jk) 
    152152         END_3D 
     
    259259         ! 
    260260         DO jn = 1, jptra 
    261             DO_2D_11_11 
     261            DO_2D( 1, 1, 1, 1 ) 
    262262               ik = nmld_trc(ji,jj) 
    263263               IF( ln_trdtrc(jn) )    & 
  • NEMO/trunk/src/TOP/trcbc.F90

    r13237 r13295  
    415415         ! Remove river dilution for tracers with absent river load 
    416416         IF( ln_rnf_ctl .AND. .NOT.ln_trc_cbc(jn) ) THEN 
    417             DO_2D_01_00 
     417            DO_2D( 0, 1, 0, 0 ) 
    418418               DO jk = 1, nk_rnf(ji,jj) 
    419419                  zrnf = (rnf(ji,jj) + rnf_b(ji,jj)) * 0.5_wp * r1_rho0 / h_rnf(ji,jj) 
     
    429429            jl = n_trc_indsbc(jn) 
    430430            sf_trcsbc(jl)%fnow(:,:,1) = MAX( rtrn, sf_trcsbc(jl)%fnow(:,:,1) ) ! avoid nedgative value due to interpolation 
    431             DO_2D_01_00 
     431            DO_2D( 0, 1, 0, 0 ) 
    432432               zfact = 1. / ( e3t(ji,jj,1,Kmm) * rn_sbc_time ) 
    433433               ptr(ji,jj,1,jn,Krhs) = ptr(ji,jj,1,jn,Krhs) + rf_trsfac(jl) * sf_trcsbc(jl)%fnow(ji,jj,1) * zfact 
     
    439439            IF( l_offline )   rn_rfact = 1._wp 
    440440            jl = n_trc_indcbc(jn) 
    441             DO_2D_01_00 
     441            DO_2D( 0, 1, 0, 0 ) 
    442442               DO jk = 1, nk_rnf(ji,jj) 
    443443                  zfact = rn_rfact / ( e1e2t(ji,jj) * h_rnf(ji,jj) * rn_cbc_time ) * tmask(ji,jj,1) 
  • NEMO/trunk/src/TOP/trcdta.F90

    r13237 r13295  
    199199               WRITE(numout,*) 'trc_dta: interpolates passive tracer data onto the s- or mixed s-z-coordinate mesh' 
    200200            ENDIF 
    201             DO_2D_11_11 
     201            DO_2D( 1, 1, 1, 1 ) 
    202202               DO jk = 1, jpk                        ! determines the intepolated T-S profiles at each (i,j) points 
    203203                  zl = gdept(ji,jj,jk,Kmm) 
Note: See TracChangeset for help on using the changeset viewer.