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/LIM_SRC_3/limrhg.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/LIM_SRC_3/limrhg.F90

    r7037 r7508  
    186186 
    187187!$OMP PARALLEL 
    188 !$OMP WORKSHARE 
    189       delta_i(:,:) = 0._wp   ; 
    190       zpresh (:,:) = 0._wp   ;   
    191       zpreshc(:,:) = 0._wp 
    192       u_ice2 (:,:) = 0._wp   ;   v_ice1(:,:) = 0._wp 
    193       divu_i (:,:) = 0._wp   ;   zdt   (:,:) = 0._wp   ;   zds(:,:) = 0._wp 
    194       shear_i(:,:) = 0._wp 
    195 !$OMP END WORKSHARE 
     188!$OMP DO schedule(static) private(jj, ji) 
     189      DO jj = 1, jpj 
     190         DO ji = 1, jpi 
     191            delta_i(ji,jj) = 0._wp   ; 
     192            zpresh (ji,jj) = 0._wp   ;   
     193            zpreshc(ji,jj) = 0._wp 
     194            u_ice2 (ji,jj) = 0._wp   ;   v_ice1(ji,jj) = 0._wp 
     195            divu_i (ji,jj) = 0._wp   ;   zdt   (ji,jj) = 0._wp   ;   zds(ji,jj) = 0._wp 
     196            shear_i(ji,jj) = 0._wp 
     197         END DO 
     198      END DO 
    196199 
    197200!$OMP DO schedule(static) private(jj,ji) 
     
    250253         zintb = REAL( nn_fsbc + 1 ) / REAL( nn_fsbc ) * 0.5_wp 
    251254         ! 
    252 !$OMP PARALLEL WORKSHARE 
    253          zpice(:,:) = ssh_m(:,:) + (  zintn * snwice_mass(:,:) +  zintb * snwice_mass_b(:,:)  ) * r1_rau0 
    254 !$OMP END PARALLEL WORKSHARE 
     255!$OMP PARALLEL DO schedule(static) private(jj, ji) 
     256      DO jj = 1, jpj 
     257         DO ji = 1, jpi 
     258            zpice(ji,jj) = ssh_m(ji,jj) + (  zintn * snwice_mass(ji,jj) +  zintb * snwice_mass_b(ji,jj)  ) * r1_rau0 
     259         END DO 
     260      END DO 
    255261         ! 
    256262      ELSE                                    !== non-embedded sea ice: use ocean surface for slope calculation ==! 
    257 !$OMP PARALLEL WORKSHARE 
    258          zpice(:,:) = ssh_m(:,:) 
    259 !$OMP END PARALLEL WORKSHARE 
     263!$OMP PARALLEL DO schedule(static) private(jj, ji) 
     264         DO jj = 1, jpj 
     265            DO ji = 1, jpi 
     266               zpice(ji,jj) = ssh_m(ji,jj) 
     267            END DO 
     268         END DO 
    260269      ENDIF 
    261270 
     
    332341 
    333342      !-Initialise stress tensor  
    334 !$OMP PARALLEL WORKSHARE 
    335       zs1 (:,:) = stress1_i (:,:)  
    336       zs2 (:,:) = stress2_i (:,:) 
    337       zs12(:,:) = stress12_i(:,:) 
    338 !$OMP END PARALLEL WORKSHARE 
     343!$OMP PARALLEL DO schedule(static) private(jj, ji) 
     344      DO jj = 1, jpj 
     345         DO ji = 1, jpi 
     346            zs1 (ji,jj) = stress1_i (ji,jj)  
     347            zs2 (ji,jj) = stress2_i (ji,jj) 
     348            zs12(ji,jj) = stress12_i(ji,jj) 
     349         END DO 
     350      END DO 
    339351 
    340352      !                                               !----------------------! 
     
    677689!$OMP END DO NOWAIT 
    678690      ! * Store the stress tensor for the next time step 
    679 !$OMP WORKSHARE 
    680       stress1_i (:,:) = zs1 (:,:) 
    681       stress2_i (:,:) = zs2 (:,:) 
    682       stress12_i(:,:) = zs12(:,:) 
    683 !$OMP END WORKSHARE NOWAIT 
     691!$OMP DO schedule(static) private(jj, ji) 
     692      DO jj = 1, jpj 
     693         DO ji = 1, jpi 
     694            stress1_i (ji,jj) = zs1 (ji,jj) 
     695            stress2_i (ji,jj) = zs2 (ji,jj) 
     696            stress12_i(ji,jj) = zs12(ji,jj) 
     697         END DO 
     698      END DO 
     699!$OMP END DO NOWAIT 
    684700!$OMP END PARALLEL 
    685701      ! Lateral boundary condition 
Note: See TracChangeset for help on using the changeset viewer.