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

    r5328 r6748  
    9292      IF( l_trddyn ) THEN           ! Save ua and va trends 
    9393         CALL wrk_alloc( jpi,jpj,jpk,   ztrdu, ztrdv ) 
     94!$OMP PARALLEL WORKSHARE 
    9495         ztrdu(:,:,:) = ua(:,:,:)  
    9596         ztrdv(:,:,:) = va(:,:,:)  
     97!$OMP END PARALLEL WORKSHARE 
    9698      ENDIF 
    9799       
    98       zhke(:,:,jpk) = 0._wp 
     100         zhke(:,:,jpk) = 0._wp 
    99101       
    100102      SELECT CASE ( kscheme )             !== Horizontal kinetic energy at T-point  ==! 
    101103      ! 
    102104      CASE ( nkeg_C2 )                          !--  Standard scheme  --! 
     105!$OMP PARALLEL DO schedule(static) private(jk, jj, ji, zu, zv) 
    103106         DO jk = 1, jpkm1 
    104107            DO jj = 2, jpj 
     
    114117         ! 
    115118      CASE ( nkeg_HW )                          !--  Hollingsworth scheme  --! 
     119!$OMP PARALLEL DO schedule(static) private(jk, jj, ji, zu, zv) 
    116120         DO jk = 1, jpkm1 
    117121            DO jj = 2, jpjm1        
     
    134138      END SELECT 
    135139      ! 
     140!$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 
    136141      DO jk = 1, jpkm1                    !==  grad( KE ) added to the general momentum trends  ==! 
    137142         DO jj = 2, jpjm1 
     
    144149      ! 
    145150      IF( l_trddyn ) THEN                 ! save the Kinetic Energy trends for diagnostic 
     151!$OMP PARALLEL WORKSHARE 
    146152         ztrdu(:,:,:) = ua(:,:,:) - ztrdu(:,:,:) 
    147153         ztrdv(:,:,:) = va(:,:,:) - ztrdv(:,:,:) 
     154!$OMP END PARALLEL WORKSHARE 
    148155         CALL trd_dyn( ztrdu, ztrdv, jpdyn_keg, kt ) 
    149156         CALL wrk_dealloc( jpi,jpj,jpk,   ztrdu, ztrdv ) 
Note: See TracChangeset for help on using the changeset viewer.