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/DYN/dynkeg.F90 – NEMO

Ignore:
Timestamp:
2016-12-19T13:15:59+01:00 (7 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/DYN/dynkeg.F90

    r6748 r7508  
    9292      IF( l_trddyn ) THEN           ! Save ua and va trends 
    9393         CALL wrk_alloc( jpi,jpj,jpk,   ztrdu, ztrdv ) 
    94 !$OMP PARALLEL WORKSHARE 
    95          ztrdu(:,:,:) = ua(:,:,:)  
    96          ztrdv(:,:,:) = va(:,:,:)  
    97 !$OMP END PARALLEL WORKSHARE 
     94!$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 
     95        DO jk = 1, jpk 
     96           DO jj = 1, jpj 
     97              DO ji = 1, jpi 
     98                 ztrdu(ji,jj,jk) = ua(ji,jj,jk) 
     99                 ztrdv(ji,jj,jk) = va(ji,jj,jk) 
     100              END DO 
     101           END DO 
     102        END DO 
    98103      ENDIF 
    99        
    100          zhke(:,:,jpk) = 0._wp 
     104!$OMP PARALLEL DO schedule(static) private(jj, ji) 
     105      DO jj = 1, jpj 
     106         DO ji = 1, jpi 
     107            zhke(ji,jj,jpk) = 0._wp 
     108         END DO 
     109      END DO 
    101110       
    102111      SELECT CASE ( kscheme )             !== Horizontal kinetic energy at T-point  ==! 
     
    149158      ! 
    150159      IF( l_trddyn ) THEN                 ! save the Kinetic Energy trends for diagnostic 
    151 !$OMP PARALLEL WORKSHARE 
    152          ztrdu(:,:,:) = ua(:,:,:) - ztrdu(:,:,:) 
    153          ztrdv(:,:,:) = va(:,:,:) - ztrdv(:,:,:) 
    154 !$OMP END PARALLEL WORKSHARE 
     160!$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 
     161           DO jk = 1, jpk 
     162              DO jj = 1, jpj 
     163                 DO ji = 1, jpi 
     164                    ztrdu(ji,jj,jk) = ua(ji,jj,jk) - ztrdu(ji,jj,jk) 
     165                    ztrdv(ji,jj,jk) = va(ji,jj,jk) - ztrdv(ji,jj,jk) 
     166                 END DO 
     167              END DO 
     168           END DO 
    155169         CALL trd_dyn( ztrdu, ztrdv, jpdyn_keg, kt ) 
    156170         CALL wrk_dealloc( jpi,jpj,jpk,   ztrdu, ztrdv ) 
Note: See TracChangeset for help on using the changeset viewer.