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/TRA/eosbn2.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/TRA/eosbn2.F90

    r7698 r7753  
    237237      CASE( np_teos10, np_eos80 )                !==  polynomial TEOS-10 / EOS-80 ==! 
    238238         ! 
    239 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji, zh, zt, zs, ztm, zn3, zn2, zn1, zn0, zn) 
    240239         DO jk = 1, jpkm1 
    241240            DO jj = 1, jpj 
     
    278277      CASE( np_seos )                !==  simplified EOS  ==! 
    279278         ! 
    280 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji, zh, zt, zs, ztm, zn) 
    281279         DO jk = 1, jpkm1 
    282280            DO jj = 1, jpj 
     
    347345            END DO 
    348346            ! 
    349 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji, jsmp, jdof, zh, zt, zstemp, zs, ztm, zn3, zn2, zn1) 
    350347            DO jk = 1, jpkm1 
    351348               DO jj = 1, jpj 
     
    402399         ! Non-stochastic equation of state 
    403400         ELSE 
    404 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji, zh, zt, zs, ztm, zn3, zn2, zn1, zn0, zn) 
    405401            DO jk = 1, jpkm1 
    406402               DO jj = 1, jpj 
     
    445441      CASE( np_seos )                !==  simplified EOS  ==! 
    446442         ! 
    447 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji, zh, zt, zs, ztm, zn) 
    448443         DO jk = 1, jpkm1 
    449444            DO jj = 1, jpj 
     
    498493      IF( nn_timing == 1 )   CALL timing_start('eos2d') 
    499494      ! 
    500 !$OMP PARALLEL DO schedule(static) private(jj, ji) 
    501       DO jj = 1, jpj 
    502          DO ji = 1, jpi 
    503             prd(ji,jj) = 0._wp 
    504          END DO 
    505       END DO 
     495      prd(:,:) = 0._wp 
    506496      ! 
    507497      SELECT CASE( neos ) 
     
    509499      CASE( np_teos10, np_eos80 )                !==  polynomial TEOS-10 / EOS-80 ==! 
    510500         ! 
    511 !$OMP PARALLEL DO schedule(static) private(jj, ji, zh, zt, zs, zn3, zn2, zn1, zn0, zn) 
    512501         DO jj = 1, jpjm1 
    513502            DO ji = 1, fs_jpim1   ! vector opt. 
     
    549538      CASE( np_seos )                !==  simplified EOS  ==! 
    550539         ! 
    551 !$OMP PARALLEL DO schedule(static) private(jj, ji, zh, zt, zs, zn) 
    552540         DO jj = 1, jpjm1 
    553541            DO ji = 1, fs_jpim1   ! vector opt. 
     
    601589      CASE( np_teos10, np_eos80 )                !==  polynomial TEOS-10 / EOS-80 ==! 
    602590         ! 
    603 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji, zh, zt, zs, ztm, zn3, zn2, zn1, zn0, zn) 
    604591         DO jk = 1, jpkm1 
    605592            DO jj = 1, jpj 
     
    659646      CASE( np_seos )                  !==  simplified EOS  ==! 
    660647         ! 
    661 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji, zh, zt, zs, ztm, zn) 
    662648         DO jk = 1, jpkm1 
    663649            DO jj = 1, jpj 
     
    712698      IF( nn_timing == 1 ) CALL timing_start('rab_2d') 
    713699      ! 
    714 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 
    715          DO jk = 1, jpts 
    716             DO jj = 1, jpj 
    717                DO ji = 1, jpi 
    718                   pab(ji,jj,jk) = 0._wp 
    719                END DO 
    720             END DO 
    721          END DO 
     700      pab(:,:,:) = 0._wp 
    722701      ! 
    723702      SELECT CASE ( neos ) 
     
    725704      CASE( np_teos10, np_eos80 )                !==  polynomial TEOS-10 / EOS-80 ==! 
    726705         ! 
    727 !$OMP PARALLEL DO schedule(static) private(jj, ji, zh, zt, zs, zn3, zn2, zn1, zn0, zn) 
    728706         DO jj = 1, jpjm1 
    729707            DO ji = 1, fs_jpim1   ! vector opt. 
     
    784762      CASE( np_seos )                  !==  simplified EOS  ==! 
    785763         ! 
    786 !$OMP PARALLEL DO schedule(static) private(jj, ji, zh, zt, zs, zn) 
    787764         DO jj = 1, jpjm1 
    788765            DO ji = 1, fs_jpim1   ! vector opt. 
     
    940917      IF( nn_timing == 1 ) CALL timing_start('bn2') 
    941918      ! 
    942 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji, zrw, zaw, zbw) 
    943919      DO jk = 2, jpkm1           ! interior points only (2=< jk =< jpkm1 ) 
    944920         DO jj = 1, jpj          ! surface and bottom value set to zero one for all in istate.F90 
     
    976952      !!                Rational approximation to TEOS10 algorithm (rms error on WOA13 values: 4.0e-5 degC) 
    977953      !!---------------------------------------------------------------------- 
    978       REAL(wp), DIMENSION(jpi,jpj), INTENT(in   ) ::   ctmp   ! Cons. Temp [Celsius] 
    979       REAL(wp), DIMENSION(jpi,jpj), INTENT(in   ) ::   psal   ! salinity   [psu] 
     954      REAL(wp), DIMENSION(jpi,jpj), INTENT(in   ) ::   ctmp   ! Cons. Temp   [Celsius] 
     955      REAL(wp), DIMENSION(jpi,jpj), INTENT(in   ) ::   psal   ! salinity     [psu] 
    980956      ! Leave result array automatic rather than making explicitly allocated 
    981957      REAL(wp), DIMENSION(jpi,jpj) ::   ptmp   ! potential temperature [Celsius] 
     
    993969      z1_T0   = 1._wp/40._wp 
    994970      ! 
    995 !$OMP PARALLEL DO schedule(static) private(jj, ji, zt, zs, ztm, zn,zd) 
    996971      DO jj = 1, jpj 
    997972         DO ji = 1, jpi 
     
    10491024         ! 
    10501025         z1_S0 = 1._wp / 35.16504_wp 
    1051 !$OMP PARALLEL 
    1052 !$OMP DO schedule(static) private(jj, ji, zs) 
    10531026         DO jj = 1, jpj 
    10541027            DO ji = 1, jpi 
     
    10581031            END DO 
    10591032         END DO 
    1060 !$OMP DO schedule(static) private(jj, ji) 
    1061          DO jj = 1, jpj 
    1062             DO ji = 1, jpi 
    1063                ptf(ji,jj) = ptf(ji,jj) * psal(ji,jj) 
    1064             END DO 
    1065          END DO 
    1066 !$OMP END PARALLEL 
    1067          ! 
    1068          IF( PRESENT( pdep ) ) THEN 
    1069 !$OMP PARALLEL DO schedule(static) private(jj, ji) 
    1070            DO jj = 1, jpj 
    1071               DO ji = 1, jpi 
    1072                  ptf(ji,jj) = ptf(ji,jj) - 7.53e-4 * pdep(ji,jj) 
    1073               END DO 
    1074            END DO 
    1075          END IF 
     1033         ptf(:,:) = ptf(:,:) * psal(:,:) 
     1034         ! 
     1035         IF( PRESENT( pdep ) )   ptf(:,:) = ptf(:,:) - 7.53e-4 * pdep(:,:) 
    10761036         ! 
    10771037      CASE ( np_eos80 )                !==  PT,SP (UNESCO formulation)  ==! 
    10781038         ! 
    1079 !$OMP PARALLEL DO schedule(static) private(jj, ji) 
    1080          DO jj = 1, jpj 
    1081             DO ji = 1, jpi 
    1082             ptf(ji,jj) = ( - 0.0575_wp + 1.710523e-3_wp * SQRT( psal(ji,jj) )   & 
    1083                &                     - 2.154996e-4_wp *       psal(ji,jj)   ) * psal(ji,jj) 
    1084             END DO 
    1085          END DO 
     1039         ptf(:,:) = ( - 0.0575_wp + 1.710523e-3_wp * SQRT( psal(:,:) )   & 
     1040            &                     - 2.154996e-4_wp *       psal(:,:)   ) * psal(:,:) 
    10861041            ! 
    1087          IF( PRESENT( pdep ) ) THEN 
    1088 !$OMP PARALLEL DO schedule(static) private(jj, ji) 
    1089            DO jj = 1, jpj 
    1090               DO ji = 1, jpi 
    1091                  ptf(ji,jj) = ptf(ji,jj) - 7.53e-4 * pdep(ji,jj) 
    1092               END DO 
    1093            END DO 
    1094          END IF 
     1042         IF( PRESENT( pdep ) )   ptf(:,:) = ptf(:,:) - 7.53e-4 * pdep(:,:) 
    10951043         ! 
    10961044      CASE DEFAULT 
     
    11861134      CASE( np_teos10, np_eos80 )                !==  polynomial TEOS-10 / EOS-80 ==! 
    11871135         ! 
    1188 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji, zh, zt, zs, ztm, zn2, zn1, zn0, zn) 
    11891136         DO jk = 1, jpkm1 
    11901137            DO jj = 1, jpj 
     
    12501197      CASE( np_seos )                !==  Vallis (2006) simplified EOS  ==! 
    12511198         ! 
    1252 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji, zh, zt, zs, ztm, zn) 
    12531199         DO jk = 1, jpkm1 
    12541200            DO jj = 1, jpj 
Note: See TracChangeset for help on using the changeset viewer.