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 12928 for NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser/src/OCE/TRD/trdmxl.F90 – NEMO

Ignore:
Timestamp:
2020-05-14T21:46:00+02:00 (4 years ago)
Author:
smueller
Message:

Synchronizing with /NEMO/trunk@12925 (ticket #2170)

Location:
NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser

    • Property svn:externals
      •  

        old new  
        66^/vendors/FCM@HEAD            ext/FCM 
        77^/vendors/IOIPSL@HEAD         ext/IOIPSL 
         8 
         9# SETTE 
         10^/utils/CI/sette@HEAD         sette 
  • NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser/src/OCE/TRD/trdmxl.F90

    r12178 r12928  
    6868   INTEGER ::   ionce, icount                    
    6969 
     70   !! * Substitutions 
     71#  include "do_loop_substitute.h90" 
    7072   !!---------------------------------------------------------------------- 
    7173   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
     
    8688 
    8789 
    88    SUBROUTINE trd_tra_mxl( ptrdx, ptrdy, ktrd, kt, p2dt, kmxln ) 
     90   SUBROUTINE trd_tra_mxl( ptrdx, ptrdy, ktrd, kt, p2dt, kmxln, Kmm ) 
    8991      !!---------------------------------------------------------------------- 
    9092      !!                  ***  ROUTINE trd_tra_mng  *** 
     
    98100      INTEGER                   , INTENT(in   ) ::   ktrd    ! tracer trend index 
    99101      INTEGER                   , INTENT(in   ) ::   kt      ! time step index 
     102      INTEGER                   , INTENT(in   ) ::   Kmm     ! time level index 
    100103      REAL(wp)                  , INTENT(in   ) ::   p2dt    ! time step  [s] 
    101104      REAL(wp), DIMENSION(:,:)  , INTENT(in   ) ::   kmxln   ! number of t-box for the vertical average  
     
    116119         ! 
    117120         wkx(:,:,:) = 0._wp         !==  now ML weights for vertical averaging  ==! 
    118          DO jk = 1, jpktrd               ! initialize wkx with vertical scale factor in mixed-layer 
    119             DO jj = 1,jpj 
    120                DO ji = 1,jpi 
    121                   IF( jk - kmxln(ji,jj) < 0 )   wkx(ji,jj,jk) = e3t_n(ji,jj,jk) * tmask(ji,jj,jk) 
    122                END DO 
    123             END DO 
    124          END DO 
     121         DO_3D_11_11( 1, jpktrd ) 
     122            IF( jk - kmxln(ji,jj) < 0 )   wkx(ji,jj,jk) = e3t(ji,jj,jk,Kmm) * tmask(ji,jj,jk) 
     123         END_3D 
    125124         hmxl(:,:) = 0._wp               ! NOW mixed-layer depth 
    126125         DO jk = 1, jpktrd 
     
    136135         tml(:,:) = 0._wp   ;   sml(:,:) = 0._wp 
    137136         DO jk = 1, jpktrd 
    138             tml(:,:) = tml(:,:) + wkx(:,:,jk) * tsn(:,:,jk,jp_tem) 
    139             sml(:,:) = sml(:,:) + wkx(:,:,jk) * tsn(:,:,jk,jp_sal) 
     137            tml(:,:) = tml(:,:) + wkx(:,:,jk) * ts(:,:,jk,jp_tem,Kmm) 
     138            sml(:,:) = sml(:,:) + wkx(:,:,jk) * ts(:,:,jk,jp_sal,Kmm) 
    140139         END DO 
    141140         ! 
     
    371370         hmxlbn(:,:) = hmxl(:,:) 
    372371 
    373          IF( ln_ctl ) THEN 
     372         IF( sn_cfctl%l_prtctl ) THEN 
    374373            WRITE(numout,*) '             we reach kt == nit000 + 1 = ', nit000+1 
    375374            CALL prt_ctl(tab2d_1=tmlbb   , clinfo1=' tmlbb   -   : ', mask1=tmask) 
     
    380379      END IF 
    381380 
    382       IF( ( ln_rstart ) .AND. ( kt == nit000 ) .AND. ( ln_ctl ) ) THEN 
     381      IF( ( ln_rstart ) .AND. ( kt == nit000 ) .AND. sn_cfctl%l_prtctl ) THEN 
    383382         IF( ln_trdmxl_instant ) THEN 
    384383            WRITE(numout,*) '             restart from kt == nit000 = ', nit000 
     
    548547         hmxlbn         (:,:)   = hmxl    (:,:) 
    549548          
    550          IF( ln_ctl ) THEN 
     549         IF( sn_cfctl%l_prtctl ) THEN 
    551550            IF( ln_trdmxl_instant ) THEN 
    552551               CALL prt_ctl(tab2d_1=tmlbb   , clinfo1=' tmlbb   -   : ', mask1=tmask) 
     
    732731      !!---------------------------------------------------------------------- 
    733732      ! 
    734       REWIND( numnam_ref )              ! Namelist namtrd_mxl in reference namelist : mixed layer trends diagnostic 
    735733      READ  ( numnam_ref, namtrd_mxl, IOSTAT = ios, ERR = 901 ) 
    736734901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namtrd_mxl in reference namelist' ) 
    737735 
    738       REWIND( numnam_cfg )              ! Namelist namtrd_mxl in configuration namelist : mixed layer trends diagnostic 
    739736      READ  ( numnam_cfg, namtrd_mxl, IOSTAT = ios, ERR = 902 ) 
    740737902   IF( ios >  0 )   CALL ctl_nam ( ios , 'namtrd_mxl in configuration namelist' ) 
Note: See TracChangeset for help on using the changeset viewer.