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/dynspg.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/DYN/dynspg.F90

    r7037 r7508  
    8383      IF( l_trddyn )   THEN                      ! temporary save of ta and sa trends 
    8484         CALL wrk_alloc( jpi,jpj,jpk,   ztrdu, ztrdv )  
    85 !$OMP PARALLEL WORKSHARE 
    86          ztrdu(:,:,:) = ua(:,:,:) 
    87          ztrdv(:,:,:) = va(:,:,:) 
    88 !$OMP END PARALLEL WORKSHARE 
     85!$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 
     86        DO jk = 1, jpk 
     87           DO jj = 1, jpj 
     88              DO ji = 1, jpi 
     89                 ztrdu(ji,jj,jk) = ua(ji,jj,jk) 
     90                 ztrdv(ji,jj,jk) = va(ji,jj,jk) 
     91              END DO 
     92           END DO 
     93        END DO 
    8994      ENDIF 
    9095      ! 
     
    134139            zgrau0r     = - grav * r1_rau0 
    135140!$OMP PARALLEL 
    136 !$OMP WORKSHARE 
    137             zpice(:,:) = (  zintp * snwice_mass(:,:) + ( 1.- zintp ) * snwice_mass_b(:,:)  ) * zgrau0r 
    138 !$OMP END WORKSHARE 
     141!$OMP DO schedule(static) private(jj, ji) 
     142            DO jj = 1, jpj 
     143               DO ji = 1, jpi 
     144                  zpice(ji,jj) = (  zintp * snwice_mass(ji,jj) + ( 1.- zintp ) * snwice_mass_b(ji,jj)  ) * zgrau0r 
     145               END DO 
     146            END DO 
    139147!$OMP DO schedule(static) private(jj, ji) 
    140148            DO jj = 2, jpjm1 
     
    170178      !                     
    171179      IF( l_trddyn )   THEN                  ! save the surface pressure gradient trends for further diagnostics 
    172 !$OMP PARALLEL WORKSHARE 
    173          ztrdu(:,:,:) = ua(:,:,:) - ztrdu(:,:,:) 
    174          ztrdv(:,:,:) = va(:,:,:) - ztrdv(:,:,:) 
    175 !$OMP END PARALLEL WORKSHARE 
     180!$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 
     181           DO jk = 1, jpk 
     182              DO jj = 1, jpj 
     183                 DO ji = 1, jpi 
     184                    ztrdu(ji,jj,jk) = ua(ji,jj,jk) - ztrdu(ji,jj,jk) 
     185                    ztrdv(ji,jj,jk) = va(ji,jj,jk) - ztrdv(ji,jj,jk) 
     186                 END DO 
     187              END DO 
     188           END DO 
    176189         CALL trd_dyn( ztrdu, ztrdv, jpdyn_spg, kt ) 
    177190         CALL wrk_dealloc( jpi,jpj,jpk,   ztrdu, ztrdv )  
Note: See TracChangeset for help on using the changeset viewer.