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/DOM/dtatsd.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/DOM/dtatsd.F90

    r7646 r7698  
    161161         ij0 = 101   ;   ij1 = 109                       ! Reduced T & S in the Alboran Sea 
    162162         ii0 = 141   ;   ii1 = 155 
     163!$OMP PARALLEL DO schedule(static) private(jj, ji) 
    163164         DO jj = mj0(ij0), mj1(ij1) 
    164165            DO ji = mi0(ii0), mi1(ii1) 
     
    181182!!gm end 
    182183      ! 
    183       ptsd(:,:,:,jp_tem) = sf_tsd(jp_tem)%fnow(:,:,:)    ! NO mask 
    184       ptsd(:,:,:,jp_sal) = sf_tsd(jp_sal)%fnow(:,:,:)  
     184!$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 
     185      DO jk = 1, jpk 
     186         DO jj = 1, jpj 
     187            DO ji = 1, jpi 
     188               ptsd(ji,jj,jk,jp_tem) = sf_tsd(jp_tem)%fnow(ji,jj,jk)    ! NO mask 
     189               ptsd(ji,jj,jk,jp_sal) = sf_tsd(jp_sal)%fnow(ji,jj,jk) 
     190            END DO 
     191         END DO 
     192      END DO 
    185193      ! 
    186194      IF( ln_sco ) THEN                   !==   s- or mixed s-zps-coordinate   ==! 
     
    193201         ENDIF 
    194202         ! 
     203!$OMP PARALLEL DO schedule(static) private(jj, ji, jk, zl, jkk, zi) 
    195204         DO jj = 1, jpj                         ! vertical interpolation of T & S 
    196205            DO ji = 1, jpi 
     
    226235      ELSE                                !==   z- or zps- coordinate   ==! 
    227236         !                              
    228          ptsd(:,:,:,jp_tem) = ptsd(:,:,:,jp_tem) * tmask(:,:,:)    ! Mask 
    229          ptsd(:,:,:,jp_sal) = ptsd(:,:,:,jp_sal) * tmask(:,:,:) 
     237!$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 
     238         DO jk = 1, jpk 
     239            DO jj = 1, jpj 
     240               DO ji = 1, jpi 
     241                  ptsd(ji,jj,jk,jp_tem) = ptsd(ji,jj,jk,jp_tem) * tmask(ji,jj,jk)    ! Mask 
     242                  ptsd(ji,jj,jk,jp_sal) = ptsd(ji,jj,jk,jp_sal) * tmask(ji,jj,jk) 
     243               END DO 
     244            END DO 
     245         END DO 
    230246         ! 
    231247         IF( ln_zps ) THEN                      ! zps-coordinate (partial steps) interpolation at the last ocean level 
     248!$OMP PARALLEL DO schedule(static) private(jj, ji, ik, zl) 
    232249            DO jj = 1, jpj 
    233250               DO ji = 1, jpi 
Note: See TracChangeset for help on using the changeset viewer.