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 9176 for branches/UKMO/dev_r5518_GO6_package_OMP/NEMOGCM/NEMO/OPA_SRC/DYN/dynvor.F90 – NEMO

Ignore:
Timestamp:
2018-01-04T13:30:03+01:00 (6 years ago)
Author:
andmirek
Message:

#2001: OMP directives

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_GO6_package_OMP/NEMOGCM/NEMO/OPA_SRC/DYN/dynvor.F90

    r6486 r9176  
    222222      INTEGER  ::   ji, jj, jk   ! dummy loop indices 
    223223      REAL(wp) ::   zx1, zy1, zfact2, zx2, zy2   ! local scalars 
    224       REAL(wp), POINTER, DIMENSION(:,:) :: zwx, zwy, zwz 
     224      REAL(wp), DIMENSION(jpi, jpj) :: zwx, zwy, zwz 
    225225      !!---------------------------------------------------------------------- 
    226226      ! 
    227227      IF( nn_timing == 1 )  CALL timing_start('vor_ene') 
    228228      ! 
    229       CALL wrk_alloc( jpi, jpj, zwx, zwy, zwz )  
     229!     CALL wrk_alloc( jpi, jpj, zwx, zwy, zwz )  
    230230      ! 
    231231      IF( kt == nit000 ) THEN 
     
    237237      zfact2 = 0.5 * 0.5      ! Local constant initialization 
    238238 
    239 !CDIR PARALLEL DO PRIVATE( zwx, zwy, zwz ) 
     239!$OMP PARALLEL DO PRIVATE( zwx, zwy, zwz, zy1, zy2, zx1, zx2 ) 
    240240      !                                                ! =============== 
    241241      DO jk = 1, jpkm1                                 ! Horizontal slab 
     
    292292      END DO                                           !   End of slab 
    293293      !                                                ! =============== 
    294       CALL wrk_dealloc( jpi, jpj, zwx, zwy, zwz )  
     294!     CALL wrk_dealloc( jpi, jpj, zwx, zwy, zwz )  
    295295      ! 
    296296      IF( nn_timing == 1 )  CALL timing_stop('vor_ene') 
     
    350350      zfact2 = 0.5 * 0.5 
    351351 
    352 !CDIR PARALLEL DO PRIVATE( zwx, zwy, zwz, zww ) 
     352!!!!$OMP PARALLEL DO PRIVATE( zwx, zwy, zwz, zww, zy1, zy2, zx1, zx2, zua, zva, zcua, zcva) 
    353353      !                                                ! =============== 
    354354      DO jk = 1, jpkm1                                 ! Horizontal slab 
     
    466466      zfact1 = 0.5 * 0.25      ! Local constant initialization 
    467467 
    468 !CDIR PARALLEL DO PRIVATE( zwx, zwy, zwz ) 
     468!!!!$OMP PARALLEL DO PRIVATE( zwx, zwy, zwz, zuav, zvau ) 
    469469      !                                                ! =============== 
    470470      DO jk = 1, jpkm1                                 ! Horizontal slab 
     
    599599 
    600600         IF( ln_dynvor_een_old ) THEN ! original formulation 
     601!$OMP PARALLEL DO PRIVATE(ze3) 
    601602            DO jk = 1, jpk 
    602603               DO jj = 1, jpjm1 
     
    609610            END DO 
    610611         ELSE ! new formulation from NEMO 3.6 
     612!$OMP PARALLEL DO PRIVATE(ze3, zmsk) 
    611613            DO jk = 1, jpk 
    612614               DO jj = 1, jpjm1 
     
    628630 
    629631       
    630 !CDIR PARALLEL DO PRIVATE( zwx, zwy, zwz, ztnw, ztne, ztsw, ztse ) 
     632!!!!!$OMP PARALLEL DO PRIVATE( zwx, zwy, zwz, ztnw, ztne, ztsw, ztse, zua, zva ) 
    631633      !                                                ! =============== 
    632634      DO jk = 1, jpkm1                                 ! Horizontal slab 
     
    637639         SELECT CASE( kvor )      ! vorticity considered 
    638640         CASE ( 1 )                                                ! planetary vorticity (Coriolis) 
    639             zwz(:,:) = ff(:,:)      * ze3f(:,:,jk) 
     641               zwz(:,:) = ff(:,:)      * ze3f(:,:,jk) 
    640642         CASE ( 2 )                                                ! relative  vorticity 
    641             zwz(:,:) = rotn(:,:,jk) * ze3f(:,:,jk) 
     643               zwz(:,:) = rotn(:,:,jk) * ze3f(:,:,jk) 
    642644         CASE ( 3 )                                                ! metric term 
    643645            DO jj = 1, jpjm1 
     
    650652            CALL lbc_lnk( zwz, 'F', 1. ) 
    651653        CASE ( 4 )                                                ! total (relative + planetary vorticity) 
    652             zwz(:,:) = ( rotn(:,:,jk) + ff(:,:) ) * ze3f(:,:,jk) 
     654              zwz(:,:) = ( rotn(:,:,jk) + ff(:,:) ) * ze3f(:,:,jk) 
    653655         CASE ( 5 )                                                ! total (coriolis + metric) 
    654656            DO jj = 1, jpjm1 
Note: See TracChangeset for help on using the changeset viewer.