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/USR/usrdef_hgr.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/USR/usrdef_hgr.F90

    r6960 r7698  
    103103      ENDIF 
    104104      !    
     105!$OMP PARALLEL 
     106!$OMP DO schedule(static) private(jj, ji, zim1, zjm1) 
    105107      DO jj = 1, jpj  
    106108         DO ji = 1, jpi  
     
    129131         END DO 
    130132      END DO 
     133!$OMP END DO NOWAIT 
    131134      ! 
    132135      !                       !== Horizontal scale factors ==! (in meters) 
    133136      !                      
    134137      !                                         ! constant grid spacing 
    135       pe1t(:,:) =  ze1     ;      pe2t(:,:) = ze1 
    136       pe1u(:,:) =  ze1     ;      pe2u(:,:) = ze1 
    137       pe1v(:,:) =  ze1     ;      pe2v(:,:) = ze1 
    138       pe1f(:,:) =  ze1     ;      pe2f(:,:) = ze1 
    139       ! 
    140       !                                         ! NO reduction of grid size in some straits  
     138!$OMP DO schedule(static) private(jj, ji) 
     139      DO jj = 1, jpj 
     140         DO ji = 1, jpi 
     141            pe1t(ji,jj) =  ze1     ;      pe2t(ji,jj) = ze1 
     142            pe1u(ji,jj) =  ze1     ;      pe2u(ji,jj) = ze1 
     143            pe1v(ji,jj) =  ze1     ;      pe2v(ji,jj) = ze1 
     144            pe1f(ji,jj) =  ze1     ;      pe2f(ji,jj) = ze1 
     145            ! 
     146            !                                         ! NO reduction of grid size in some straits  
     147            pe1e2u(ji,jj) = 0._wp                       !    CAUTION: set to zero to avoid error with some compilers that 
     148            pe1e2v(ji,jj) = 0._wp                       !             require an initialization of INTENT(out) arguments 
     149         END DO 
     150      END DO 
     151!$OMP END PARALLEL 
    141152      ke1e2u_v = 0                              !    ==>> u_ & v_surfaces will be computed in dom_ghr routine 
    142       pe1e2u(:,:) = 0._wp                       !    CAUTION: set to zero to avoid error with some compilers that 
    143       pe1e2v(:,:) = 0._wp                       !             require an initialization of INTENT(out) arguments 
    144153      ! 
    145154      ! 
     
    153162      zf0   = 2. * omega * SIN( rad * zphi0 )            !  compute f0 1st point south 
    154163      ! 
    155       pff_f(:,:) = ( zf0 + zbeta * ABS( pphif(:,:) - zphi0 ) * rad * ra ) ! f = f0 +beta* y ( y=0 at south) 
    156       pff_t(:,:) = ( zf0 + zbeta * ABS( pphit(:,:) - zphi0 ) * rad * ra ) ! f = f0 +beta* y ( y=0 at south) 
     164!$OMP PARALLEL DO schedule(static) private(jj, ji) 
     165      DO jj = 1, jpj 
     166         DO ji = 1, jpi 
     167            pff_f(ji,jj) = ( zf0 + zbeta * ABS( pphif(ji,jj) - zphi0 ) * rad * ra ) ! f = f0 +beta* y ( y=0 at south) 
     168            pff_t(ji,jj) = ( zf0 + zbeta * ABS( pphit(ji,jj) - zphi0 ) * rad * ra ) ! f = f0 +beta* y ( y=0 at south) 
     169         END DO 
     170      END DO 
    157171      ! 
    158172      IF(lwp) WRITE(numout,*) '                           beta-plane used. beta = ', zbeta, ' 1/(s.m)' 
Note: See TracChangeset for help on using the changeset viewer.