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 8055 for branches/2017/wrk_OMP_test_for_Silvia/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfswm.F90 – NEMO

Ignore:
Timestamp:
2017-05-20T13:49:38+02:00 (7 years ago)
Author:
gm
Message:

wrk_OMP: 2nd step: add OMP processor distribution in ZDF package

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/wrk_OMP_test_for_Silvia/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfswm.F90

    r7990 r8055  
    2727   PUBLIC zdf_swm_init    ! routine called in zdf_phy_init 
    2828 
     29   !! * Substitutions 
     30#  include "domain_substitute.h90"    
    2931   !!---------------------------------------------------------------------- 
    3032   !! NEMO/OPA 4.0 , NEMO Consortium (2017)  
     
    3436CONTAINS 
    3537 
    36    SUBROUTINE zdf_swm( kt ) 
     38   SUBROUTINE zdf_swm( ARG_2D, kt, p_avm, p_avt, p_avs ) 
    3739      !!--------------------------------------------------------------------- 
    3840      !!                     ***  ROUTINE zdf_swm *** 
     
    5153      !! reference : Qiao et al. GRL, 2004 
    5254      !!--------------------------------------------------------------------- 
    53       INTEGER, INTENT(in) ::   kt   ! ocean time step 
     55      INTEGER                    , INTENT(in   ) ::   ARG_2D         ! inner domain start-end i-indices 
     56      INTEGER                    , INTENT(in   ) ::   kt             ! ocean time step 
     57      REAL(wp), DIMENSION(:,:,:) , INTENT(inout) ::   p_avm          ! momentum Kz (w-points) 
     58      REAL(wp), DIMENSION(:,:,:) , INTENT(inout) ::   p_avt, p_avs   ! tracer   Kz (w-points) 
    5459      ! 
    5560      INTEGER ::   ji, jj, jk   ! dummy loop indices 
     
    5964      zcoef = 1._wp * 0.353553_wp 
    6065      DO jk = 2, jpkm1 
    61          DO jj = 2, jpjm1 
    62             DO ji = 2, jpim1 
     66         DO jj = k_Jstr, k_Jend 
     67            DO ji = k_Istr, k_Iend 
    6368               zqb = zcoef * hsw(ji,jj) * tsd2d(ji,jj) * EXP( -3. * wnum(ji,jj) * gdepw_n(ji,jj,jk) ) * wmask(ji,jj,jk) 
    6469               ! 
    65                avt(ji,jj,jk) = avt(ji,jj,jk) + zqb 
    66                avs(ji,jj,jk) = avs(ji,jj,jk) + zqb 
    67                avm(ji,jj,jk) = avm(ji,jj,jk) + zqb 
     70               p_avt(ji,jj,jk) = p_avt(ji,jj,jk) + zqb 
     71               p_avs(ji,jj,jk) = p_avs(ji,jj,jk) + zqb 
     72               p_avm(ji,jj,jk) = p_avm(ji,jj,jk) + zqb 
    6873            END DO 
    6974         END DO 
Note: See TracChangeset for help on using the changeset viewer.