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 7753 for trunk/NEMOGCM/NEMO/OPA_SRC/DOM/dommsk.F90 – NEMO

Ignore:
Timestamp:
2017-03-03T12:46:59+01:00 (7 years ago)
Author:
mocavero
Message:

Reverting trunk to remove OpenMP

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/OPA_SRC/DOM/dommsk.F90

    r7698 r7753  
    4747   !!---------------------------------------------------------------------- 
    4848   !! NEMO/OPA 3.2 , LODYC-IPSL  (2009) 
    49    !! $Id$ 
     49   !! $Id$  
    5050   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt) 
    5151   !!---------------------------------------------------------------------- 
     
    137137      ! ---------------------------- 
    138138      ! 
    139 !$OMP PARALLEL 
    140 !$OMP DO schedule(static) private(jk, jj, ji) 
    141       DO jk = 1, jpk 
    142          DO jj = 1, jpj 
    143             DO ji = 1, jpi 
    144                tmask(ji,jj,jk) = 0._wp 
    145             END DO 
    146          END DO 
    147       END DO 
    148 !$OMP DO schedule(static) private(jj, ji, iktop, ikbot) 
     139      tmask(:,:,:) = 0._wp 
    149140      DO jj = 1, jpj 
    150141         DO ji = 1, jpi 
     
    156147         END DO   
    157148      END DO   
    158 !$OMP END PARALLEL 
    159149!SF  add here lbc_lnk: bug not still understood : cause now domain configuration is read ! 
    160150!!gm I don't understand why...   
     
    171161      ! ------------------------ 
    172162      IF ( ln_bdy .AND. ln_mask_file ) THEN 
    173 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 
    174163         DO jk = 1, jpkm1 
    175164            DO jj = 1, jpj 
     
    184173      ! ---------------------------------------- 
    185174      ! NB: at this point, fmask is designed for free slip lateral boundary condition 
    186 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 
    187175      DO jk = 1, jpk 
    188176         DO jj = 1, jpjm1 
     
    204192      ! Ocean/land mask at wu-, wv- and w points    (computed from tmask) 
    205193      !----------------------------------------- 
    206 !$OMP PARALLEL 
    207 !$OMP DO schedule(static) private(jj, ji) 
    208       DO jj = 1, jpj 
    209          DO ji = 1, jpi 
    210             wmask (ji,jj,1) = tmask(ji,jj,1)     ! surface 
    211             wumask(ji,jj,1) = umask(ji,jj,1) 
    212             wvmask(ji,jj,1) = vmask(ji,jj,1) 
    213          END DO 
     194      wmask (:,:,1) = tmask(:,:,1)     ! surface 
     195      wumask(:,:,1) = umask(:,:,1) 
     196      wvmask(:,:,1) = vmask(:,:,1) 
     197      DO jk = 2, jpk                   ! interior values 
     198         wmask (:,:,jk) = tmask(:,:,jk) * tmask(:,:,jk-1) 
     199         wumask(:,:,jk) = umask(:,:,jk) * umask(:,:,jk-1)    
     200         wvmask(:,:,jk) = vmask(:,:,jk) * vmask(:,:,jk-1) 
    214201      END DO 
    215 !$OMP DO schedule(static) private(jk,jj,ji) 
    216       DO jk = 2, jpk                   ! interior values 
    217          DO jj = 1, jpj 
    218             DO ji = 1, jpi 
    219                wmask (ji,jj,jk) = tmask(ji,jj,jk) * tmask(ji,jj,jk-1) 
    220                wumask(ji,jj,jk) = umask(ji,jj,jk) * umask(ji,jj,jk-1)    
    221                wvmask(ji,jj,jk) = vmask(ji,jj,jk) * vmask(ji,jj,jk-1) 
    222             END DO 
    223          END DO 
    224       END DO 
    225 !$OMP END PARALLEL 
    226202 
    227203 
     
    240216      ! 
    241217      !                          ! halo mask : 0 on the halo and 1 elsewhere 
    242 !$OMP PARALLEL DO schedule(static) private(jj, ji) 
    243       DO jj = 1, jpj 
    244          DO ji = 1, jpi 
    245             tmask_h(ji,jj) = 1._wp                   
    246          END DO 
    247       END DO 
     218      tmask_h(:,:) = 1._wp                   
    248219      tmask_h( 1 :iif,   :   ) = 0._wp      ! first columns 
    249220      tmask_h(iil:jpi,   :   ) = 0._wp      ! last  columns (including mpp extra columns) 
     
    270241      ! 
    271242      !                          ! interior mask : 2D ocean mask x halo mask  
    272 !$OMP PARALLEL DO schedule(static) private(jj, ji) 
    273       DO jj = 1, jpj 
    274          DO ji = 1, jpi 
    275             tmask_i(ji,jj) = ssmask(ji,jj) * tmask_h(ji,jj) 
    276          END DO 
    277       END DO 
     243      tmask_i(:,:) = ssmask(:,:) * tmask_h(:,:) 
    278244 
    279245 
     
    284250         CALL wrk_alloc( jpi,jpj,   zwf ) 
    285251         ! 
    286 !$OMP PARALLEL 
    287252         DO jk = 1, jpk 
    288 !$OMP DO schedule(static) private(jj, ji) 
    289             DO jj = 1, jpj 
    290                DO ji = 1, jpi 
    291                   zwf(ji,jj) = fmask(ji,jj,jk)          
    292                END DO 
    293             END DO 
    294 !$OMP DO schedule(static) private(jj, ji) 
     253            zwf(:,:) = fmask(:,:,jk)          
    295254            DO jj = 2, jpjm1 
    296255               DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    301260               END DO 
    302261            END DO 
    303 !$OMP DO schedule(static) private(jj) 
    304262            DO jj = 2, jpjm1 
    305263               IF( fmask(1,jj,jk) == 0._wp ) THEN 
     
    310268               ENDIF 
    311269            END DO          
    312 !$OMP DO schedule(static) private(ji) 
    313270            DO ji = 2, jpim1 
    314271               IF( fmask(ji,1,jk) == 0._wp ) THEN 
     
    320277            END DO 
    321278         END DO 
    322 !$OMP END PARALLEL 
    323279         ! 
    324280         CALL wrk_dealloc( jpi,jpj,   zwf ) 
Note: See TracChangeset for help on using the changeset viewer.