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/LIM_SRC_3/limrhg.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/LIM_SRC_3/limrhg.F90

    r7698 r7753  
    164164      !------------------------------------------------------------------------------! 
    165165      ! ocean/land mask 
    166 !$OMP PARALLEL DO schedule(static) private(jj, ji) 
    167166      DO jj = 1, jpjm1 
    168167         DO ji = 1, jpim1      ! NO vector opt. 
     
    173172 
    174173      ! Lateral boundary conditions on velocity (modify zfmask) 
    175 !$OMP PARALLEL 
    176 !$OMP DO schedule(static) private(jj, ji) 
    177       DO jj = 1, jpj 
    178          DO ji = 1, jpi 
    179             zwf(ji,jj) = zfmask(ji,jj) 
    180          END DO 
    181       END DO 
    182 !$OMP DO schedule(static) private(jj, ji) 
     174      zwf(:,:) = zfmask(:,:) 
    183175      DO jj = 2, jpjm1 
    184176         DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    188180         END DO 
    189181      END DO 
    190 !$OMP DO schedule(static) private(jj) 
    191182      DO jj = 2, jpjm1 
    192183         IF( zfmask(1,jj) == 0._wp ) THEN 
     
    197188         ENDIF 
    198189      END DO 
    199 !$OMP DO schedule(static) private(ji) 
    200190      DO ji = 2, jpim1 
    201191         IF( zfmask(ji,1) == 0._wp ) THEN 
     
    206196         ENDIF 
    207197      END DO 
    208 !$OMP END PARALLEL 
    209198      CALL lbc_lnk( zfmask, 'F', 1._wp ) 
    210199 
     
    236225 
    237226      ! Initialise stress tensor  
    238 !$OMP PARALLEL DO schedule(static) private(jj, ji) 
    239       DO jj = 1, jpj 
    240          DO ji = 1, jpi 
    241             zs1 (ji,jj) = stress1_i (ji,jj)  
    242             zs2 (ji,jj) = stress2_i (ji,jj) 
    243             zs12(ji,jj) = stress12_i(ji,jj) 
    244          END DO 
    245       END DO 
     227      zs1 (:,:) = stress1_i (:,:)  
     228      zs2 (:,:) = stress2_i (:,:) 
     229      zs12(:,:) = stress12_i(:,:) 
    246230 
    247231      ! Ice strength 
     
    249233 
    250234      ! scale factors 
    251 !$OMP PARALLEL DO schedule(static) private(jj, ji) 
    252235      DO jj = 2, jpjm1 
    253236         DO ji = fs_2, fs_jpim1 
     
    272255         zintb = REAL( nn_fsbc + 1 ) / REAL( nn_fsbc ) * 0.5_wp 
    273256         ! 
    274 !$OMP PARALLEL DO schedule(static) private(jj, ji) 
    275          DO jj = 1, jpj 
    276             DO ji = 1, jpi 
    277                zpice(ji,jj) = ssh_m(ji,jj) + (  zintn * snwice_mass(ji,jj) +  zintb * snwice_mass_b(ji,jj)  ) * r1_rau0 
    278             END DO 
    279          END DO 
     257         zpice(:,:) = ssh_m(:,:) + ( zintn * snwice_mass(:,:) + zintb * snwice_mass_b(:,:) ) * r1_rau0 
    280258         ! 
    281259      ELSE                                    !== non-embedded sea ice: use ocean surface for slope calculation ==! 
    282 !$OMP PARALLEL DO schedule(static) private(jj, ji) 
    283          DO jj = 1, jpj 
    284             DO ji = 1, jpi 
    285                zpice(ji,jj) = ssh_m(ji,jj) 
    286             END DO 
    287          END DO 
     260         zpice(:,:) = ssh_m(:,:) 
    288261      ENDIF 
    289262 
    290 !$OMP PARALLEL DO schedule(static) private(jj,ji,zm1,zm2,zm3,zmassU,zmassV) 
    291263      DO jj = 2, jpjm1 
    292264         DO ji = fs_2, fs_jpim1 
     
    345317         !                                            !----------------------!         
    346318         IF(ln_ctl) THEN   ! Convergence test 
    347 !$OMP PARALLEL DO schedule(static) private(jj, ji) 
    348319            DO jj = 1, jpjm1 
    349                DO ji = 1, jpi 
    350                   zu_ice(ji,jj) = u_ice(ji,jj) ! velocity at previous time step 
    351                   zv_ice(ji,jj) = v_ice(ji,jj) 
    352                END DO 
     320               zu_ice(:,jj) = u_ice(:,jj) ! velocity at previous time step 
     321               zv_ice(:,jj) = v_ice(:,jj) 
    353322            END DO 
    354323         ENDIF 
    355324 
    356325         ! --- divergence, tension & shear (Appendix B of Hunke & Dukowicz, 2002) --- ! 
    357 !$OMP PARALLEL DO schedule(static) private(jj, ji) 
    358326         DO jj = 1, jpjm1         ! loops start at 1 since there is no boundary condition (lbc_lnk) at i=1 and j=1 for F points 
    359327            DO ji = 1, jpim1 
     
    368336         CALL lbc_lnk( zds, 'F', 1. ) 
    369337 
    370 !$OMP PARALLEL DO schedule(static) private(jj,ji,zds2,zdiv,zdiv2,zdt,zdt2,zdelta) 
    371338         DO jj = 2, jpjm1 
    372339            DO ji = 2, jpim1 ! no vector loop 
     
    403370         CALL lbc_lnk( zp_delt, 'T', 1. ) 
    404371 
    405 !$OMP PARALLEL DO schedule(static) private(jj,ji,zp_delf) 
    406372         DO jj = 1, jpjm1 
    407373            DO ji = 1, jpim1 
     
    419385 
    420386         ! --- Ice internal stresses (Appendix C of Hunke and Dukowicz, 2002) --- ! 
    421 !$OMP PARALLEL DO schedule(static) private(jj,ji) 
    422387         DO jj = 2, jpjm1 
    423388            DO ji = fs_2, fs_jpim1                
     
    455420         IF( MOD(jter,2) .EQ. 0 ) THEN ! even iterations 
    456421             
    457 !$OMP PARALLEL DO schedule(static) private(jj,ji,zTauO,zvel,zTauB,zCor,zTauE,rswitch) 
    458422            DO jj = 2, jpjm1 
    459423               DO ji = fs_2, fs_jpim1 
     
    500464            IF( ln_bdy ) CALL bdy_ice_lim_dyn( 'V' ) 
    501465 
    502 !$OMP PARALLEL DO schedule(static) private(jj,ji,zTauO,zvel,zTauB,zCor,zTauE,rswitch) 
    503466            DO jj = 2, jpjm1 
    504467               DO ji = fs_2, fs_jpim1 
     
    546509         ELSE ! odd iterations 
    547510 
    548 !$OMP PARALLEL DO schedule(static) private(jj,ji,zTauO,zvel,zTauB,zCor,zTauE,rswitch) 
    549511            DO jj = 2, jpjm1 
    550512               DO ji = fs_2, fs_jpim1 
     
    590552            IF( ln_bdy ) CALL bdy_ice_lim_dyn( 'U' ) 
    591553 
    592 !$OMP PARALLEL DO schedule(static) private(jj,ji,zTauO,zvel,zTauB,zCor,zTauE,rswitch) 
    593554            DO jj = 2, jpjm1 
    594555               DO ji = fs_2, fs_jpim1 
     
    637598          
    638599         IF(ln_ctl) THEN   ! Convergence test 
    639 !$OMP PARALLEL DO schedule(static) private(jj, ji) 
    640600            DO jj = 2 , jpjm1 
    641                DO ji = 1, jpi 
    642                   zresr(ji,jj) = MAX( ABS( u_ice(ji,jj) - zu_ice(ji,jj) ), ABS( v_ice(ji,jj) - zv_ice(ji,jj) ) ) 
    643                END DO 
     601               zresr(:,jj) = MAX( ABS( u_ice(:,jj) - zu_ice(:,jj) ), ABS( v_ice(:,jj) - zv_ice(:,jj) ) ) 
    644602            END DO 
    645603            zresm = MAXVAL( zresr( 1:jpi, 2:jpjm1 ) ) 
     
    654612      ! 4) Recompute delta, shear and div (inputs for mechanical redistribution)  
    655613      !------------------------------------------------------------------------------! 
    656 !$OMP PARALLEL DO schedule(static) private(jj, ji) 
    657614      DO jj = 1, jpjm1 
    658615         DO ji = 1, jpim1 
     
    667624      CALL lbc_lnk( zds, 'F', 1. ) 
    668625       
    669 !$OMP PARALLEL DO schedule(static) private(jj,ji,zdt,zdt2,zds2,zdelta,rswitch) 
    670626      DO jj = 2, jpjm1 
    671627         DO ji = 2, jpim1 ! no vector loop 
     
    700656       
    701657      ! --- Store the stress tensor for the next time step --- ! 
    702 !$OMP PARALLEL DO schedule(static) private(jj, ji) 
    703       DO jj = 1, jpj 
    704          DO ji = 1, jpi 
    705             stress1_i (ji,jj) = zs1 (ji,jj) 
    706             stress2_i (ji,jj) = zs2 (ji,jj) 
    707             stress12_i(ji,jj) = zs12(ji,jj) 
    708          END DO 
    709       END DO 
     658      stress1_i (:,:) = zs1 (:,:) 
     659      stress2_i (:,:) = zs2 (:,:) 
     660      stress12_i(:,:) = zs12(:,:) 
    710661      ! 
    711662 
Note: See TracChangeset for help on using the changeset viewer.