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 7508 for branches/2016/dev_r6519_HPC_4/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfevd.F90 – NEMO

Ignore:
Timestamp:
2016-12-19T13:15:59+01:00 (8 years ago)
Author:
mocavero
Message:

changes on code duplication and workshare construct

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2016/dev_r6519_HPC_4/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfevd.F90

    r7037 r7508  
    6868      CALL wrk_alloc( jpi,jpj,jpk,   zavt_evd, zavm_evd )  
    6969      ! 
    70 !$OMP PARALLEL WORKSHARE 
    71       zavt_evd(:,:,:) = avt(:,:,:)           ! set avt prior to evd application 
    72 !$OMP END PARALLEL WORKSHARE 
     70!$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 
     71         DO jk = 1, jpk 
     72            DO jj = 1, jpj 
     73               DO ji = 1, jpi 
     74                  zavt_evd(ji,jj,jk) = avt(ji,jj,jk)           ! set avt prior to evd application 
     75               END DO 
     76            END DO 
     77         END DO  
    7378      ! 
    7479      SELECT CASE ( nn_evdm ) 
     
    7782         ! 
    7883!$OMP PARALLEL 
    79 !$OMP WORKSHARE 
    80          zavm_evd(:,:,:) = avm(:,:,:)           ! set avm prior to evd application 
    81 !$OMP END WORKSHARE 
     84!$OMP DO schedule(static) private(jk, jj, ji) 
     85         DO jk = 1, jpk 
     86            DO jj = 1, jpj 
     87               DO ji = 1, jpi 
     88                  zavm_evd(ji,jj,jk) = avm(ji,jj,jk)           ! set avm prior to evd application 
     89               END DO 
     90            END DO 
     91         END DO  
    8292         ! 
    8393!$OMP DO schedule(static) private(jk, jj, ji) 
     
    101111         CALL lbc_lnk( avmu, 'U', 1. )   ;   CALL lbc_lnk( avmv, 'V', 1. ) 
    102112         ! 
    103 !$OMP PARALLEL WORKSHARE 
    104          zavm_evd(:,:,:) = avm(:,:,:) - zavm_evd(:,:,:)   ! change in avm due to evd 
    105 !$OMP END PARALLEL WORKSHARE 
     113!$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 
     114         DO jk = 1, jpk 
     115            DO jj = 1, jpj 
     116               DO ji = 1, jpi 
     117                  zavm_evd(ji,jj,jk) = avm(ji,jj,jk) - zavm_evd(ji,jj,jk)   ! change in avm due to evd 
     118               END DO 
     119            END DO 
     120         END DO  
    106121         CALL iom_put( "avm_evd", zavm_evd )              ! output this change 
    107122         ! 
     
    120135      END SELECT  
    121136 
    122 !$OMP PARALLEL WORKSHARE 
    123       zavt_evd(:,:,:) = avt(:,:,:) - zavt_evd(:,:,:)   ! change in avt due to evd 
    124 !$OMP END PARALLEL WORKSHARE 
     137!$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 
     138         DO jk = 1, jpk 
     139            DO jj = 1, jpj 
     140               DO ji = 1, jpi 
     141                  zavt_evd(ji,jj,jk) = avt(ji,jj,jk) - zavt_evd(ji,jj,jk)   ! change in avt due to evd 
     142               END DO 
     143            END DO 
     144         END DO  
    125145      CALL iom_put( "avt_evd", zavt_evd )              ! output this change 
    126146      ! 
Note: See TracChangeset for help on using the changeset viewer.