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 7753 for trunk/NEMOGCM/NEMO/OPA_SRC/DOM/domhgr.F90 – NEMO

Ignore:
Timestamp:
2017-03-03T12:46:59+01:00 (7 years ago)
Author:
mocavero
Message:

Reverting trunk to remove OpenMP

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/OPA_SRC/DOM/domhgr.F90

    r7698 r7753  
    4040   !!---------------------------------------------------------------------- 
    4141   !! NEMO/OPA 3.7 , NEMO Consortium (2016) 
    42    !! $Id$ 
     42   !! $Id$  
    4343   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt) 
    4444   !!---------------------------------------------------------------------- 
     
    117117      IF( iff == 0 ) THEN                 ! Coriolis parameter has not been defined  
    118118         IF(lwp) WRITE(numout,*) '          Coriolis parameter calculated on the sphere from gphif & gphit' 
    119 !$OMP PARALLEL DO schedule(static) private(jj, ji) 
    120          DO jj = 1, jpj 
    121             DO ji = 1, jpi 
    122                ff_f(ji,jj) = 2. * omega * SIN( rad * gphif(ji,jj) )     ! compute it on the sphere at f-point 
    123                ff_t(ji,jj) = 2. * omega * SIN( rad * gphit(ji,jj) )     !    -        -       -    at t-point 
    124             END DO 
    125          END DO 
     119         ff_f(:,:) = 2. * omega * SIN( rad * gphif(:,:) )     ! compute it on the sphere at f-point 
     120         ff_t(:,:) = 2. * omega * SIN( rad * gphit(:,:) )     !    -        -       -    at t-point 
    126121      ELSE 
    127122         IF( ln_read_cfg ) THEN 
     
    135130      !                             !==  associated horizontal metrics  ==! 
    136131      ! 
    137 !$OMP PARALLEL DO schedule(static) private(jj, ji) 
    138       DO jj = 1, jpj 
    139          DO ji = 1, jpi 
    140             r1_e1t(ji,jj) = 1._wp / e1t(ji,jj)   ;   r1_e2t (ji,jj) = 1._wp / e2t(ji,jj) 
    141             r1_e1u(ji,jj) = 1._wp / e1u(ji,jj)   ;   r1_e2u (ji,jj) = 1._wp / e2u(ji,jj) 
    142             r1_e1v(ji,jj) = 1._wp / e1v(ji,jj)   ;   r1_e2v (ji,jj) = 1._wp / e2v(ji,jj) 
    143             r1_e1f(ji,jj) = 1._wp / e1f(ji,jj)   ;   r1_e2f (ji,jj) = 1._wp / e2f(ji,jj) 
    144             ! 
    145             e1e2t (ji,jj) = e1t(ji,jj) * e2t(ji,jj)   ;   r1_e1e2t(ji,jj) = 1._wp / e1e2t(ji,jj) 
    146             e1e2f (ji,jj) = e1f(ji,jj) * e2f(ji,jj)   ;   r1_e1e2f(ji,jj) = 1._wp / e1e2f(ji,jj) 
    147          END DO 
    148       END DO 
     132      r1_e1t(:,:) = 1._wp / e1t(:,:)   ;   r1_e2t (:,:) = 1._wp / e2t(:,:) 
     133      r1_e1u(:,:) = 1._wp / e1u(:,:)   ;   r1_e2u (:,:) = 1._wp / e2u(:,:) 
     134      r1_e1v(:,:) = 1._wp / e1v(:,:)   ;   r1_e2v (:,:) = 1._wp / e2v(:,:) 
     135      r1_e1f(:,:) = 1._wp / e1f(:,:)   ;   r1_e2f (:,:) = 1._wp / e2f(:,:) 
     136      ! 
     137      e1e2t (:,:) = e1t(:,:) * e2t(:,:)   ;   r1_e1e2t(:,:) = 1._wp / e1e2t(:,:) 
     138      e1e2f (:,:) = e1f(:,:) * e2f(:,:)   ;   r1_e1e2f(:,:) = 1._wp / e1e2f(:,:) 
    149139      IF( ie1e2u_v == 0 ) THEN               ! u- & v-surfaces have not been defined 
    150140         IF(lwp) WRITE(numout,*) '          u- & v-surfaces calculated as e1 e2 product' 
    151 !$OMP PARALLEL DO schedule(static) private(jj, ji) 
    152          DO jj = 1, jpj 
    153             DO ji = 1, jpi 
    154                e1e2u (ji,jj) = e1u(ji,jj) * e2u(ji,jj)         ! compute them 
    155                e1e2v (ji,jj) = e1v(ji,jj) * e2v(ji,jj)  
    156             END DO 
    157          END DO 
     141         e1e2u (:,:) = e1u(:,:) * e2u(:,:)         ! compute them 
     142         e1e2v (:,:) = e1v(:,:) * e2v(:,:)  
    158143      ELSE 
    159144         IF(lwp) WRITE(numout,*) '          u- & v-surfaces have been read in "mesh_mask" file:' 
    160145         IF(lwp) WRITE(numout,*) '                     grid size reduction in strait(s) is used' 
    161146      ENDIF 
    162 !$OMP PARALLEL DO schedule(static) private(jj, ji) 
    163       DO jj = 1, jpj 
    164          DO ji = 1, jpi 
    165             r1_e1e2u(ji,jj) = 1._wp / e1e2u(ji,jj)     ! compute their invert in any cases 
    166             r1_e1e2v(ji,jj) = 1._wp / e1e2v(ji,jj) 
    167             !    
    168             e2_e1u(ji,jj) = e2u(ji,jj) / e1u(ji,jj) 
    169             e1_e2v(ji,jj) = e1v(ji,jj) / e2v(ji,jj) 
    170          END DO 
    171       END DO 
     147      r1_e1e2u(:,:) = 1._wp / e1e2u(:,:)     ! compute their invert in any cases 
     148      r1_e1e2v(:,:) = 1._wp / e1e2v(:,:) 
     149      !    
     150      e2_e1u(:,:) = e2u(:,:) / e1u(:,:) 
     151      e1_e2v(:,:) = e1v(:,:) / e2v(:,:) 
    172152      ! 
    173153      ! 
Note: See TracChangeset for help on using the changeset viewer.