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 6748 for branches/2016/dev_r6519_HPC_4/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfbfr.F90 – NEMO

Ignore:
Timestamp:
2016-06-28T11:53:56+02:00 (8 years ago)
Author:
mocavero
Message:

GYRE hybrid parallelization

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2016/dev_r6519_HPC_4/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfbfr.F90

    r6140 r6748  
    112112         IF ( ln_loglayer.AND. .NOT.ln_linssh ) THEN ! "log layer" bottom friction coefficient 
    113113 
     114!$OMP PARALLEL DO private(jj,ji,ikbt,ztmp) 
    114115            DO jj = 1, jpj 
    115116               DO ji = 1, jpi 
     
    123124! (ISF) 
    124125            IF ( ln_isfcav ) THEN 
     126!$OMP PARALLEL DO private(jj,ji,ikbt,ztmp) 
    125127               DO jj = 1, jpj 
    126128                  DO ji = 1, jpi 
     
    135137            !    
    136138         ELSE 
     139!$OMP PARALLEL WORKSHARE 
    137140            zbfrt(:,:) = bfrcoef2d(:,:) 
    138141            ztfrt(:,:) = tfrcoef2d(:,:) 
    139          ENDIF 
    140  
     142!$OMP END PARALLEL WORKSHARE 
     143         ENDIF 
     144 
     145!$OMP PARALLEL DO private(jj,ji,ikbu,ikbv,zvu,zuv,zecu,zecv) 
    141146         DO jj = 2, jpjm1 
    142147            DO ji = 2, jpim1 
     
    173178 
    174179         IF( ln_isfcav ) THEN 
     180!$OMP PARALLEL DO private(jj,ji,ikbu,ikbv,zvu,zuv,zecu,zecv) 
    175181            DO jj = 2, jpjm1 
    176182               DO ji = 2, jpim1 
     
    266272      CASE( 0 ) 
    267273         IF(lwp) WRITE(numout,*) '      free-slip ' 
     274!$OMP PARALLEL WORKSHARE 
    268275         bfrua(:,:) = 0.e0 
    269276         bfrva(:,:) = 0.e0 
    270277         tfrua(:,:) = 0.e0 
    271278         tfrva(:,:) = 0.e0 
     279!$OMP END PARALLEL WORKSHARE 
    272280         ! 
    273281      CASE( 1 ) 
     
    296304         ENDIF 
    297305         ! 
     306!$OMP PARALLEL WORKSHARE 
    298307         bfrua(:,:) = - bfrcoef2d(:,:) 
    299308         bfrva(:,:) = - bfrcoef2d(:,:) 
     309!$OMP END PARALLEL WORKSHARE 
    300310         ! 
    301311         IF ( ln_isfcav ) THEN 
     
    310320            ENDIF 
    311321            ! 
     322!$OMP PARALLEL WORKSHARE 
    312323            tfrua(:,:) = - tfrcoef2d(:,:) 
    313324            tfrva(:,:) = - tfrcoef2d(:,:) 
     325!$OMP END PARALLEL WORKSHARE 
    314326         END IF 
    315327         ! 
     
    371383         ! 
    372384         IF( ln_loglayer.AND. ln_linssh ) THEN ! set "log layer" bottom friction once for all 
     385!$OMP PARALLEL DO private(jj,ji,ikbt,ztmp) 
    373386            DO jj = 1, jpj 
    374387               DO ji = 1, jpi 
     
    380393            END DO 
    381394            IF ( ln_isfcav ) THEN 
     395!$OMP PARALLEL DO private(jj,ji,ikbt,ztmp) 
    382396               DO jj = 1, jpj 
    383397                  DO ji = 1, jpi 
     
    419433      zmaxtfr = -1.e10_wp    ! initialise tracker for maximum of bottom friction coefficient 
    420434      ! 
     435!$OMP PARALLEL DO private(jj,ji,ikbu,ikbv,zfru,zfrv,ictu,ictv,zminbfr,zmaxbfr,zmintfr,zmaxtfr) 
    421436      DO jj = 2, jpjm1 
    422437         DO ji = 2, jpim1 
Note: See TracChangeset for help on using the changeset viewer.