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

    r7698 r7753  
    8484      !!---------------------------------------------------------------------- 
    8585      INTEGER, INTENT(in) ::   kt   ! ocean time-step index 
    86       INTEGER ::  jk, jj, ji 
    8786      REAL(wp), POINTER, DIMENSION(:,:,:) ::  ztrdu, ztrdv 
    8887      !!---------------------------------------------------------------------- 
     
    9291      IF( l_trddyn ) THEN                    ! Temporary saving of ua and va trends (l_trddyn) 
    9392         CALL wrk_alloc( jpi,jpj,jpk, ztrdu, ztrdv ) 
    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 
     93         ztrdu(:,:,:) = ua(:,:,:) 
     94         ztrdv(:,:,:) = va(:,:,:) 
    10395      ENDIF 
    10496      ! 
     
    113105      ! 
    114106      IF( l_trddyn ) THEN      ! save the hydrostatic pressure gradient trends for momentum trend diagnostics 
    115 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 
    116          DO jk = 1, jpk 
    117             DO jj = 1, jpj 
    118                DO ji = 1, jpi 
    119                   ztrdu(ji,jj,jk) = ua(ji,jj,jk) - ztrdu(ji,jj,jk) 
    120                   ztrdv(ji,jj,jk) = va(ji,jj,jk) - ztrdv(ji,jj,jk) 
    121                END DO 
    122             END DO 
    123          END DO 
     107         ztrdu(:,:,:) = ua(:,:,:) - ztrdu(:,:,:) 
     108         ztrdv(:,:,:) = va(:,:,:) - ztrdv(:,:,:) 
    124109         CALL trd_dyn( ztrdu, ztrdv, jpdyn_hpg, kt ) 
    125110         CALL wrk_dealloc( jpi,jpj,jpk, ztrdu, ztrdv ) 
     
    213198      !  
    214199      ! initialisation of ice shelf load 
    215       IF ( .NOT. ln_isfcav ) THEN 
    216 !$OMP PARALLEL DO schedule(static) private(jj, ji) 
    217          DO jj = 1, jpj 
    218             DO ji = 1, jpi 
    219                riceload(ji,jj)=0.0 
    220             END DO 
    221          END DO 
    222       END IF 
     200      IF ( .NOT. ln_isfcav ) riceload(:,:)=0.0 
    223201      IF (       ln_isfcav ) THEN 
    224202         CALL wrk_alloc( jpi,jpj, 2,  ztstop)  
     
    234212          
    235213         ! assume water displaced by the ice shelf is at T=-1.9 and S=34.4 (rude) 
    236 !$OMP PARALLEL DO schedule(static) private(jj, ji) 
    237          DO jj = 1, jpj 
    238             DO ji = 1, jpi 
    239                ztstop(ji,jj,1)=-1.9_wp 
    240                ztstop(ji,jj,2)=34.4_wp 
    241             END DO 
    242          END DO 
     214         ztstop(:,:,1)=-1.9_wp ; ztstop(:,:,2)=34.4_wp 
    243215 
    244216         ! compute density of the water displaced by the ice shelf  
     
    254226         ! divided by 2 later 
    255227         ziceload = 0._wp 
    256 !$OMP PARALLEL 
    257 !$OMP DO schedule(static) private(jj,ji,ikt,jk) 
    258228         DO jj = 1, jpj 
    259229            DO ji = 1, jpi 
     
    268238            END DO 
    269239         END DO 
    270 !$OMP DO schedule(static) private(jj, ji) 
    271          DO jj = 1, jpj 
    272             DO ji = 1, jpi 
    273                riceload(ji,jj)=ziceload(ji,jj)  ! need to be saved for diaar5 
    274             END DO 
    275          END DO 
    276 !$OMP END PARALLEL 
     240         riceload(:,:)=ziceload(:,:)  ! need to be saved for diaar5 
    277241 
    278242         CALL wrk_dealloc( jpi,jpj, 2,  ztstop)  
     
    318282 
    319283      ! Surface value 
    320 !$OMP PARALLEL 
    321 !$OMP DO schedule(static) private(ji,jj, zcoef1) 
    322284      DO jj = 2, jpjm1 
    323285         DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    335297      ! interior value (2=<jk=<jpkm1) 
    336298      DO jk = 2, jpkm1 
    337 !$OMP DO schedule(static) private(ji,jj, zcoef1) 
    338299         DO jj = 2, jpjm1 
    339300            DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    352313            END DO 
    353314         END DO 
    354 !$OMP END DO NOWAIT 
    355       END DO 
    356 !$OMP END PARALLEL 
     315      END DO 
    357316      ! 
    358317      CALL wrk_dealloc( jpi,jpj,jpk,   zhpi, zhpj ) 
     
    392351 
    393352      !  Surface value (also valid in partial step case) 
    394 !$OMP PARALLEL 
    395 !$OMP DO schedule(static) private(ji,jj,zcoef1) 
    396353      DO jj = 2, jpjm1 
    397354         DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    408365      ! interior value (2=<jk=<jpkm1) 
    409366      DO jk = 2, jpkm1 
    410 !$OMP DO schedule(static) private(ji,jj, zcoef1) 
    411367         DO jj = 2, jpjm1 
    412368            DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    428384 
    429385      ! partial steps correction at the last level  (use gru & grv computed in zpshde.F90) 
    430 !$OMP DO schedule(static) private(ji,jj,iku,ikv,zcoef2,zcoef3) 
    431386      DO jj = 2, jpjm1 
    432387         DO ji = 2, jpim1 
     
    449404         END DO 
    450405      END DO 
    451 !$OMP END PARALLEL 
    452406      ! 
    453407      CALL wrk_dealloc( jpi,jpj,jpk,   zhpi, zhpj ) 
Note: See TracChangeset for help on using the changeset viewer.