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

    r7646 r7698  
    6161      !!---------------------------------------------------------------------- 
    6262      INTEGER, INTENT(in) ::   kt   ! ocean time-step index 
     63      INTEGER ::   jk, jj, ji 
    6364      ! 
    6465      REAL(wp), POINTER, DIMENSION(:,:,:) ::  ztrdu, ztrdv 
     
    6970      IF( l_trddyn )   THEN                      ! temporary save of momentum trends 
    7071         CALL wrk_alloc( jpi,jpj,jpk,   ztrdu, ztrdv ) 
    71          ztrdu(:,:,:) = ua(:,:,:)  
    72          ztrdv(:,:,:) = va(:,:,:)  
     72!$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 
     73         DO jk = 1, jpk 
     74            DO jj = 1, jpj 
     75               DO ji = 1, jpi 
     76                  ztrdu(ji,jj,jk) = ua(ji,jj,jk) 
     77                  ztrdv(ji,jj,jk) = va(ji,jj,jk) 
     78               END DO 
     79            END DO 
     80         END DO 
    7381      ENDIF 
    7482 
     
    8290 
    8391      IF( l_trddyn ) THEN                        ! save the horizontal diffusive trends for further diagnostics 
    84          ztrdu(:,:,:) = ua(:,:,:) - ztrdu(:,:,:) 
    85          ztrdv(:,:,:) = va(:,:,:) - ztrdv(:,:,:) 
     92!$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 
     93           DO jk = 1, jpk 
     94              DO jj = 1, jpj 
     95                 DO ji = 1, jpi 
     96                    ztrdu(ji,jj,jk) = ua(ji,jj,jk) - ztrdu(ji,jj,jk) 
     97                    ztrdv(ji,jj,jk) = va(ji,jj,jk) - ztrdv(ji,jj,jk) 
     98                 END DO 
     99              END DO 
     100           END DO 
    86101         CALL trd_dyn( ztrdu, ztrdv, jpdyn_ldf, kt ) 
    87102         CALL wrk_dealloc( jpi,jpj,jpk,   ztrdu, ztrdv ) 
Note: See TracChangeset for help on using the changeset viewer.