New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 13540 for NEMO/branches/2020/r12377_ticket2386/src/TOP/PISCES/P4Z – NEMO

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

Ticket #2386: update to latest trunk

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

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/r12377_ticket2386

    • Property svn:externals
      •  

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

    r12377 r13540  
    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/r12377_ticket2386/src/TOP/PISCES/P4Z/p4zbc.F90

    r12377 r13540  
    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/r12377_ticket2386/src/TOP/PISCES/P4Z/p4zbio.F90

    r12377 r13540  
    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/r12377_ticket2386/src/TOP/PISCES/P4Z/p4zche.F90

    r12377 r13540  
    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/r12377_ticket2386/src/TOP/PISCES/P4Z/p4zfechem.F90

    r12377 r13540  
    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/r12377_ticket2386/src/TOP/PISCES/P4Z/p4zflx.F90

    r12377 r13540  
    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/r12377_ticket2386/src/TOP/PISCES/P4Z/p4zligand.F90

    r12377 r13540  
    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/r12377_ticket2386/src/TOP/PISCES/P4Z/p4zlim.F90

    r12377 r13540  
    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/r12377_ticket2386/src/TOP/PISCES/P4Z/p4zlys.F90

    r12377 r13540  
    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/r12377_ticket2386/src/TOP/PISCES/P4Z/p4zmeso.F90

    r12377 r13540  
    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/r12377_ticket2386/src/TOP/PISCES/P4Z/p4zmicro.F90

    r12377 r13540  
    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/r12377_ticket2386/src/TOP/PISCES/P4Z/p4zmort.F90

    r12377 r13540  
    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/r12377_ticket2386/src/TOP/PISCES/P4Z/p4zopt.F90

    r12377 r13540  
    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/r12377_ticket2386/src/TOP/PISCES/P4Z/p4zpoc.F90

    r12377 r13540  
    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/r12377_ticket2386/src/TOP/PISCES/P4Z/p4zprod.F90

    r12377 r13540  
    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/r12377_ticket2386/src/TOP/PISCES/P4Z/p4zrem.F90

    r12377 r13540  
    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/r12377_ticket2386/src/TOP/PISCES/P4Z/p4zsed.F90

    r12377 r13540  
    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 
     
    314315      IF(sn_cfctl%l_prttrc) THEN  ! print mean trends (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      ! 
  • NEMO/branches/2020/r12377_ticket2386/src/TOP/PISCES/P4Z/p4zsink.F90

    r12377 r13540  
    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/r12377_ticket2386/src/TOP/PISCES/P4Z/p4zsms.F90

    r12511 r13540  
    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/r12377_ticket2386/src/TOP/PISCES/P4Z/p5zlim.F90

    r12377 r13540  
    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/r12377_ticket2386/src/TOP/PISCES/P4Z/p5zmeso.F90

    r12377 r13540  
    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/r12377_ticket2386/src/TOP/PISCES/P4Z/p5zmicro.F90

    r12377 r13540  
    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/r12377_ticket2386/src/TOP/PISCES/P4Z/p5zmort.F90

    r12377 r13540  
    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/r12377_ticket2386/src/TOP/PISCES/P4Z/p5zprod.F90

    r12377 r13540  
    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      ! 
Note: See TracChangeset for help on using the changeset viewer.