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 7698 for trunk/NEMOGCM/NEMO/OPA_SRC/TRA/tradmp.F90 – NEMO

Ignore:
Timestamp:
2017-02-18T10:02:03+01:00 (7 years ago)
Author:
mocavero
Message:

update trunk with OpenMP parallelization

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/OPA_SRC/TRA/tradmp.F90

    r7646 r7698  
    102102      IF( l_trdtra )   THEN                    !* Save ta and sa trends 
    103103         CALL wrk_alloc( jpi,jpj,jpk,jpts,   ztrdts )  
    104          ztrdts(:,:,:,:) = tsa(:,:,:,:)  
     104         DO jn = 1, jpts 
     105!$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 
     106            DO jk = 1, jpk 
     107               DO jj = 1, jpj 
     108                  DO ji = 1, jpi 
     109                     ztrdts(ji,jj,jk,jn) = tsa(ji,jj,jk,jn)  
     110                  END DO 
     111               END DO 
     112            END DO 
     113         END DO 
    105114      ENDIF 
    106115      !                           !==  input T-S data at kt  ==! 
     
    111120      CASE( 0 )                        !*  newtonian damping throughout the water column  *! 
    112121         DO jn = 1, jpts 
     122!$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 
    113123            DO jk = 1, jpkm1 
    114124               DO jj = 2, jpjm1 
     
    121131         ! 
    122132      CASE ( 1 )                       !*  no damping in the turbocline (avt > 5 cm2/s)  *! 
     133!$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 
    123134         DO jk = 1, jpkm1 
    124135            DO jj = 2, jpjm1 
     
    135146         ! 
    136147      CASE ( 2 )                       !*  no damping in the mixed layer   *! 
     148!$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 
    137149         DO jk = 1, jpkm1 
    138150            DO jj = 2, jpjm1 
     
    151163      ! 
    152164      IF( l_trdtra )   THEN       ! trend diagnostic 
    153          ztrdts(:,:,:,:) = tsa(:,:,:,:) - ztrdts(:,:,:,:) 
     165         DO jn = 1, jpts 
     166!$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 
     167            DO jk = 1, jpk 
     168               DO jj = 1, jpj 
     169                  DO ji = 1, jpi 
     170                     ztrdts(ji,jj,jk,jn) = tsa(ji,jj,jk,jn) - ztrdts(ji,jj,jk,jn) 
     171                  END DO 
     172               END DO 
     173            END DO 
     174         END DO 
    154175         CALL trd_tra( kt, 'TRA', jp_tem, jptra_dmp, ztrdts(:,:,:,jp_tem) ) 
    155176         CALL trd_tra( kt, 'TRA', jp_sal, jptra_dmp, ztrdts(:,:,:,jp_sal) ) 
Note: See TracChangeset for help on using the changeset viewer.