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/TRA/trazdf.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/TRA/trazdf.F90

    r7037 r7508  
    5858      INTEGER, INTENT( in ) ::   kt      ! ocean time-step index 
    5959      ! 
    60       INTEGER  ::   jk                   ! Dummy loop indices 
     60      INTEGER  ::   jk, jj, ji           ! Dummy loop indices 
    6161      REAL(wp), POINTER, DIMENSION(:,:,:) ::   ztrdt, ztrds   ! 3D workspace 
    6262      !!--------------------------------------------------------------------- 
     
    7272      IF( l_trdtra )   THEN                    !* Save ta and sa trends 
    7373         CALL wrk_alloc( jpi, jpj, jpk, ztrdt, ztrds ) 
    74 !$OMP PARALLEL WORKSHARE 
    75          ztrdt(:,:,:) = tsa(:,:,:,jp_tem) 
    76          ztrds(:,:,:) = tsa(:,:,:,jp_sal) 
    77 !$OMP END PARALLEL WORKSHARE 
     74!$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 
     75         DO jk = 1, jpk 
     76            DO jj = 1, jpj 
     77               DO ji = 1, jpi 
     78                  ztrdt(ji,jj,jk) = tsa(ji,jj,jk,jp_tem) 
     79                  ztrds(ji,jj,jk) = tsa(ji,jj,jk,jp_sal) 
     80               END DO 
     81            END DO 
     82         END DO 
    7883      ENDIF 
    7984      ! 
     
    8691      ! JMM avoid negative salinities near river outlet ! Ugly fix 
    8792      ! JMM : restore negative salinities to small salinities: 
    88 !$OMP PARALLEL WORKSHARE 
    89       WHERE( tsa(:,:,:,jp_sal) < 0._wp )   tsa(:,:,:,jp_sal) = 0.1_wp 
    90 !$OMP END PARALLEL WORKSHARE 
     93!$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 
     94      DO jk = 1, jpk 
     95         DO jj = 1, jpj 
     96            DO ji = 1, jpi 
     97               IF( tsa(ji,jj,jk,jp_sal) < 0._wp )   tsa(ji,jj,jk,jp_sal) = 0.1_wp 
     98            END DO 
     99         END DO 
     100      END DO 
    91101!!gm 
    92102 
Note: See TracChangeset for help on using the changeset viewer.