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 7037 for branches/2016/dev_r6519_HPC_4/NEMOGCM/NEMO/LIM_SRC_2/limmsh_2.F90 – NEMO

Ignore:
Timestamp:
2016-10-18T15:32:04+02:00 (8 years ago)
Author:
mocavero
Message:

ORCA2_LIM_PISCES hybrid version update

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2016/dev_r6519_HPC_4/NEMOGCM/NEMO/LIM_SRC_2/limmsh_2.F90

    r3625 r7037  
    135135      !---------------------------------------- 
    136136      !                                                       ! akappa 
     137!$OMP PARALLEL DO schedule(static) private(jj, ji) 
    137138      DO jj = 2, jpj 
    138          zd1d2(:,jj) = e1v(:,jj) - e1v(:,jj-1) 
     139         DO ji = 1, jpi 
     140            zd1d2(ji,jj) = e1v(ji,jj) - e1v(ji,jj-1) 
     141         END DO 
    139142      END DO 
    140143      CALL lbc_lnk( zd1d2, 'T', -1. ) 
    141144 
    142       DO ji = 2, jpi 
    143          zd2d1(ji,:) = e2u(ji,:) - e2u(ji-1,:) 
     145!$OMP PARALLEL DO schedule(static) private(jj, ji) 
     146      DO jj = 1, jpj 
     147         DO ji = 2, jpi 
     148            zd2d1(ji,jj) = e2u(ji,jj) - e2u(ji-1,jj) 
     149         END DO 
    144150      END DO 
    145151      CALL lbc_lnk( zd2d1, 'T', -1. ) 
    146152 
     153!$OMP PARALLEL 
     154!$OMP WORKSHARE 
    147155      akappa(:,:,1,1) =        1.0 / ( 2.0 * e1t(:,:) ) 
    148156      akappa(:,:,1,2) = zd1d2(:,:) / ( 4.0 * e1t(:,:) * e2t(:,:) ) 
    149157      akappa(:,:,2,1) = zd2d1(:,:) / ( 4.0 * e1t(:,:) * e2t(:,:) ) 
    150158      akappa(:,:,2,2) =        1.0 / ( 2.0 * e2t(:,:) ) 
     159!$OMP END WORKSHARE NOWAIT 
    151160       
    152161      !                                                      ! weights (wght) 
     162!$OMP DO schedule(static) private(jj,ji,zusden) 
    153163      DO jj = 2, jpj 
    154164         DO ji = 2, jpi 
     
    161171         END DO 
    162172      END DO 
     173!$OMP END DO NOWAIT 
     174!$OMP END PARALLEL 
    163175      CALL lbc_lnk( wght(:,:,1,1), 'I', 1. )      ! CAUTION: even with the lbc_lnk at ice U-V-point 
    164176      CALL lbc_lnk( wght(:,:,1,2), 'I', 1. )      ! the value of wght at jpj is wrong 
     
    168180      ! metric coefficients for sea ice dynamic (EVP rheology) 
    169181      !---------------------------------------- 
     182!$OMP PARALLEL DO schedule(static) private(jj,ji,zusden) 
    170183      DO jj = 1, jpjm1                                       ! weights (wght) at F-points 
    171184         DO ji = 1, jpim1 
     
    186199 
    187200#if defined key_lim2_vp 
     201!$OMP PARALLEL DO schedule(static) private(jj,ji,zh1p,zh2p,zusden,zusden2,zd1d2p,zd2d1p) 
    188202      DO jj = 2, jpj 
    189203         DO ji = 2, jpi   ! NO vector opt. 
     
    259273      !---------------------------- 
    260274       
     275!$OMP PARALLEL WORKSHARE       
    261276      tms(:,:) = tmask(:,:,1)      ! ice T-point  : use surface tmask 
    262277 
     278!$OMP END PARALLEL WORKSHARE 
    263279#if defined key_lim2_vp 
    264280      ! VP rheology : ice velocity point is I-point 
     
    266282      tmu(:,1) = 0.e0 
    267283      tmu(1,:) = 0.e0 
     284!$OMP PARALLEL DO schedule(static) private(jj, ji) 
    268285      DO jj = 2, jpj               ! ice U.V-point: computed from ice T-point mask 
    269286         DO ji = 2, jpim1   ! NO vector opt. 
     
    275292      ! EVP rheology : ice velocity point are U- & V-points ; ice vorticity 
    276293      ! point is F-point 
     294!$OMP PARALLEL WORKSHARE 
    277295      tmu(:,:) = umask(:,:,1) 
    278296      tmv(:,:) = vmask(:,:,1) 
    279297      tmf(:,:) = 0.e0                        ! used of fmask except its special value along the coast (rn_shlat) 
    280298      WHERE( fmask(:,:,1) == 1.e0 )   tmf(:,:) = 1.e0 
     299!$OMP END PARALLEL WORKSHARE 
    281300#endif 
    282301      ! 
    283302      ! unmasked and masked area of T-grid cell 
     303!$OMP PARALLEL WORKSHARE 
    284304      area(:,:) = e1t(:,:) * e2t(:,:) 
     305!$OMP END PARALLEL WORKSHARE 
    285306      ! 
    286307#if defined key_lim2_vp 
Note: See TracChangeset for help on using the changeset viewer.