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/ZDF/zdfevd.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/ZDF/zdfevd.F90

    r10068 r12928  
    3131   PUBLIC   zdf_evd    ! called by step.F90 
    3232 
     33   !! * Substitutions 
     34#  include "do_loop_substitute.h90" 
    3335   !!---------------------------------------------------------------------- 
    3436   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
     
    3840CONTAINS 
    3941 
    40    SUBROUTINE zdf_evd( kt, p_avm, p_avt ) 
     42   SUBROUTINE zdf_evd( kt, Kmm, Krhs, p_avm, p_avt ) 
    4143      !!---------------------------------------------------------------------- 
    4244      !!                  ***  ROUTINE zdf_evd  *** 
     
    5658      !!---------------------------------------------------------------------- 
    5759      INTEGER                    , INTENT(in   ) ::   kt             ! ocean time-step indexocean time step 
     60      INTEGER                    , INTENT(in   ) ::   Kmm, Krhs      ! time level indices 
    5861      REAL(wp), DIMENSION(:,:,:) , INTENT(inout) ::   p_avm, p_avt   !  momentum and tracer Kz (w-points) 
    5962      ! 
     
    8487!         END WHERE 
    8588         ! 
    86          DO jk = 1, jpkm1  
    87             DO jj = 2, jpjm1 
    88                DO ji = 2, jpim1 
    89                   IF(  MIN( rn2(ji,jj,jk), rn2b(ji,jj,jk) ) <= -1.e-12 ) THEN 
    90                      p_avt(ji,jj,jk) = rn_evd * wmask(ji,jj,jk) 
    91                      p_avm(ji,jj,jk) = rn_evd * wmask(ji,jj,jk) 
    92                   ENDIF 
    93                END DO 
    94             END DO 
    95          END DO  
     89         DO_3D_00_00( 1, jpkm1 ) 
     90            IF(  MIN( rn2(ji,jj,jk), rn2b(ji,jj,jk) ) <= -1.e-12 ) THEN 
     91               p_avt(ji,jj,jk) = rn_evd * wmask(ji,jj,jk) 
     92               p_avm(ji,jj,jk) = rn_evd * wmask(ji,jj,jk) 
     93            ENDIF 
     94         END_3D 
    9695         ! 
    9796         zavm_evd(:,:,:) = p_avm(:,:,:) - zavm_evd(:,:,:)   ! change in avm due to evd 
     
    104103!         END WHERE 
    105104 
    106          DO jk = 1, jpkm1 
    107             DO jj = 2, jpjm1 
    108                DO ji = 2, jpim1 
    109                   IF(  MIN( rn2(ji,jj,jk), rn2b(ji,jj,jk) ) <= -1.e-12 )   & 
    110                      p_avt(ji,jj,jk) = rn_evd * wmask(ji,jj,jk) 
    111                END DO 
    112             END DO 
    113          END DO 
     105         DO_3D_00_00( 1, jpkm1 ) 
     106            IF(  MIN( rn2(ji,jj,jk), rn2b(ji,jj,jk) ) <= -1.e-12 )   & 
     107               p_avt(ji,jj,jk) = rn_evd * wmask(ji,jj,jk) 
     108         END_3D 
    114109         ! 
    115110      END SELECT  
     
    117112      zavt_evd(:,:,:) = p_avt(:,:,:) - zavt_evd(:,:,:)   ! change in avt due to evd 
    118113      CALL iom_put( "avt_evd", zavt_evd )              ! output this change 
    119       IF( l_trdtra ) CALL trd_tra( kt, 'TRA', jp_tem, jptra_evd, zavt_evd ) 
     114      IF( l_trdtra ) CALL trd_tra( kt, Kmm, Krhs, 'TRA', jp_tem, jptra_evd, zavt_evd ) 
    120115      ! 
    121116   END SUBROUTINE zdf_evd 
Note: See TracChangeset for help on using the changeset viewer.