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 7037 for branches/2016/dev_r6519_HPC_4/NEMOGCM/NEMO/OPA_SRC/LDF/ldfslp.F90 – NEMO

Ignore:
Timestamp:
2016-10-18T15:32:04+02:00 (8 years ago)
Author:
mocavero
Message:

ORCA2_LIM_PISCES hybrid version update

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2016/dev_r6519_HPC_4/NEMOGCM/NEMO/OPA_SRC/LDF/ldfslp.F90

    r6748 r7037  
    135135      z1_slpmax = 1._wp / rn_slpmax 
    136136      ! 
    137  
    138 !$OMP PARALLEL WORKSHARE 
     137!$OMP PARALLEL 
     138!$OMP WORKSHARE 
     139 
    139140      zww(:,:,:) = 0._wp 
    140141      zwz(:,:,:) = 0._wp 
    141 !$OMP END PARALLEL WORKSHARE 
    142       ! 
    143 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 
     142!$OMP END WORKSHARE NOWAIT 
     143      ! 
     144!$OMP DO schedule(static) private(jk, jj, ji) 
    144145      DO jk = 1, jpk             !==   i- & j-gradient of density   ==! 
    145146         DO jj = 1, jpjm1 
     
    150151         END DO 
    151152      END DO 
     153!$OMP END DO NOWAIT 
     154!$OMP END PARALLEL 
    152155      IF( ln_zps ) THEN                           ! partial steps correction at the bottom ocean level 
    153156!$OMP PARALLEL DO schedule(static) private(jj, ji) 
     
    169172      ENDIF 
    170173      ! 
     174!$OMP PARALLEL 
     175!$OMP WORKSHARE 
    171176      zdzr(:,:,1) = 0._wp        !==   Local vertical density gradient at T-point   == !   (evaluated from N^2) 
    172 !$OMP PARALLEL DO schedule(static) private(jk) 
     177!$OMP END WORKSHARE 
     178!$OMP DO schedule(static) private(jk) 
    173179      DO jk = 2, jpkm1 
    174180         !                                ! zdzr = d/dz(prd)= - ( prd ) / grav * mk(pn2) -- at t point 
     
    180186            &                 * ( pn2(:,:,jk) + pn2(:,:,jk+1) ) * ( 1._wp - 0.5_wp * tmask(:,:,jk+1) ) 
    181187      END DO 
     188!$OMP END DO NOWAIT 
     189!$OMP END PARALLEL 
    182190      ! 
    183191      !                          !==   Slopes just below the mixed layer   ==! 
     
    248256      ! 
    249257      !                                            !* horizontal Shapiro filter 
    250 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 
     258!$OMP PARALLEL  
     259!$OMP DO schedule(static) private(jk, jj, ji) 
    251260      DO jk = 2, jpkm1 
    252261         DO jj = 2, jpjm1, MAX(1, jpj-3)                        ! rows jj=2 and =jpjm1 only 
     
    288297         END DO 
    289298      END DO 
     299!$OMP END DO 
    290300 
    291301 
     
    293303      ! ===========================      | wslpj = mij( d/dj( prd ) / d/dz( prd ) 
    294304      ! 
    295 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji, zbw, zfk, zck, zbi, zbj, zai, zaj, zci, zcj) 
     305!$OMP DO schedule(static) private(jk, jj, ji, zbw, zfk, zck, zbi, zbj, zai, zaj, zci, zcj) 
    296306      DO jk = 2, jpkm1 
    297307         DO jj = 2, jpjm1 
     
    329339         END DO 
    330340      END DO 
     341!$OMP END DO NOWAIT 
     342!$OMP END PARALLEL 
    331343      CALL lbc_lnk( zwz, 'T', -1. )   ;    CALL lbc_lnk( zww, 'T', -1. )      ! lateral boundary conditions 
    332344      ! 
     
    441453         ! 
    442454         ip = jl   ;   jp = jl                ! guaranteed nonzero gradients ( absolute value larger than repsln) 
    443 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji,zdit,zdis,zdjt,zdjs,zdxrho_raw,zdyrho_raw) 
    444455         DO jk = 1, jpkm1                     ! done each pair of triad 
    445456            DO jj = 1, jpjm1                  ! NB: not masked ==>  a minimum value is set 
     
    458469         ! 
    459470         IF( ln_zps .AND. l_grad_zps ) THEN     ! partial steps: correction of i- & j-grad on bottom 
    460 !$OMP PARALLEL DO schedule(static) private(jj,ji,iku,zdit,zdis,zdxrho_raw,zdyrho_raw) 
    461471            DO jj = 1, jpjm1 
    462472               DO ji = 1, jpim1 
     
    690700      ! 
    691701      !                                            !==   surface mixed layer mask   ! 
    692 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji, ik) 
     702!$OMP PARALLEL 
     703!$OMP DO schedule(static) private(jk, jj, ji, ik) 
    693704      DO jk = 1, jpk                               ! =1 inside the mixed layer, =0 otherwise 
    694705         DO jj = 1, jpj 
     
    701712         END DO 
    702713      END DO 
     714!$OMP END DO NOWAIT 
    703715 
    704716 
     
    713725      !----------------------------------------------------------------------- 
    714726      ! 
    715 !$OMP PARALLEL DO schedule(static) private(jj, ji, iku, ikv, zbu, zbv, zau, zav, ik, ikm1, zbw, zci, zcj, zai, zaj, zbi, zbj)  
     727!$OMP DO schedule(static) private(jj, ji, iku, ikv, zbu, zbv, zau, zav, ik, ikm1, zbw, zci, zcj, zai, zaj, zbi, zbj)  
    716728      DO jj = 2, jpjm1 
    717729         DO ji = 2, jpim1 
     
    758770         END DO 
    759771      END DO 
     772!$OMP END DO NOWAIT 
     773!$OMP END PARALLEL 
    760774      !!gm this lbc_lnk should be useless.... 
    761775      CALL lbc_lnk( uslpml , 'U', -1. )   ;   CALL lbc_lnk( vslpml , 'V', -1. )   ! lateral boundary cond. (sign change) 
     
    808822         ! ------------------------------ 
    809823 
    810 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji)    
     824!$OMP PARALLEL 
     825!$OMP DO schedule(static) private(jk, jj, ji)    
    811826        DO jk = 1, jpk 
    812827           DO jj = 1, jpj 
     
    819834           END DO 
    820835        END DO 
    821 !$OMP PARALLEL DO schedule(static) private(jj, ji)        
     836!$OMP END DO NOWAIT 
     837!$OMP DO schedule(static) private(jj, ji)        
    822838        DO jj = 1, jpj 
    823839            DO ji = 1, jpi 
     
    828844             END DO 
    829845        END DO 
     846!$OMP END DO NOWAIT 
     847!$OMP END PARALLEL 
    830848          
    831849         !!gm I no longer understand this..... 
Note: See TracChangeset for help on using the changeset viewer.