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 13710 for NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES – NEMO

Ignore:
Timestamp:
2020-11-02T10:56:42+01:00 (4 years ago)
Author:
emanuelaclementi
Message:

branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves: merge with trunk@13708, see #2155 and #2339

Location:
NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves
Files:
38 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves

    • Property svn:externals
      •  

        old new  
        33^/utils/build/mk@HEAD         mk 
        44^/utils/tools@HEAD            tools 
        5 ^/vendors/AGRIF/dev@HEAD      ext/AGRIF 
         5^/vendors/AGRIF/dev_r12970_AGRIF_CMEMS      ext/AGRIF 
        66^/vendors/FCM@HEAD            ext/FCM 
        77^/vendors/IOIPSL@HEAD         ext/IOIPSL 
        88 
        99# SETTE 
        10 ^/utils/CI/sette@HEAD         sette 
         10^/utils/CI/sette@13559        sette 
  • NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P2Z/p2zbio.F90

    r12377 r13710  
    1919   ! 
    2020   USE lbclnk          !  
    21    USE prtctl_trc      ! Print control for debbuging 
     21   USE prtctl          ! Print control for debbuging 
    2222   USE iom             ! 
    2323    
     
    5858   !! * Substitutions 
    5959#  include "do_loop_substitute.h90" 
     60#  include "domzgr_substitute.h90" 
    6061   !!---------------------------------------------------------------------- 
    6162   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    121122      DO jk = 1, jpkbm1                      !  Upper ocean (bio-layers)  ! 
    122123         !                                   ! -------------------------- ! 
    123          DO_2D_00_00 
     124         DO_2D( 0, 0, 0, 0 ) 
    124125            ! trophic variables( det, zoo, phy, no3, nh4, dom) 
    125126            ! ------------------------------------------------ 
     
    241242      DO jk = jpkb, jpkm1                    !  Upper ocean (bio-layers)  ! 
    242243         !                                   ! -------------------------- ! 
    243          DO_2D_00_00 
     244         DO_2D( 0, 0, 0, 0 ) 
    244245            ! remineralisation of all quantities towards nitrate  
    245246 
     
    338339      ! 
    339340      IF( lk_iomput ) THEN 
    340          CALL lbc_lnk( 'p2zbio', zw2d(:,:,:),'T', 1. ) 
    341          CALL lbc_lnk_multi( 'p2zbio', zw3d(:,:,:,1),'T', 1., zw3d(:,:,:,2),'T', 1., zw3d(:,:,:,3),'T', 1. ) 
     341         CALL lbc_lnk( 'p2zbio', zw2d(:,:,:),'T', 1.0_wp ) 
     342         CALL lbc_lnk_multi( 'p2zbio', zw3d(:,:,:,1),'T', 1.0_wp, zw3d(:,:,:,2),'T', 1.0_wp, zw3d(:,:,:,3),'T', 1.0_wp ) 
    342343         ! Save diagnostics 
    343344         CALL iom_put( "TNO3PHY", zw2d(:,:,1) ) 
     
    366367      IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    367368         WRITE(charout, FMT="('bio')") 
    368          CALL prt_ctl_trc_info(charout) 
    369          CALL prt_ctl_trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm) 
     369         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
     370         CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
    370371      ENDIF 
    371372      ! 
  • NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P2Z/p2zexp.F90

    r12489 r13710  
    1717   USE p2zsed 
    1818   USE lbclnk 
    19    USE prtctl_trc      ! Print control for debbuging 
     19   USE prtctl          ! Print control for debbuging 
    2020   USE trd_oce 
    2121   USE trdtrc 
     
    3939   !! * Substitutions 
    4040#  include "do_loop_substitute.h90" 
     41#  include "domzgr_substitute.h90" 
    4142   !!---------------------------------------------------------------------- 
    4243   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    8182      ! LAYERS IS DETERMINED BY DMIN3 DEFINED IN sms_p2z.F90 
    8283      ! ---------------------------------------------------------------------- 
    83       DO_3D_00_00( 1, jpkm1 ) 
     84      DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    8485         ze3t = 1. / e3t(ji,jj,jk,Kmm) 
    8586         tr(ji,jj,jk,jpno3,Krhs) = tr(ji,jj,jk,jpno3,Krhs) + ze3t * dmin3(ji,jj,jk) * xksi(ji,jj) 
     
    9293      zgeolpoc = 0.e0         !     Initialization 
    9394      ! Release of nutrients from the "simple" sediment 
    94       DO_2D_00_00 
     95      DO_2D( 0, 0, 0, 0 ) 
    9596         ikt = mbkt(ji,jj)  
    9697         tr(ji,jj,ikt,jpno3,Krhs) = tr(ji,jj,ikt,jpno3,Krhs) + sedlam * sedpocn(ji,jj) / e3t(ji,jj,ikt,Kmm)  
     
    102103      END_2D 
    103104 
    104       DO_2D_00_00 
     105      DO_2D( 0, 0, 0, 0 ) 
    105106         tr(ji,jj,1,jpno3,Krhs) = tr(ji,jj,1,jpno3,Krhs) + zgeolpoc * cmask(ji,jj) / areacot / e3t(ji,jj,1,Kmm) 
    106107      END_2D 
    107108 
    108       CALL lbc_lnk( 'p2zexp', sedpocn, 'T', 1. ) 
     109      CALL lbc_lnk( 'p2zexp', sedpocn, 'T', 1.0_wp ) 
    109110  
    110111      ! Oa & Ek: diagnostics depending on jpdia2d !          left as example 
     
    120121      ELSE 
    121122        ! 
    122         DO_2D_11_11 
     123        DO_2D( 1, 1, 1, 1 ) 
    123124           zsedpocd = zsedpoca(ji,jj) - 2. * sedpocn(ji,jj) + sedpocb(ji,jj)      ! time laplacian on tracers 
    124125           sedpocb(ji,jj) = sedpocn(ji,jj) + rn_atfp * zsedpocd                     ! sedpocb <-- filtered sedpocn 
     
    139140      IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    140141         WRITE(charout, FMT="('exp')") 
    141          CALL prt_ctl_trc_info(charout) 
    142          CALL prt_ctl_trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm) 
     142         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
     143         CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
    143144      ENDIF 
    144145      ! 
     
    173174      zdm0 = 0._wp 
    174175      zrro = 1._wp 
    175       DO_3D_11_11( jpkb, jpkm1 ) 
     176      DO_3D( 1, 1, 1, 1, jpkb, jpkm1 ) 
    176177         zfluo = ( gdepw(ji,jj,jk  ,Kmm) / gdepw(ji,jj,jpkb,Kmm) )**xhr 
    177178         zfluu = ( gdepw(ji,jj,jk+1,Kmm) / gdepw(ji,jj,jpkb,Kmm) )**xhr 
     
    190191      dminl(:,:)   = 0._wp 
    191192      dmin3(:,:,:) = zdm0 
    192       DO_3D_11_11( 1, jpk ) 
     193      DO_3D( 1, 1, 1, 1, 1, jpk ) 
    193194         IF( tmask(ji,jj,jk) == 0._wp ) THEN 
    194195            dminl(ji,jj) = dminl(ji,jj) + dmin3(ji,jj,jk) 
     
    197198      END_3D 
    198199 
    199       DO_2D_11_11 
     200      DO_2D( 1, 1, 1, 1 ) 
    200201         IF( tmask(ji,jj,1) == 0 )   dmin3(ji,jj,1) = 0._wp 
    201202      END_2D 
     
    203204      ! Coastal mask  
    204205      cmask(:,:) = 0._wp 
    205       DO_2D_00_00 
     206      DO_2D( 0, 0, 0, 0 ) 
    206207         IF( tmask(ji,jj,1) /= 0. ) THEN 
    207208            zmaskt = tmask(ji+1,jj,1) * tmask(ji-1,jj,1) * tmask(ji,jj+1,1) * tmask(ji,jj-1,1)  
     
    209210         END IF 
    210211      END_2D 
    211       CALL lbc_lnk( 'p2zexp', cmask , 'T', 1. )      ! lateral boundary conditions on cmask   (sign unchanged) 
     212      CALL lbc_lnk( 'p2zexp', cmask , 'T', 1.0_wp )      ! lateral boundary conditions on cmask   (sign unchanged) 
    212213      areacot = glob_sum( 'p2zexp', e1e2t(:,:) * cmask(:,:) ) 
    213214      ! 
    214215      IF( ln_rsttr ) THEN 
    215          CALL iom_get( numrtr, jpdom_autoglo, 'SEDB'//ctrcnm(jpdet), sedpocb(:,:) ) 
    216          CALL iom_get( numrtr, jpdom_autoglo, 'SEDN'//ctrcnm(jpdet), sedpocn(:,:) ) 
     216         CALL iom_get( numrtr, jpdom_auto, 'SEDB'//ctrcnm(jpdet), sedpocb(:,:) ) 
     217         CALL iom_get( numrtr, jpdom_auto, 'SEDN'//ctrcnm(jpdet), sedpocn(:,:) ) 
    217218      ELSE 
    218219         sedpocb(:,:) = 0._wp 
  • NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P2Z/p2zopt.F90

    r12377 r13710  
    1818   USE trc 
    1919   USE sms_pisces 
    20    USE prtctl_trc      ! Print control for debbuging 
     20   USE prtctl          ! Print control for debbuging 
    2121 
    2222   IMPLICIT NONE 
     
    4040   !! * Substitutions 
    4141#  include "do_loop_substitute.h90" 
     42#  include "domzgr_substitute.h90" 
    4243   !!---------------------------------------------------------------------- 
    4344   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    9495      !                                          ! Photosynthetically Available Radiation (PAR) 
    9596      zcoef = 12 * redf / rcchl / rpig           ! -------------------------------------- 
    96       DO_3D_11_11( 2, jpk ) 
     97      DO_3D( 1, 1, 1, 1, 2, jpk )                     ! local par at w-levels 
    9798         zpig = LOG(  MAX( TINY(0.), tr(ji,jj,jk-1,jpphy,Kmm) ) * zcoef  ) 
    9899         zkr  = xkr0 + xkrp * EXP( xlr * zpig ) 
     
    101102         zparg(ji,jj,jk) = zparg(ji,jj,jk-1) * EXP( -zkg * e3t(ji,jj,jk-1,Kmm) ) 
    102103      END_3D 
    103       DO_3D_11_11( 1, jpkm1 ) 
     104      DO_3D( 1, 1, 1, 1, 1, jpkm1 )                   ! mean par at t-levels 
    104105         zpig = LOG(  MAX( TINY(0.), tr(ji,jj,jk,jpphy,Kmm) ) * zcoef  ) 
    105106         zkr  = xkr0 + xkrp * EXP( xlr * zpig ) 
     
    113114      !                                          ! -------------- 
    114115      neln(:,:) = 1                                   ! euphotic layer level 
    115       DO_3D_11_11( 1, jpkm1 ) 
     116      DO_3D( 1, 1, 1, 1, 1, jpkm1 )                   ! (i.e. 1rst T-level strictly below EL bottom) 
    116117        IF( etot(ji,jj,jk) >= zpar100(ji,jj) )   neln(ji,jj) = jk + 1  
    117118      END_3D 
    118119      !                                               ! Euphotic layer depth 
    119       DO_2D_11_11 
     120      DO_2D( 1, 1, 1, 1 ) 
    120121         heup(ji,jj) = gdepw(ji,jj,neln(ji,jj),Kmm) 
    121122      END_2D 
     
    124125      IF(sn_cfctl%l_prttrc) THEN      ! print mean trends (used for debugging) 
    125126         WRITE(charout, FMT="('opt')") 
    126          CALL prt_ctl_trc_info( charout ) 
    127          CALL prt_ctl_trc( tab4d=tr(:,:,:,:,Kmm), mask=tmask, clinfo=ctrcnm ) 
     127         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
     128         CALL prt_ctl( tab4d_1=tr(:,:,:,:,Kmm), mask1=tmask, clinfo=ctrcnm ) 
    128129      ENDIF 
    129130      ! 
  • NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P2Z/p2zsed.F90

    r12377 r13710  
    1818   USE lbclnk          ! 
    1919   USE iom             ! 
    20    USE prtctl_trc      ! Print control for debbuging 
     20   USE prtctl          ! Print control for debbuging 
    2121 
    2222   IMPLICIT NONE 
     
    3333   !! * Substitutions 
    3434#  include "do_loop_substitute.h90" 
     35#  include "domzgr_substitute.h90" 
    3536   !!---------------------------------------------------------------------- 
    3637   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    8889 
    8990      ! tracer flux divergence at t-point added to the general trend 
    90       DO_3D_11_11( 1, jpkm1 ) 
     91      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    9192         ztra(ji,jj,jk)  = - ( zwork(ji,jj,jk) - zwork(ji,jj,jk+1) ) / e3t(ji,jj,jk,Kmm) 
    9293         tr(ji,jj,jk,jpdet,Krhs) = tr(ji,jj,jk,jpdet,Krhs) + ztra(ji,jj,jk)  
     
    108109      IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    109110         WRITE(charout, FMT="('sed')") 
    110          CALL prt_ctl_trc_info(charout) 
    111          CALL prt_ctl_trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm) 
     111         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
     112         CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
    112113      ENDIF 
    113114      ! 
  • NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zagg.F90

    r12377 r13710  
    1717   USE trc             !  passive tracers common variables  
    1818   USE sms_pisces      !  PISCES Source Minus Sink variables 
    19    USE prtctl_trc      !  print control for debugging 
     19   USE prtctl          !  print control for debugging 
    2020 
    2121   IMPLICIT NONE 
     
    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) 
     
    170170      IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    171171         WRITE(charout, FMT="('agg')") 
    172          CALL prt_ctl_trc_info(charout) 
    173          CALL prt_ctl_trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm) 
     172         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
     173         CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
    174174      ENDIF 
    175175      ! 
  • NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zbc.F90

    r12377 r13710  
    4848   !! * Substitutions 
    4949#  include "do_loop_substitute.h90" 
     50#  include "domzgr_substitute.h90" 
    5051   !!---------------------------------------------------------------------- 
    5152   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    111112      IF( ll_river ) THEN 
    112113          jl = n_trc_indcbc(jpno3) 
    113           DO_2D_11_11 
     114          DO_2D( 1, 1, 1, 1 ) 
    114115             DO jk = 1, nk_rnf(ji,jj) 
    115116                zcoef = rn_rfact / ( e1e2t(ji,jj) * h_rnf(ji,jj) * rn_cbc_time ) * tmask(ji,jj,1) 
     
    144145         ALLOCATE( zironice(jpi,jpj) ) 
    145146         ! 
    146          DO_2D_11_11 
     147         DO_2D( 1, 1, 1, 1 ) 
    147148            zdep    = rfact / e3t(ji,jj,1,Kmm) 
    148149            zwflux  = fmmflx(ji,jj) / 1000._wp 
     
    287288         CALL iom_open ( TRIM( sn_ironsed%clname ), numiron ) 
    288289         ALLOCATE( zcmask(jpi,jpj,jpk) ) 
    289          CALL iom_get  ( numiron, jpdom_data, TRIM( sn_ironsed%clvar ), zcmask(:,:,:), 1 ) 
     290         CALL iom_get  ( numiron, jpdom_global, TRIM( sn_ironsed%clvar ), zcmask(:,:,:), 1 ) 
    290291         CALL iom_close( numiron ) 
    291292         ! 
     
    296297         IF(lwp) WRITE(numout,*) 
    297298         IF(lwp) WRITE(numout,*) ' Level corresponding to 50m depth ',  ik50,' ', gdept_1d(ik50+1) 
    298          DO_3D_00_00( 1, ik50 ) 
     299         DO_3D( 0, 0, 0, 0, 1, ik50 ) 
    299300            ze3t   = e3t_0(ji,jj,jk) 
    300301            zsurfc =  e1u(ji,jj) * ( 1. - umask(ji  ,jj  ,jk) )   & 
     
    310311         END_3D 
    311312         ! 
    312          CALL lbc_lnk( 'p4zbc', zcmask , 'T', 1. )      ! lateral boundary conditions on cmask   (sign unchanged) 
    313          ! 
    314          DO_3D_11_11( 1, jpk ) 
     313         CALL lbc_lnk( 'p4zbc', zcmask , 'T', 1.0_wp )      ! lateral boundary conditions on cmask   (sign unchanged) 
     314         ! 
     315         DO_3D( 1, 1, 1, 1, 1, jpk ) 
    315316            zexpide   = MIN( 8.,( gdept(ji,jj,jk,Kmm) / 500. )**(-1.5) ) 
    316317            zdenitide = -0.9543 + 0.7662 * LOG( zexpide ) - 0.235 * LOG( zexpide )**2 
  • NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zbio.F90

    r12377 r13710  
    3030   USE p4zfechem 
    3131   USE p4zligand       !  Prognostic ligand model 
    32    USE prtctl_trc      !  print control for debugging 
     32   USE prtctl          !  print control for debugging 
    3333   USE iom             !  I/O manager 
    3434   
     
    4040   !! * Substitutions 
    4141#  include "do_loop_substitute.h90" 
     42#  include "domzgr_substitute.h90" 
    4243   !!---------------------------------------------------------------------- 
    4344   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    7172      xdiss(:,:,:) = 1. 
    7273!!gm the use of nmld should be better here? 
    73       DO_3D_11_11( 2, jpkm1 ) 
     74      DO_3D( 1, 1, 1, 1, 2, jpkm1 ) 
    7475!!gm  :  use nmln  and test on jk ...  less memory acces 
    7576         IF( gdepw(ji,jj,jk+1,Kmm) > hmld(ji,jj) )   xdiss(ji,jj,jk) = 0.01 
     
    107108      IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    108109         WRITE(charout, FMT="('bio ')") 
    109          CALL prt_ctl_trc_info(charout) 
    110          CALL prt_ctl_trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm) 
     110         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
     111         CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
    111112      ENDIF 
    112113      ! 
  • NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zche.F90

    r12377 r13710  
    132132   !! * Substitutions 
    133133#  include "do_loop_substitute.h90" 
     134#  include "domzgr_substitute.h90" 
    134135   !!---------------------------------------------------------------------- 
    135136   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    178179      ! 0.04°C relative to an exact computation 
    179180      ! --------------------------------------------------------------------- 
    180       DO_3D_11_11( 1, jpk ) 
     181      DO_3D( 1, 1, 1, 1, 1, jpk ) 
    181182         zpres = gdept(ji,jj,jk,Kmm) / 1000. 
    182183         za1 = 0.04 * ( 1.0 + 0.185 * ts(ji,jj,jk,jp_tem,Kmm) + 0.035 * (salinprac(ji,jj,jk) - 35.0) ) 
     
    471472      IF( ln_timing )  CALL timing_start('ahini_for_at') 
    472473      ! 
    473       DO_3D_11_11( 1, jpk ) 
     474      DO_3D( 1, 1, 1, 1, 1, jpk ) 
    474475      p_alkcb  = tr(ji,jj,jk,jptal,Kbb) * 1000. / (rhop(ji,jj,jk) + rtrn) 
    475476      p_dictot = tr(ji,jj,jk,jpdic,Kbb) * 1000. / (rhop(ji,jj,jk) + rtrn) 
     
    569570 
    570571   ! TOTAL H+ scale: conversion factor for Htot = aphscale * Hfree 
    571    DO_3D_11_11( 1, jpk ) 
     572   DO_3D( 1, 1, 1, 1, 1, jpk ) 
    572573      IF (rmask(ji,jj,jk) == 1.) THEN 
    573574         p_alktot = tr(ji,jj,jk,jptal,Kbb) * 1000. / (rhop(ji,jj,jk) + rtrn) 
     
    598599 
    599600   DO jn = 1, jp_maxniter_atgen  
    600    DO_3D_11_11( 1, jpk ) 
     601   DO_3D( 1, 1, 1, 1, 1, jpk ) 
    601602      IF (rmask(ji,jj,jk) == 1.) THEN 
    602603         zfact = rhop(ji,jj,jk) / 1000. + rtrn 
  • NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zfechem.F90

    r12377 r13710  
    1616   USE p4zche          ! chemical model 
    1717   USE p4zbc           ! Boundary conditions from sediments 
    18    USE prtctl_trc      ! print control for debugging 
     18   USE prtctl          ! print control for debugging 
    1919   USE iom             ! I/O manager 
    2020 
     
    3333   !! * Substitutions 
    3434#  include "do_loop_substitute.h90" 
     35#  include "domzgr_substitute.h90" 
    3536   !!---------------------------------------------------------------------- 
    3637   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    9192      ! Chemistry is supposed to be fast enough to be at equilibrium 
    9293      ! ------------------------------------------------------------ 
    93       DO_3D_11_11( 1, jpkm1 ) 
     94      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    9495         zTL1(ji,jj,jk)  = ztotlig(ji,jj,jk) 
    9596         zkeq            = fekeq(ji,jj,jk) 
     
    106107 
    107108      zdust = 0.         ! if no dust available 
    108       DO_3D_11_11( 1, jpkm1 ) 
     109      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    109110         ! Scavenging rate of iron. This scavenging rate depends on the load of particles of sea water.  
    110111         ! This parameterization assumes a simple second order kinetics (k[Particles][Fe]). 
     
    117118         ! 
    118119         zfeequi = zFe3(ji,jj,jk) * 1E-9 
    119          zhplus  = max( rtrn, hi(ji,jj,jk) ) 
    120          fe3sol  = fesol(ji,jj,jk,1) * ( zhplus**3 + fesol(ji,jj,jk,2) * zhplus**2  & 
    121             &         + fesol(ji,jj,jk,3) * zhplus + fesol(ji,jj,jk,4)     & 
    122             &         + fesol(ji,jj,jk,5) / zhplus ) 
    123120         zfecoll = 0.5 * zFeL1(ji,jj,jk) * 1E-9 
    124121         ! precipitation of Fe3+, creation of nanoparticles 
     
    176173      IF( ln_ligand ) THEN 
    177174         ! 
    178          DO_3D_11_11( 1, jpkm1 ) 
     175         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    179176            zlam1a   = ( 0.369  * 0.3 * tr(ji,jj,jk,jpdoc,Kbb) + 102.4  * tr(ji,jj,jk,jppoc,Kbb) ) * xdiss(ji,jj,jk)    & 
    180177                &    + ( 114.   * 0.3 * tr(ji,jj,jk,jpdoc,Kbb) ) 
     
    221218      IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    222219         WRITE(charout, FMT="('fechem')") 
    223          CALL prt_ctl_trc_info(charout) 
    224          CALL prt_ctl_trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm) 
     220         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
     221         CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
    225222      ENDIF 
    226223      ! 
  • NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zflx.F90

    r12377 r13710  
    1919   USE sms_pisces     !  PISCES Source Minus Sink variables 
    2020   USE p4zche         !  Chemical model 
    21    USE prtctl_trc     !  print control for debugging 
     21   USE prtctl         !  print control for debugging 
    2222   USE iom            !  I/O manager 
    2323   USE fldread        !  read input fields 
     
    5454   !! * Substitutions 
    5555#  include "do_loop_substitute.h90" 
     56#  include "domzgr_substitute.h90" 
    5657   !!---------------------------------------------------------------------- 
    5758   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    109110      IF( l_co2cpl )   satmco2(:,:) = atm_co2(:,:) 
    110111 
    111       DO_2D_11_11 
     112      DO_2D( 1, 1, 1, 1 ) 
    112113         ! DUMMY VARIABLES FOR DIC, H+, AND BORATE 
    113114         zfact = rhop(ji,jj,1) / 1000. + rtrn 
     
    125126      ! ------------------------------------------- 
    126127 
    127       DO_2D_11_11 
     128      DO_2D( 1, 1, 1, 1 ) 
    128129         ztc  = MIN( 35., ts(ji,jj,1,jp_tem,Kmm) ) 
    129130         ztc2 = ztc * ztc 
     
    144145 
    145146 
    146       DO_2D_11_11 
     147      DO_2D( 1, 1, 1, 1 ) 
    147148         ztkel = tempis(ji,jj,1) + 273.15 
    148149         zsal  = salinprac(ji,jj,1) + ( 1.- tmask(ji,jj,1) ) * 35. 
     
    177178      IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    178179         WRITE(charout, FMT="('flx ')") 
    179          CALL prt_ctl_trc_info(charout) 
    180          CALL prt_ctl_trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm) 
     180         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
     181         CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
    181182      ENDIF 
    182183 
  • NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zligand.F90

    r12377 r13710  
    1212   USE trc             ! passive tracers common variables  
    1313   USE sms_pisces      ! PISCES Source Minus Sink variables 
    14    USE prtctl_trc      ! print control for debugging 
     14   USE prtctl          ! print control for debugging 
    1515   USE iom             !  I/O manager 
    1616 
     
    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         ! ------------------------------------------------------------------ 
     
    8989      IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    9090         WRITE(charout, FMT="('ligand1')") 
    91          CALL prt_ctl_trc_info(charout) 
    92          CALL prt_ctl_trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm) 
     91         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
     92         CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
    9393      ENDIF 
    9494      ! 
  • NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zlim.F90

    r12377 r13710  
    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 
     
    161161         zlim1    = xdiatno3(ji,jj,jk) + xdiatnh4(ji,jj,jk) 
    162162         zlim2    = tr(ji,jj,jk,jppo4,Kbb) / ( tr(ji,jj,jk,jppo4,Kbb) + zconc1dnh4  ) 
    163          zlim3    = tr(ji,jj,jk,jpsil,Kbb) / ( tr(ji,jj,jk,jpsil,Kbb) + xksi(ji,jj) ) 
     163         zlim3    = tr(ji,jj,jk,jpsil,Kbb) / ( tr(ji,jj,jk,jpsil,Kbb) + xksi(ji,jj) + rtrn ) 
    164164         zratio   = tr(ji,jj,jk,jpdfe,Kbb) * z1_trbdia 
    165165         zironmin = xcoef1 * tr(ji,jj,jk,jpdch,Kbb) * z1_trbdia + xcoef2 * zlim1 + xcoef3 * xdiatno3(ji,jj,jk) 
     
    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/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zlys.F90

    r12377 r13710  
    2020   USE sms_pisces      !  PISCES Source Minus Sink variables 
    2121   USE p4zche          !  Chemical model 
    22    USE prtctl_trc      !  print control for debugging 
     22   USE prtctl          !  print control for debugging 
    2323   USE iom             !  I/O manager 
    2424 
     
    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 
     
    130130      IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    131131        WRITE(charout, FMT="('lys ')") 
    132         CALL prt_ctl_trc_info(charout) 
    133         CALL prt_ctl_trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm) 
     132        CALL prt_ctl_info( charout, cdcomp = 'top' ) 
     133        CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
    134134      ENDIF 
    135135      ! 
  • NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zmeso.F90

    r12377 r13710  
    1515   USE sms_pisces      ! PISCES Source Minus Sink variables 
    1616   USE p4zprod         ! production 
    17    USE prtctl_trc      ! print control for debugging 
     17   USE prtctl          ! print control for debugging 
    1818   USE iom             ! I/O manager 
    1919 
     
    6969      REAL(wp) :: zfact   , zfood, zfoodlim, zproport, zbeta 
    7070      REAL(wp) :: zmortzgoc, zfrac, zfracfe, zratio, zratio2, zfracal, zgrazcal 
    71       REAL(wp) :: zepsherf, zepshert, zepsherv, zgrarsig, zgraztotc, zgraztotn, zgraztotf 
     71      REAL(wp) :: zepsherf, zepshert, zepsherv, zepsherq  
     72      REAL(wp) :: zgrarsig, zgraztotc, zgraztotn, zgraztotf 
    7273      REAL(wp) :: zgrarem2, zgrafer2, zgrapoc2, zprcaca, zmortz, zgrasrat, zgrasratn 
    7374      REAL(wp) :: zrespz, ztortz, zgrazd, zgrazz, zgrazpof 
     
    8081      IF( ln_timing )   CALL timing_start('p4z_meso') 
    8182      ! 
    82       DO_3D_11_11( 1, jpkm1 ) 
     83      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    8384         zcompam   = MAX( ( tr(ji,jj,jk,jpmes,Kbb) - 1.e-9 ), 0.e0 ) 
    8485         zfact     = xstep * tgfunc2(ji,jj,jk) * zcompam 
     
    156157         zgrazing2(ji,jj,jk) = zgraztotc 
    157158 
    158          !    Mesozooplankton efficiency 
    159          !    -------------------------- 
     159         ! Mesozooplankton efficiency.  
     160         ! We adopt a formulation proposed by Mitra et al. (2007) 
     161         ! The gross growth efficiency is controled by the most limiting nutrient. 
     162         ! Growth is also further decreased when the food quality is poor. This is currently 
     163         ! hard coded : it can be decreased by up to 50% (zepsherq) 
     164         ! GGE can also be decreased when food quantity is high, zepsherf (Montagnes and  
     165         ! Fulton, 2012) 
     166         ! ----------------------------------------------------------------------------------- 
    160167         zgrasrat  =  ( zgraztotf + rtrn )/ ( zgraztotc + rtrn ) 
    161168         zgrasratn =  ( zgraztotn + rtrn )/ ( zgraztotc + rtrn ) 
     
    163170         zbeta     = MAX(0., (epsher2 - epsher2min) ) 
    164171         zepsherf  = epsher2min + zbeta / ( 1.0 + 0.04E6 * 12. * zfood * zbeta )  
    165          zepsherv  = zepsherf * zepshert  
     172         zepsherq  = 0.5 + (1.0 - 0.5) * zepshert * ( 1.0 + 1.0 ) / ( zepshert + 1.0 ) 
     173         zepsherv  = zepsherf * zepshert * zepsherq  
    166174 
    167175         zgrarem2  = zgraztotc * ( 1. - zepsherv - unass2 ) & 
     
    170178         &         + ferat3 * ( ( 1. - epsher2 - unass2 ) /( 1. - epsher2 ) * ztortz ) 
    171179         zgrapoc2  = zgraztotc * unass2 
     180 
    172181 
    173182         !   Update the arrays TRA which contain the biological sources and sinks 
     
    237246      IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    238247        WRITE(charout, FMT="('meso')") 
    239         CALL prt_ctl_trc_info(charout) 
    240         CALL prt_ctl_trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm) 
     248        CALL prt_ctl_info( charout, cdcomp = 'top' ) 
     249        CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
    241250      ENDIF 
    242251      ! 
  • NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zmicro.F90

    r12377 r13710  
    1717   USE p4zprod         ! production 
    1818   USE iom             ! I/O manager 
    19    USE prtctl_trc      ! print control for debugging 
     19   USE prtctl          ! print control for debugging 
    2020 
    2121   IMPLICIT NONE 
     
    6767      REAL(wp) :: zgraze  , zdenom, zdenom2 
    6868      REAL(wp) :: zfact   , zfood, zfoodlim, zbeta 
    69       REAL(wp) :: zepsherf, zepshert, zepsherv, zgrarsig, zgraztotc, zgraztotn, zgraztotf 
     69      REAL(wp) :: zepsherf, zepshert, zepsherv, zepsherq 
     70      REAL(wp) :: zgrarsig, zgraztotc, zgraztotn, zgraztotf 
    7071      REAL(wp) :: zgrarem, zgrafer, zgrapoc, zprcaca, zmortz 
    7172      REAL(wp) :: zrespz, ztortz, zgrasrat, zgrasratn 
     
    7879      IF( ln_timing )   CALL timing_start('p4z_micro') 
    7980      ! 
    80       DO_3D_11_11( 1, jpkm1 ) 
     81      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    8182         zcompaz = MAX( ( tr(ji,jj,jk,jpzoo,Kbb) - 1.e-9 ), 0.e0 ) 
    8283         zfact   = xstep * tgfunc2(ji,jj,jk) * zcompaz 
     
    119120         zgrazing(ji,jj,jk) = zgraztotc 
    120121 
    121          !    Various remineralization and excretion terms 
    122          !    -------------------------------------------- 
     122 
     123         ! Microzooplankton efficiency.  
     124         ! We adopt a formulation proposed by Mitra et al. (2007) 
     125         ! The gross growth efficiency is controled by the most limiting nutrient. 
     126         ! Growth is also further decreased when the food quality is poor. This is currently 
     127         ! hard coded : it can be decreased by up to 50% (zepsherq) 
     128         ! GGE can also be decreased when food quantity is high, zepsherf (Montagnes and  
     129         ! Fulton, 2012) 
     130         ! ----------------------------------------------------------------------------- 
    123131         zgrasrat  = ( zgraztotf + rtrn ) / ( zgraztotc + rtrn ) 
    124132         zgrasratn = ( zgraztotn + rtrn ) / ( zgraztotc + rtrn ) 
     
    126134         zbeta     = MAX(0., (epsher - epshermin) ) 
    127135         zepsherf  = epshermin + zbeta / ( 1.0 + 0.04E6 * 12. * zfood * zbeta ) 
    128          zepsherv  = zepsherf * zepshert  
     136         zepsherq  = 0.5 + (1.0 - 0.5) * zepshert * ( 1.0 + 1.0 ) / ( zepshert + 1.0 ) 
     137         zepsherv  = zepsherf * zepshert * zepsherq  
    129138 
    130139         zgrafer   = zgraztotc * MAX( 0. , ( 1. - unass ) * zgrasrat - ferat3 * zepsherv )  
     
    193202      IF(sn_cfctl%l_prttrc) THEN      ! print mean trends (used for debugging) 
    194203         WRITE(charout, FMT="('micro')") 
    195          CALL prt_ctl_trc_info(charout) 
    196          CALL prt_ctl_trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm) 
     204         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
     205         CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
    197206      ENDIF 
    198207      ! 
  • NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zmort.F90

    r12377 r13710  
    1515   USE p4zprod         ! Primary productivity  
    1616   USE p4zlim          ! Phytoplankton limitation terms 
    17    USE prtctl_trc      ! print control for debugging 
     17   USE prtctl          ! print control for debugging 
    1818 
    1919   IMPLICIT NONE 
     
    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  
     
    120120       IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    121121         WRITE(charout, FMT="('nano')") 
    122          CALL prt_ctl_trc_info(charout) 
    123          CALL prt_ctl_trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm) 
     122         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
     123         CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
    124124       ENDIF 
    125125      ! 
     
    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. ) 
     
    192192      IF(sn_cfctl%l_prttrc) THEN      ! print mean trends (used for debugging) 
    193193         WRITE(charout, FMT="('diat')") 
    194          CALL prt_ctl_trc_info(charout) 
    195          CALL prt_ctl_trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm) 
     194         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
     195         CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
    196196      ENDIF 
    197197      ! 
  • NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zopt.F90

    r12377 r13710  
    1616   USE iom            ! I/O manager 
    1717   USE fldread        !  time interpolation 
    18    USE prtctl_trc     !  print control for debugging 
     18   USE prtctl         !  print control for debugging 
    1919 
    2020   IMPLICIT NONE 
     
    3737   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   par_varsw      ! PAR fraction of shortwave 
    3838   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   ekb, ekg, ekr  ! wavelength (Red-Green-Blue) 
    39  
    40    INTEGER  ::   nksrp   ! levels below which the light cannot penetrate ( depth larger than 391 m) 
    41  
    42    REAL(wp), DIMENSION(3,61) ::   xkrgb   ! tabulated attenuation coefficients for RGB absorption 
    4339    
    4440   !! * Substitutions 
    4541#  include "do_loop_substitute.h90" 
     42#  include "domzgr_substitute.h90" 
    4643   !!---------------------------------------------------------------------- 
    4744   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    8885      IF( ln_p5z )   zchl3d(:,:,:) = zchl3d(:,:,:)    + tr(:,:,:,jppch,Kbb) 
    8986      ! 
    90       DO_3D_11_11( 1, jpkm1 ) 
     87      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    9188         zchl = ( zchl3d(ji,jj,jk) + rtrn ) * 1.e6 
    9289         zchl = MIN(  10. , MAX( 0.05, zchl )  ) 
    9390         irgb = NINT( 41 + 20.* LOG10( zchl ) + rtrn ) 
    9491         !                                                          
    95          ekb(ji,jj,jk) = xkrgb(1,irgb) * e3t(ji,jj,jk,Kmm) 
    96          ekg(ji,jj,jk) = xkrgb(2,irgb) * e3t(ji,jj,jk,Kmm) 
    97          ekr(ji,jj,jk) = xkrgb(3,irgb) * e3t(ji,jj,jk,Kmm) 
     92         ekb(ji,jj,jk) = rkrgb(1,irgb) * e3t(ji,jj,jk,Kmm) 
     93         ekg(ji,jj,jk) = rkrgb(2,irgb) * e3t(ji,jj,jk,Kmm) 
     94         ekr(ji,jj,jk) = rkrgb(3,irgb) * e3t(ji,jj,jk,Kmm) 
    9895      END_3D 
    9996      !                                        !* Photosynthetically Available Radiation (PAR) 
     
    105102         CALL p4z_opt_par( kt, Kmm, zqsr_corr, ze1, ze2, ze3, pqsr100 = zqsr100 )  
    106103         ! 
    107          DO jk = 1, nksrp       
     104         DO jk = 1, nksr       
    108105            etot_ndcy(:,:,jk) =        ze1(:,:,jk) +        ze2(:,:,jk) +       ze3(:,:,jk) 
    109106            enano    (:,:,jk) =  1.85 * ze1(:,:,jk) + 0.69 * ze2(:,:,jk) + 0.46 * ze3(:,:,jk) 
     
    111108         END DO 
    112109         IF( ln_p5z ) THEN 
    113             DO jk = 1, nksrp       
     110            DO jk = 1, nksr       
    114111              epico  (:,:,jk) =  1.94 * ze1(:,:,jk) + 0.66 * ze2(:,:,jk) + 0.4 * ze3(:,:,jk) 
    115112            END DO 
     
    120117         CALL p4z_opt_par( kt, Kmm, zqsr_corr, ze1, ze2, ze3 )  
    121118         ! 
    122          DO jk = 1, nksrp       
     119         DO jk = 1, nksr       
    123120            etot(:,:,jk) =  ze1(:,:,jk) + ze2(:,:,jk) + ze3(:,:,jk) 
    124121         END DO 
     
    130127         CALL p4z_opt_par( kt, Kmm, zqsr_corr, ze1, ze2, ze3, pqsr100 = zqsr100  )  
    131128         ! 
    132          DO jk = 1, nksrp       
     129         DO jk = 1, nksr       
    133130            etot (:,:,jk) =        ze1(:,:,jk) +        ze2(:,:,jk) +       ze3(:,:,jk) 
    134131            enano(:,:,jk) =  1.85 * ze1(:,:,jk) + 0.69 * ze2(:,:,jk) + 0.46 * ze3(:,:,jk) 
     
    136133         END DO 
    137134         IF( ln_p5z ) THEN 
    138             DO jk = 1, nksrp       
     135            DO jk = 1, nksr       
    139136              epico(:,:,jk) =  1.94 * ze1(:,:,jk) + 0.66 * ze2(:,:,jk) + 0.4 * ze3(:,:,jk) 
    140137            END DO 
     
    149146         ! 
    150147         etot3(:,:,1) =  qsr(:,:) * tmask(:,:,1) 
    151          DO jk = 2, nksrp + 1 
     148         DO jk = 2, nksr + 1 
    152149            etot3(:,:,jk) =  ( ze0(:,:,jk) + ze1(:,:,jk) + ze2(:,:,jk) + ze3(:,:,jk) ) * tmask(:,:,jk) 
    153150         END DO 
     
    159156      heup_01(:,:) = gdepw(:,:,2,Kmm) 
    160157 
    161       DO_3D_11_11( 2, nksrp ) 
     158      DO_3D( 1, 1, 1, 1, 2, nksr ) 
    162159        IF( etot_ndcy(ji,jj,jk) * tmask(ji,jj,jk) >=  zqsr100(ji,jj) )  THEN 
    163160           neln(ji,jj) = jk+1                    ! Euphotic level : 1rst T-level strictly below Euphotic layer 
     
    177174      zetmp2 (:,:)   = 0.e0 
    178175 
    179       DO_3D_11_11( 1, nksrp ) 
     176      DO_3D( 1, 1, 1, 1, 1, nksr ) 
    180177         IF( gdepw(ji,jj,jk+1,Kmm) <= hmld(ji,jj) ) THEN 
    181178            zetmp1 (ji,jj) = zetmp1 (ji,jj) + etot     (ji,jj,jk) * e3t(ji,jj,jk,Kmm) ! remineralisation 
     
    188185      zpar(:,:,:) = etot_ndcy(:,:,:)  ! diagnostic : PAR with no diurnal cycle  
    189186      ! 
    190       DO_3D_11_11( 1, nksrp ) 
     187      DO_3D( 1, 1, 1, 1, 1, nksr ) 
    191188         IF( gdepw(ji,jj,jk+1,Kmm) <= hmld(ji,jj) ) THEN 
    192189            z1_dep = 1. / ( zdepmoy(ji,jj) + rtrn ) 
     
    200197      zetmp4 (:,:)   = 0.e0 
    201198      ! 
    202       DO_3D_11_11( 1, nksrp ) 
     199      DO_3D( 1, 1, 1, 1, 1, nksr ) 
    203200         IF( gdepw(ji,jj,jk+1,Kmm) <= MIN(hmld(ji,jj), heup_01(ji,jj)) ) THEN 
    204201            zetmp3 (ji,jj) = zetmp3 (ji,jj) + enano    (ji,jj,jk) * e3t(ji,jj,jk,Kmm) ! production 
     
    210207      ediatm(:,:,:) = ediat(:,:,:) 
    211208      ! 
    212       DO_3D_11_11( 1, nksrp ) 
     209      DO_3D( 1, 1, 1, 1, 1, nksr ) 
    213210         IF( gdepw(ji,jj,jk+1,Kmm) <= hmld(ji,jj) ) THEN 
    214211            z1_dep = 1. / ( zdepmoy(ji,jj) + rtrn ) 
     
    220217      IF( ln_p5z ) THEN 
    221218         ALLOCATE( zetmp5(jpi,jpj) )  ;   zetmp5 (:,:) = 0.e0 
    222          DO_3D_11_11( 1, nksrp ) 
     219         DO_3D( 1, 1, 1, 1, 1, nksr ) 
    223220            IF( gdepw(ji,jj,jk+1,Kmm) <= MIN(hmld(ji,jj), heup_01(ji,jj)) ) THEN 
    224221               zetmp5(ji,jj)  = zetmp5 (ji,jj) + epico(ji,jj,jk) * e3t(ji,jj,jk,Kmm) ! production 
     
    228225         epicom(:,:,:) = epico(:,:,:) 
    229226         ! 
    230          DO_3D_11_11( 1, nksrp ) 
     227         DO_3D( 1, 1, 1, 1, 1, nksr ) 
    231228            IF( gdepw(ji,jj,jk+1,Kmm) <= hmld(ji,jj) ) THEN 
    232229               z1_dep = 1. / ( zdepmoy(ji,jj) + rtrn ) 
     
    282279         pe3(:,:,1) = zqsr(:,:) 
    283280         ! 
    284          DO jk = 2, nksrp + 1 
     281         DO jk = 2, nksr + 1 
    285282            DO jj = 1, jpj 
    286283               DO ji = 1, jpi 
     
    301298        pe3(:,:,1) = zqsr(:,:) * EXP( -0.5 * ekr(:,:,1) ) 
    302299        ! 
    303         DO_3D_11_11( 2, nksrp ) 
     300        DO_3D( 1, 1, 1, 1, 2, nksr ) 
    304301           pe1(ji,jj,jk) = pe1(ji,jj,jk-1) * EXP( -0.5 * ( ekb(ji,jj,jk-1) + ekb(ji,jj,jk) ) ) 
    305302           pe2(ji,jj,jk) = pe2(ji,jj,jk-1) * EXP( -0.5 * ( ekg(ji,jj,jk-1) + ekg(ji,jj,jk) ) ) 
     
    399396         ntimes_par = iom_getszuld( numpar )   ! get number of record in file 
    400397      ENDIF 
    401       ! 
    402       CALL trc_oce_rgb( xkrgb )                  ! tabulated attenuation coefficients 
    403       nksrp = trc_oce_ext_lev( r_si2, 0.33e2 )     ! max level of light extinction (Blue Chl=0.01) 
    404       ! 
    405       IF(lwp) WRITE(numout,*) '        level of light extinction = ', nksrp, ' ref depth = ', gdepw_1d(nksrp+1), ' m' 
    406398      ! 
    407399                         ekr      (:,:,:) = 0._wp 
  • NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zpoc.F90

    r12377 r13710  
    1515   USE trc             !  passive tracers common variables  
    1616   USE sms_pisces      !  PISCES Source Minus Sink variables 
    17    USE prtctl_trc      !  print control for debugging 
     17   USE prtctl          !  print control for debugging 
    1818   USE iom             !  I/O manager 
    1919 
     
    3939   !! * Substitutions 
    4040#  include "do_loop_substitute.h90" 
     41#  include "domzgr_substitute.h90" 
    4142   !!---------------------------------------------------------------------- 
    4243   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    106107     ! ----------------------------------------------------------------------- 
    107108     ztremint(:,:,:) = zremigoc(:,:,:) 
    108      DO_3D_11_11( 2, jpkm1 ) 
     109     DO_3D( 1, 1, 1, 1, 2, jpkm1 ) 
    109110        IF (tmask(ji,jj,jk) == 1.) THEN 
    110111          zdep = hmld(ji,jj) 
     
    191192 
    192193      IF( ln_p4z ) THEN 
    193          DO_3D_11_11( 1, jpkm1 ) 
     194         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    194195            ! POC disaggregation by turbulence and bacterial activity.  
    195196            ! -------------------------------------------------------- 
     
    211212         END_3D 
    212213      ELSE 
    213          DO_3D_11_11( 1, jpkm1 ) 
     214         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    214215             ! POC disaggregation by turbulence and bacterial activity.  
    215216            ! -------------------------------------------------------- 
     
    241242     IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    242243        WRITE(charout, FMT="('poc1')") 
    243         CALL prt_ctl_trc_info(charout) 
    244         CALL prt_ctl_trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm) 
     244        CALL prt_ctl_info( charout, cdcomp = 'top' ) 
     245        CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
    245246     ENDIF 
    246247 
     
    259260     ! ---------------------------------------------------------------- 
    260261     !  
    261      DO_3D_11_11( 1, jpkm1 ) 
     262     DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    262263        zdep = hmld(ji,jj) 
    263264        IF (tmask(ji,jj,jk) == 1. .AND. gdept(ji,jj,jk,Kmm) <= zdep ) THEN 
     
    274275     ! --------------------------------------------------------------------- 
    275276     ztremint(:,:,:) = zremipoc(:,:,:) 
    276      DO_3D_11_11( 1, jpkm1 ) 
     277     DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    277278        IF (tmask(ji,jj,jk) == 1.) THEN 
    278279          zdep = hmld(ji,jj) 
     
    309310     ! ----------------------------------------------------------------------- 
    310311     ! 
    311      DO_3D_11_11( 2, jpkm1 ) 
     312     DO_3D( 1, 1, 1, 1, 2, jpkm1 ) 
    312313        IF (tmask(ji,jj,jk) == 1.) THEN 
    313314          zdep = hmld(ji,jj) 
     
    383384 
    384385     IF( ln_p4z ) THEN 
    385          DO_3D_11_11( 1, jpkm1 ) 
     386         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    386387            IF (tmask(ji,jj,jk) == 1.) THEN 
    387388              ! POC disaggregation by turbulence and bacterial activity.  
     
    400401         END_3D 
    401402     ELSE 
    402        DO_3D_11_11( 1, jpkm1 ) 
     403       DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    403404          ! POC disaggregation by turbulence and bacterial activity.  
    404405          ! -------------------------------------------------------- 
     
    433434      IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    434435         WRITE(charout, FMT="('poc2')") 
    435          CALL prt_ctl_trc_info(charout) 
    436          CALL prt_ctl_trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm) 
     436         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
     437         CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
    437438      ENDIF 
    438439      ! 
  • NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zprod.F90

    r12377 r13710  
    1616   USE sms_pisces      ! PISCES Source Minus Sink variables 
    1717   USE p4zlim          ! Co-limitations of differents nutrients 
    18    USE prtctl_trc      ! print control for debugging 
     18   USE prtctl          ! print control for debugging 
    1919   USE iom             ! I/O manager 
    2020 
     
    4848   !! * Substitutions 
    4949#  include "do_loop_substitute.h90" 
     50#  include "domzgr_substitute.h90" 
    5051   !!---------------------------------------------------------------------- 
    5152   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    109110      ! day length in hours 
    110111      zstrn(:,:) = 0. 
    111       DO_2D_11_11 
     112      DO_2D( 1, 1, 1, 1 ) 
    112113         zargu = TAN( zcodel ) * TAN( gphit(ji,jj) * rad ) 
    113114         zargu = MAX( -1., MIN(  1., zargu ) ) 
     
    116117 
    117118      ! Impact of the day duration and light intermittency on phytoplankton growth 
    118       DO_3D_11_11( 1, jpkm1 ) 
     119      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    119120         IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
    120121            zval = MAX( 1., zstrn(ji,jj) ) 
     
    134135 
    135136      ! Computation of the P-I slope for nanos and diatoms 
    136       DO_3D_11_11( 1, jpkm1 ) 
     137      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    137138         IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
    138139            ztn         = MAX( 0., ts(ji,jj,jk,jp_tem,Kmm) - 15. ) 
     
    149150      END_3D 
    150151 
    151       DO_3D_11_11( 1, jpkm1 ) 
     152      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    152153         IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
    153154             ! Computation of production function for Carbon 
     
    170171      !  Computation of a proxy of the N/C ratio 
    171172      !  --------------------------------------- 
    172       DO_3D_11_11( 1, jpkm1 ) 
     173      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    173174          zval = MIN( xnanopo4(ji,jj,jk), ( xnanonh4(ji,jj,jk) + xnanono3(ji,jj,jk) ) )   & 
    174175          &      * zprmaxn(ji,jj,jk) / ( zprbio(ji,jj,jk) + rtrn ) 
     
    180181 
    181182 
    182       DO_3D_11_11( 1, jpkm1 ) 
     183      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    183184 
    184185          IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
     
    204205      !  Sea-ice effect on production 
    205206 
    206       DO_3D_11_11( 1, jpkm1 ) 
     207      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    207208         zprbio(ji,jj,jk) = zprbio(ji,jj,jk) * ( 1. - fr_i(ji,jj) ) 
    208209         zprdia(ji,jj,jk) = zprdia(ji,jj,jk) * ( 1. - fr_i(ji,jj) ) 
     
    210211 
    211212      ! Computation of the various production terms  
    212       DO_3D_11_11( 1, jpkm1 ) 
     213      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    213214         IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
    214215            !  production terms for nanophyto. (C) 
     
    236237 
    237238      ! Computation of the chlorophyll production terms 
    238       DO_3D_11_11( 1, jpkm1 ) 
     239      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    239240         IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
    240241            !  production terms for nanophyto. ( chlorophyll ) 
     
    259260 
    260261      !   Update the arrays TRA which contain the biological sources and sinks 
    261       DO_3D_11_11( 1, jpkm1 ) 
     262      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    262263        IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
    263264           zproreg  = zprorcan(ji,jj,jk) - zpronewn(ji,jj,jk) 
     
    287288     IF( ln_ligand ) THEN 
    288289         zpligprod1(:,:,:) = 0._wp    ;    zpligprod2(:,:,:) = 0._wp 
    289          DO_3D_11_11( 1, jpkm1 ) 
     290         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    290291           IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
    291292              zdocprod = excretd * zprorcad(ji,jj,jk) + excretn * zprorcan(ji,jj,jk) 
     
    330331     IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    331332         WRITE(charout, FMT="('prod')") 
    332          CALL prt_ctl_trc_info(charout) 
    333          CALL prt_ctl_trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm) 
     333         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
     334         CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
    334335     ENDIF 
    335336      ! 
  • NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zrem.F90

    r12377 r13710  
    1818   USE p4zprod         !  Growth rate of the 2 phyto groups 
    1919   USE p4zlim 
    20    USE prtctl_trc      !  print control for debugging 
     20   USE prtctl          !  print control for debugging 
    2121   USE iom             !  I/O manager 
    2222 
     
    4444   !! * Substitutions 
    4545#  include "do_loop_substitute.h90" 
     46#  include "domzgr_substitute.h90" 
    4647   !!---------------------------------------------------------------------- 
    4748   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    8889      ! that was modeling explicitely bacteria 
    8990      ! ------------------------------------------------------- 
    90       DO_3D_11_11( 1, jpkm1 ) 
     91      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    9192         zdep = MAX( hmld(ji,jj), heup(ji,jj) ) 
    9293         IF( gdept(ji,jj,jk,Kmm) < zdep ) THEN 
     
    102103 
    103104      IF( ln_p4z ) THEN 
    104          DO_3D_11_11( 1, jpkm1 ) 
     105         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    105106            ! DOC ammonification. Depends on depth, phytoplankton biomass 
    106107            ! and a limitation term which is supposed to be a parameterization of the bacterial activity.  
     
    133134         END_3D 
    134135      ELSE 
    135          DO_3D_11_11( 1, jpkm1 ) 
     136         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    136137            ! DOC ammonification. Depends on depth, phytoplankton biomass 
    137138            ! and a limitation term which is supposed to be a parameterization of the bacterial activity.  
     
    177178 
    178179 
    179       DO_3D_11_11( 1, jpkm1 ) 
     180      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    180181         ! NH4 nitrification to NO3. Ceased for oxygen concentrations 
    181182         ! below 2 umol/L. Inhibited at strong light  
     
    195196       IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    196197         WRITE(charout, FMT="('rem1')") 
    197          CALL prt_ctl_trc_info(charout) 
    198          CALL prt_ctl_trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm) 
     198         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
     199         CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
    199200       ENDIF 
    200201 
    201       DO_3D_11_11( 1, jpkm1 ) 
     202      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    202203 
    203204         ! Bacterial uptake of iron. No iron is available in DOC. So 
     
    217218       IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    218219         WRITE(charout, FMT="('rem2')") 
    219          CALL prt_ctl_trc_info(charout) 
    220          CALL prt_ctl_trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm) 
     220         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
     221         CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
    221222       ENDIF 
    222223 
     
    225226      ! --------------------------------------------------------------- 
    226227 
    227       DO_3D_11_11( 1, jpkm1 ) 
     228      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    228229         zdep     = MAX( hmld(ji,jj), heup_01(ji,jj) ) 
    229230         zsatur   = MAX( rtrn, ( sio3eq(ji,jj,jk) - tr(ji,jj,jk,jpsil,Kbb) ) / ( sio3eq(ji,jj,jk) + rtrn ) ) 
     
    248249      IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    249250         WRITE(charout, FMT="('rem3')") 
    250          CALL prt_ctl_trc_info(charout) 
    251          CALL prt_ctl_trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm) 
     251         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
     252         CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
    252253       ENDIF 
    253254 
  • NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zsed.F90

    r12377 r13710  
    1818   USE sed             !  Sediment module 
    1919   USE iom             !  I/O manager 
    20    USE prtctl_trc      !  print control for debugging 
     20   USE prtctl          !  print control for debugging 
    2121 
    2222   IMPLICIT NONE 
     
    3939   !! * Substitutions 
    4040#  include "do_loop_substitute.h90" 
     41#  include "domzgr_substitute.h90" 
    4142   !!---------------------------------------------------------------------- 
    4243   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    9394         ! OA: Warning, the following part is necessary to avoid CFL problems above the sediments 
    9495         ! -------------------------------------------------------------------- 
    95          DO_2D_11_11 
     96         DO_2D( 1, 1, 1, 1 ) 
    9697            ikt  = mbkt(ji,jj) 
    9798            zdep = e3t(ji,jj,ikt,Kmm) / xstep 
     
    103104         ! Computation of the fraction of organic matter that is permanently buried from Dunne's model 
    104105         ! ------------------------------------------------------- 
    105          DO_2D_11_11 
     106         DO_2D( 1, 1, 1, 1 ) 
    106107           IF( tmask(ji,jj,1) == 1 ) THEN 
    107108              ikt = mbkt(ji,jj) 
     
    129130      IF( .NOT.lk_sed )  zrivsil = 1._wp - sedsilfrac 
    130131 
    131       DO_2D_11_11 
     132      DO_2D( 1, 1, 1, 1 ) 
    132133         ikt  = mbkt(ji,jj) 
    133134         zdep = xstep / e3t(ji,jj,ikt,Kmm)  
     
    141142      ! 
    142143      IF( .NOT.lk_sed ) THEN 
    143          DO_2D_11_11 
     144         DO_2D( 1, 1, 1, 1 ) 
    144145            ikt  = mbkt(ji,jj) 
    145146            zdep = xstep / e3t(ji,jj,ikt,Kmm)  
     
    159160      ENDIF 
    160161      ! 
    161       DO_2D_11_11 
     162      DO_2D( 1, 1, 1, 1 ) 
    162163         ikt  = mbkt(ji,jj) 
    163164         zdep = xstep / e3t(ji,jj,ikt,Kmm)  
     
    171172      ! 
    172173      IF( ln_p5z ) THEN 
    173          DO_2D_11_11 
     174         DO_2D( 1, 1, 1, 1 ) 
    174175            ikt  = mbkt(ji,jj) 
    175176            zdep = xstep / e3t(ji,jj,ikt,Kmm)  
     
    186187         ! The 0.5 factor in zpdenit is to avoid negative NO3 concentration after 
    187188         ! denitrification in the sediments. Not very clever, but simpliest option. 
    188          DO_2D_11_11 
     189         DO_2D( 1, 1, 1, 1 ) 
    189190            ikt  = mbkt(ji,jj) 
    190191            zdep = xstep / e3t(ji,jj,ikt,Kmm)  
     
    223224      ENDDO 
    224225      IF( ln_p4z ) THEN 
    225          DO_3D_11_11( 1, jpkm1 ) 
     226         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    226227            !                      ! Potential nitrogen fixation dependant on temperature and iron 
    227228            ztemp = ts(ji,jj,jk,jp_tem,Kmm) 
     
    239240         END_3D 
    240241      ELSE       ! p5z 
    241          DO_3D_11_11( 1, jpkm1 ) 
     242         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    242243            !                      ! Potential nitrogen fixation dependant on temperature and iron 
    243244            ztemp = ts(ji,jj,jk,jp_tem,Kmm) 
     
    260261      ! ---------------------------------------- 
    261262      IF( ln_p4z ) THEN 
    262          DO_3D_11_11( 1, jpkm1 ) 
     263         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    263264            zfact = nitrpot(ji,jj,jk) * nitrfix 
    264265            tr(ji,jj,jk,jpnh4,Krhs) = tr(ji,jj,jk,jpnh4,Krhs) + zfact / 3.0 
     
    277278         END_3D 
    278279      ELSE    ! p5z 
    279          DO_3D_11_11( 1, jpkm1 ) 
     280         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    280281            zfact = nitrpot(ji,jj,jk) * nitrfix 
    281282            tr(ji,jj,jk,jpnh4,Krhs) = tr(ji,jj,jk,jpnh4,Krhs) + zfact / 3.0 
     
    312313      ENDIF 
    313314      ! 
    314       IF(sn_cfctl%l_prttrc) THEN  ! print mean trends (USEd for debugging) 
     315      IF(sn_cfctl%l_prttrc) THEN  ! print mean trneds (USEd for debugging) 
    315316         WRITE(charout, fmt="('sed ')") 
    316          CALL prt_ctl_trc_info(charout) 
    317          CALL prt_ctl_trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm) 
     317         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
     318         CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
    318319      ENDIF 
    319320      ! 
     
    365366      lk_sed = ln_sediment .AND. ln_sed_2way  
    366367      ! 
     368      nitrpot(:,:,jpk) = 0._wp   ! define last level for iom_put 
     369      ! 
    367370   END SUBROUTINE p4z_sed_init 
    368371 
  • NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zsink.F90

    r12377 r13710  
    1717   USE sms_pisces      !  PISCES Source Minus Sink variables 
    1818   USE trcsink         !  General routine to compute sedimentation 
    19    USE prtctl_trc      !  print control for debugging 
     19   USE prtctl          !  print control for debugging 
    2020   USE iom             !  I/O manager 
    2121   USE lib_mpp 
     
    4040   !! * Substitutions 
    4141#  include "do_loop_substitute.h90" 
     42#  include "domzgr_substitute.h90" 
    4243   !!---------------------------------------------------------------------- 
    4344   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    8081      !    by data and from the coagulation theory 
    8182      !    ----------------------------------------------------------- 
    82       DO_3D_11_11( 1, jpkm1 ) 
     83      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    8384         zmax  = MAX( heup_01(ji,jj), hmld(ji,jj) ) 
    8485         zfact = MAX( 0., gdepw(ji,jj,jk+1,Kmm) - zmax ) / wsbio2scale 
     
    143144      IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    144145         WRITE(charout, FMT="('sink')") 
    145          CALL prt_ctl_trc_info(charout) 
    146          CALL prt_ctl_trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm) 
     146         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
     147         CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
    147148      ENDIF 
    148149      ! 
  • NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p4zsms.F90

    r12489 r13710  
    2525   USE trdtrc          ! TOP trends variables 
    2626   USE sedmodel        ! Sediment model 
    27    USE prtctl_trc      ! print control for debugging 
     27   USE prtctl          ! print control for debugging 
    2828 
    2929   IMPLICIT NONE 
     
    4141   !! * Substitutions 
    4242#  include "do_loop_substitute.h90" 
     43#  include "domzgr_substitute.h90" 
    4344   !!---------------------------------------------------------------------- 
    4445   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    6869      REAL(wp), ALLOCATABLE, DIMENSION(:,:    ) :: zw2d 
    6970      REAL(wp), ALLOCATABLE, DIMENSION(:,:,:  ) :: zw3d 
    70       REAL(wp), ALLOCATABLE, DIMENSION(:,:,:,:) ::   ztrdt   ! 4D workspace 
     71      REAL(wp), DIMENSION(jpi,jpj,jpk,jp_pisces) :: ztrbbio 
    7172 
    7273      !!--------------------------------------------------------------------- 
     
    9293      rfact = rDt_trc 
    9394      ! 
    94       ! trends computation initialisation 
    95       IF( l_trdtrc )  THEN 
    96          ALLOCATE( ztrdt(jpi,jpj,jpk,jp_pisces) )  !* store now fields before applying the Asselin filter 
    97          ztrdt(:,:,:,:)  = tr(:,:,:,:,Kmm) 
    98       ENDIF 
    99       ! 
    100  
    10195      IF( ( ln_top_euler .AND. kt == nittrc000 )  .OR. ( .NOT.ln_top_euler .AND. kt <= nittrc000 + 1 ) ) THEN 
    10296         rfactr  = 1. / rfact 
     
    116110         END DO 
    117111      ENDIF 
     112 
     113      DO jn = jp_pcs0, jp_pcs1              !   Store the tracer concentrations before entering PISCES 
     114         ztrbbio(:,:,:,jn) = tr(:,:,:,jn,Kbb) 
     115      END DO 
     116 
    118117      ! 
    119118      IF( ll_bc )    CALL p4z_bc( kt, Kbb, Kmm, Krhs )   ! external sources of nutrients  
     
    132131         xnegtr(:,:,:) = 1.e0 
    133132         DO jn = jp_pcs0, jp_pcs1 
    134             DO_3D_11_11( 1, jpk ) 
     133            DO_3D( 1, 1, 1, 1, 1, jpk ) 
    135134               IF( ( tr(ji,jj,jk,jn,Kbb) + tr(ji,jj,jk,jn,Krhs) ) < 0.e0 ) THEN 
    136135                  ztra             = ABS( tr(ji,jj,jk,jn,Kbb) ) / ( ABS( tr(ji,jj,jk,jn,Krhs) ) + rtrn ) 
     
    197196         END DO 
    198197         ! 
    199          IF( ln_top_euler ) THEN 
    200             DO jn = jp_pcs0, jp_pcs1 
    201                tr(:,:,:,jn,Kmm) = tr(:,:,:,jn,Kbb) 
    202             END DO 
    203          ENDIF 
     198      END DO 
     199      ! 
     200#endif 
     201      ! 
     202      IF( ln_sediment ) THEN  
     203         ! 
     204         CALL sed_model( kt, Kbb, Kmm, Krhs )     !  Main program of Sediment model 
     205         ! 
     206      ENDIF 
     207      ! 
     208      DO jn = jp_pcs0, jp_pcs1 
     209         tr(:,:,:,jn,Krhs) = ( tr(:,:,:,jn,Kbb) - ztrbbio(:,:,:,jn) ) * rfactr 
     210         tr(:,:,:,jn,Kbb ) = ztrbbio(:,:,:,jn) 
     211         ztrbbio(:,:,:,jn) = 0._wp 
    204212      END DO 
    205213      ! 
    206214      IF( l_trdtrc ) THEN 
    207215         DO jn = jp_pcs0, jp_pcs1 
    208            ztrdt(:,:,:,jn) = ( tr(:,:,:,jn,Kbb) - ztrdt(:,:,:,jn) ) * rfact2r  
    209216           CALL trd_trc( tr(:,:,:,jn,Krhs), jn, jptra_sms, kt, Kmm )   ! save trends 
    210217         END DO 
    211          DEALLOCATE( ztrdt )  
    212218      END IF 
    213 #endif 
    214       ! 
    215       IF( ln_sediment ) THEN  
    216          ! 
    217          CALL sed_model( kt, Kbb, Kmm, Krhs )     !  Main program of Sediment model 
    218          ! 
    219          IF( ln_top_euler ) THEN 
    220             DO jn = jp_pcs0, jp_pcs1 
    221                tr(:,:,:,jn,Kmm) = tr(:,:,:,jn,Kbb) 
    222             END DO 
    223          ENDIF 
    224          ! 
    225       ENDIF 
    226       ! 
     219      !   
    227220      IF( lrst_trc )  CALL p4z_rst( kt, Kbb, Kmm,  'WRITE' )           !* Write PISCES informations in restart file  
    228221      ! 
     
    340333         !  
    341334         IF( iom_varid( numrtr, 'PH', ldstop = .FALSE. ) > 0 ) THEN 
    342             CALL iom_get( numrtr, jpdom_autoglo, 'PH' , hi(:,:,:)  ) 
     335            CALL iom_get( numrtr, jpdom_auto, 'PH' , hi(:,:,:)  ) 
    343336         ELSE 
    344337            CALL p4z_che( Kbb, Kmm )                  ! initialize the chemical constants 
    345338            CALL ahini_for_at( hi, Kbb ) 
    346339         ENDIF 
    347          CALL iom_get( numrtr, jpdom_autoglo, 'Silicalim', xksi(:,:) ) 
     340         CALL iom_get( numrtr, jpdom_auto, 'Silicalim', xksi(:,:) ) 
    348341         IF( iom_varid( numrtr, 'Silicamax', ldstop = .FALSE. ) > 0 ) THEN 
    349             CALL iom_get( numrtr, jpdom_autoglo, 'Silicamax' , xksimax(:,:)  ) 
     342            CALL iom_get( numrtr, jpdom_auto, 'Silicamax' , xksimax(:,:)  ) 
    350343         ELSE 
    351344            xksimax(:,:) = xksi(:,:) 
     
    360353         IF( ln_p5z ) THEN 
    361354            IF( iom_varid( numrtr, 'sized', ldstop = .FALSE. ) > 0 ) THEN 
    362                CALL iom_get( numrtr, jpdom_autoglo, 'sizep' , sizep(:,:,:)  ) 
    363                CALL iom_get( numrtr, jpdom_autoglo, 'sizen' , sizen(:,:,:)  ) 
    364                CALL iom_get( numrtr, jpdom_autoglo, 'sized' , sized(:,:,:)  ) 
     355               CALL iom_get( numrtr, jpdom_auto, 'sizep' , sizep(:,:,:)  ) 
     356               CALL iom_get( numrtr, jpdom_auto, 'sizen' , sizen(:,:,:)  ) 
     357               CALL iom_get( numrtr, jpdom_auto, 'sized' , sized(:,:,:)  ) 
    365358            ELSE 
    366359               sizep(:,:,:) = 1. 
  • NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p5zlim.F90

    r12377 r13710  
    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 
     
    306306         &          / (xqndmax(ji,jj,jk) - 2. * xqndmin(ji,jj,jk) ) )   & 
    307307         &          * xqndmax(ji,jj,jk) / (zration + rtrn) 
    308          zlim3    = tr(ji,jj,jk,jpsil,Kbb) / ( tr(ji,jj,jk,jpsil,Kbb) + xksi(ji,jj) ) 
     308         zlim3    = tr(ji,jj,jk,jpsil,Kbb) / ( tr(ji,jj,jk,jpsil,Kbb) + xksi(ji,jj) + rtrn ) 
    309309         zlim4    = MAX( 0., ( zratiof - zqfemd ) / qfdopt ) 
    310310         xlimdfe(ji,jj,jk) = MIN( 1., zlim4 ) 
     
    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/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p5zmeso.F90

    r12377 r13710  
    1515   USE trc             !  passive tracers common variables  
    1616   USE sms_pisces      !  PISCES Source Minus Sink variables 
    17    USE prtctl_trc      !  print control for debugging 
     17   USE prtctl          !  print control for debugging 
    1818   USE iom             !  I/O manager 
    1919 
     
    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 
     
    359359      IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    360360        WRITE(charout, FMT="('meso')") 
    361         CALL prt_ctl_trc_info(charout) 
    362         CALL prt_ctl_trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm) 
     361        CALL prt_ctl_info( charout, cdcomp = 'top' ) 
     362        CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
    363363      ENDIF 
    364364      ! 
  • NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p5zmicro.F90

    r12377 r13710  
    1818   USE p5zlim          !  Phytoplankton limitation terms 
    1919   USE iom             !  I/O manager 
    20    USE prtctl_trc      !  print control for debugging 
     20   USE prtctl          !  print control for debugging 
    2121 
    2222   IMPLICIT NONE 
     
    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 
     
    306306      IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    307307         WRITE(charout, FMT="('micro')") 
    308          CALL prt_ctl_trc_info(charout) 
    309          CALL prt_ctl_trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm) 
     308         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
     309         CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
    310310      ENDIF 
    311311      ! 
  • NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p5zmort.F90

    r12377 r13710  
    1616   USE p4zlim 
    1717   USE p5zlim          !  Phytoplankton limitation terms 
    18    USE prtctl_trc      !  print control for debugging 
     18   USE prtctl          !  print control for debugging 
    1919 
    2020   IMPLICIT NONE 
     
    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 
     
    121121       IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    122122         WRITE(charout, FMT="('nano')") 
    123          CALL prt_ctl_trc_info(charout) 
    124          CALL prt_ctl_trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm) 
     123         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
     124         CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
    125125       ENDIF 
    126126      ! 
     
    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 
     
    179179       IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    180180         WRITE(charout, FMT="('pico')") 
    181          CALL prt_ctl_trc_info(charout) 
    182          CALL prt_ctl_trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm) 
     181         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
     182         CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
    183183       ENDIF 
    184184      ! 
     
    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. ) 
     
    254254      IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    255255         WRITE(charout, FMT="('diat')") 
    256          CALL prt_ctl_trc_info(charout) 
    257          CALL prt_ctl_trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm) 
     256         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
     257         CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
    258258      ENDIF 
    259259      ! 
  • NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/P4Z/p5zprod.F90

    r12377 r13710  
    1818   USE p4zlim 
    1919   USE p5zlim          !  Co-limitations of differents nutrients 
    20    USE prtctl_trc      !  print control for debugging 
     20   USE prtctl          !  print control for debugging 
    2121   USE iom             !  I/O manager 
    2222 
     
    5252   !! * Substitutions 
    5353#  include "do_loop_substitute.h90" 
     54#  include "domzgr_substitute.h90" 
    5455   !!---------------------------------------------------------------------- 
    5556   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    124125      ! day length in hours 
    125126      zstrn(:,:) = 0. 
    126       DO_2D_11_11 
     127      DO_2D( 1, 1, 1, 1 ) 
    127128         zargu = TAN( zcodel ) * TAN( gphit(ji,jj) * rad ) 
    128129         zargu = MAX( -1., MIN(  1., zargu ) ) 
     
    131132 
    132133         ! Impact of the day duration on phytoplankton growth 
    133       DO_3D_11_11( 1, jpkm1 ) 
     134      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    134135         IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
    135136            zval = MAX( 1., zstrn(ji,jj) ) 
     
    151152      WHERE( zstrn(:,:) < 1.e0 ) zstrn(:,:) = 24. 
    152153 
    153       DO_3D_11_11( 1, jpkm1 ) 
     154      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    154155         IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
    155156            ! Computation of the P-I slope for nanos and diatoms 
     
    185186      END_3D 
    186187 
    187       DO_3D_11_11( 1, jpkm1 ) 
     188      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    188189 
    189190          IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
     
    207208 
    208209      !  Sea-ice effect on production                                                                                
    209       DO_3D_11_11( 1, jpkm1 ) 
     210      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    210211         zprbio(ji,jj,jk)  = zprbio(ji,jj,jk) * ( 1. - fr_i(ji,jj) ) 
    211212         zprpic(ji,jj,jk)  = zprpic(ji,jj,jk) * ( 1. - fr_i(ji,jj) )  
     
    215216 
    216217      ! Computation of the various production terms of nanophytoplankton  
    217       DO_3D_11_11( 1, jpkm1 ) 
     218      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    218219         IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
    219220            !  production terms for nanophyto. 
     
    248249 
    249250      ! Computation of the various production terms of picophytoplankton  
    250       DO_3D_11_11( 1, jpkm1 ) 
     251      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    251252         IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
    252253            !  production terms for picophyto. 
     
    281282 
    282283      ! Computation of the various production terms of diatoms 
    283       DO_3D_11_11( 1, jpkm1 ) 
     284      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    284285         IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
    285286            !  production terms for diatomees 
     
    315316      END_3D 
    316317 
    317       DO_3D_11_11( 1, jpkm1 ) 
     318      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    318319         IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
    319320               !  production terms for nanophyto. ( chlorophyll ) 
     
    346347 
    347348      !   Update the arrays TRA which contain the biological sources and sinks 
    348       DO_3D_11_11( 1, jpkm1 ) 
     349      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    349350        zprontot = zpronewn(ji,jj,jk) + zproregn(ji,jj,jk) 
    350351        zproptot = zpronewp(ji,jj,jk) + zproregp(ji,jj,jk) 
     
    409410     IF( ln_ligand ) THEN 
    410411         zpligprod1(:,:,:) = 0._wp    ;    zpligprod2(:,:,:) = 0._wp              
    411          DO_3D_11_11( 1, jpkm1 ) 
     412         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    412413           zdocprod = excretd * zprorcad(ji,jj,jk) + excretn * zprorcan(ji,jj,jk) + excretp * zprorcap(ji,jj,jk) 
    413414           zfeup    = texcretn * zprofen(ji,jj,jk) + texcretd * zprofed(ji,jj,jk) + texcretp * zprofep(ji,jj,jk) 
     
    460461      IF(sn_cfctl%l_prttrc)   THEN  ! print mean trends (used for debugging) 
    461462         WRITE(charout, FMT="('prod')") 
    462          CALL prt_ctl_trc_info(charout) 
    463          CALL prt_ctl_trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm) 
     463         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
     464         CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
    464465      ENDIF 
    465466      ! 
  • NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/SED/oce_sed.F90

    r12489 r13710  
    1313   USE dom_oce , ONLY :   glamt     =>   glamt          !: longitude of t-point (degre) 
    1414   USE dom_oce , ONLY :   gphit     =>   gphit          !: latitude  of t-point (degre) 
     15!!st  
     16#if ! defined key_qco 
    1517   USE dom_oce , ONLY :   e3t       =>   e3t            !: latitude  of t-point (degre) 
     18#endif 
    1619   USE dom_oce , ONLY :   e3t_1d    =>   e3t_1d         !: reference depth of t-points (m) 
    1720   USE dom_oce , ONLY :   gdepw_0   =>   gdepw_0        !: reference depth of t-points (m) 
     
    5356 
    5457END MODULE oce_sed 
    55  
    56  
  • NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/SED/sedchem.F90

    r12377 r13710  
    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 
     
    577577         saltprac(:) = salt(:) * 35.0 / 35.16504 
    578578      ELSE 
    579          saltprac(:) = temp(:) 
     579         saltprac(:) = salt(:) 
    580580      ENDIF 
    581581 
  • NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/SED/seddta.F90

    r12489 r13710  
    2424   !! * Substitutions 
    2525#  include "do_loop_substitute.h90" 
     26#  include "domzgr_substitute.h90" 
    2627   !! $Id$ 
    2728CONTAINS 
     
    9596      !    ----------------------------------------------------------- 
    9697      IF (ln_sediment_offline) THEN 
    97          DO_2D_11_11 
     98         DO_2D( 1, 1, 1, 1 ) 
    9899            ikt = mbkt(ji,jj) 
    99100            zwsbio4(ji,jj) = wsbio2 / rday 
     
    101102         END_2D 
    102103      ELSE 
    103          DO_2D_11_11 
     104         DO_2D( 1, 1, 1, 1 ) 
    104105            ikt = mbkt(ji,jj) 
    105106            zdep = e3t(ji,jj,ikt,Kmm) / rDt_trc 
     
    110111 
    111112      trc_data(:,:,:) = 0. 
    112       DO_2D_11_11 
     113      DO_2D( 1, 1, 1, 1 ) 
    113114         ikt = mbkt(ji,jj) 
    114115         IF ( tmask(ji,jj,ikt) == 1 ) THEN 
     
    164165      CALL pack_arr ( jpoce,  rainrm_dta(1:jpoce,jscal), trc_data(1:jpi,1:jpj,14), iarroce(1:jpoce) ) 
    165166      rainrm_dta(1:jpoce,jscal) = rainrm_dta(1:jpoce,jscal) * 1e-4 
    166       ! vector temperature [°C] and salinity  
     167      ! vector temperature [C] and salinity  
    167168      CALL pack_arr ( jpoce,  temp(1:jpoce), trc_data(1:jpi,1:jpj,15), iarroce(1:jpoce) ) 
    168169      CALL pack_arr ( jpoce,  salt(1:jpoce), trc_data(1:jpi,1:jpj,16), iarroce(1:jpoce) ) 
  • NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/SED/sedini.F90

    r12489 r13710  
    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/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/SED/sedinorg.F90

    r10225 r13710  
    8989            zsolcpcl = zsolcpcl + solcp(ji,jk,jsclay) * dz(jk) 
    9090         END DO 
     91         zsolcpsi = MAX( zsolcpsi, rtrn ) 
    9192         zsieq(ji) = sieqs(ji) * MAX(0.25, 1.0 - (0.045 * zsolcpcl / zsolcpsi )**0.58 ) 
    9293         zsieq(ji) = MAX( rtrn, sieqs(ji) ) 
  • NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/SED/sedrst.F90

    r12649 r13710  
    123123         cltra = TRIM(sedtrcd(jn)) 
    124124         IF( iom_varid( numrsr, TRIM(cltra) , ldstop = .FALSE. ) > 0 ) THEN 
    125             CALL iom_get( numrsr, jpdom_autoglo, TRIM(cltra), zdta(:,:,:,jn) ) 
     125            CALL iom_get( numrsr, jpdom_auto, TRIM(cltra), zdta(:,:,:,jn) ) 
    126126         ELSE 
    127127            zdta(:,:,:,jn) = 0.0 
     
    142142         cltra = TRIM(seddia3d(jn)) 
    143143         IF( iom_varid( numrsr, TRIM(cltra) , ldstop = .FALSE. ) > 0 ) THEN 
    144             CALL iom_get( numrsr, jpdom_autoglo, TRIM(cltra), zdta1(:,:,:,jn) ) 
     144            CALL iom_get( numrsr, jpdom_auto, TRIM(cltra), zdta1(:,:,:,jn) ) 
    145145         ELSE 
    146146            zdta1(:,:,:,jn) = 0.0 
     
    169169      cltra = "dbioturb" 
    170170      IF( iom_varid( numrsr, TRIM(cltra) , ldstop = .FALSE. ) > 0 ) THEN 
    171          CALL iom_get( numrsr, jpdom_autoglo, TRIM(cltra), zdta2(:,:,:) ) 
     171         CALL iom_get( numrsr, jpdom_auto, TRIM(cltra), zdta2(:,:,:) ) 
    172172      ELSE 
    173173         zdta2(:,:,:) = 0.0 
     
    179179      cltra = "irrig" 
    180180      IF( iom_varid( numrsr, TRIM(cltra) , ldstop = .FALSE. ) > 0 ) THEN 
    181          CALL iom_get( numrsr, jpdom_autoglo, TRIM(cltra), zdta2(:,:,:) ) 
     181         CALL iom_get( numrsr, jpdom_auto, TRIM(cltra), zdta2(:,:,:) ) 
    182182      ELSE 
    183183         zdta2(:,:,:) = 0.0 
     
    189189      cltra = "sedligand" 
    190190      IF( iom_varid( numrsr, TRIM(cltra) , ldstop = .FALSE. ) > 0 ) THEN 
    191          CALL iom_get( numrsr, jpdom_autoglo, TRIM(cltra), zdta2(:,:,:) ) 
     191         CALL iom_get( numrsr, jpdom_auto, TRIM(cltra), zdta2(:,:,:) ) 
    192192      ELSE 
    193193         zdta2(:,:,:) = 0.0 
  • NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/SED/sedsfc.F90

    r12377 r13710  
    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/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/SED/trcdmp_sed.F90

    r12377 r13710  
    2121   USE trc             ! ocean passive tracers variables 
    2222   USE trcdta 
    23    USE prtctl_trc      ! Print control for debbuging 
     23   USE prtctl          ! Print control for debbuging 
    2424   USE iom 
    2525 
     
    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) )     & 
     
    107107      IF( sn_cfctl%l_prttrc ) THEN 
    108108         WRITE(charout, FMT="('dmp ')") 
    109          CALL prt_ctl_trc_info(charout) 
    110          CALL prt_ctl_trc( tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm, clinfo2='trd' ) 
     109         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
     110         CALL prt_ctl( tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm, clinfo3='trd' ) 
    111111      ENDIF 
    112112      ! 
  • NEMO/branches/2020/dev_r12702_ASINTER-02_emanuelaclementi_Waves/src/TOP/PISCES/trcwri_pisces.F90

    r12377 r13710  
    2121   !! * Substitutions 
    2222#  include "do_loop_substitute.h90" 
     23#  include "domzgr_substitute.h90" 
    2324   !!---------------------------------------------------------------------- 
    2425   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    6869            zo2min   (:,:) = tr(:,:,1,jpoxy,Kmm) * tmask(:,:,1) 
    6970            zdepo2min(:,:) = gdepw(:,:,1,Kmm)   * tmask(:,:,1) 
    70             DO_3D_11_11( 2, jpkm1 ) 
     71            DO_3D( 1, 1, 1, 1, 2, jpkm1 ) 
    7172               IF( tmask(ji,jj,jk) == 1 ) then 
    7273                  IF( tr(ji,jj,jk,jpoxy,Kmm) < zo2min(ji,jj) ) then 
Note: See TracChangeset for help on using the changeset viewer.