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/TOP_SRC/PISCES/P4Z/p4zflx.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/TOP_SRC/PISCES/P4Z/p4zflx.F90

    r7698 r7753  
    5454   !!---------------------------------------------------------------------- 
    5555   !! NEMO/TOP 3.3 , NEMO Consortium (2010) 
    56    !! $Id$ 
     56   !! $Id$  
    5757   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt) 
    5858   !!---------------------------------------------------------------------- 
     
    105105         zdco2dt = ( atcco2h(iind) - atcco2h(iindm1) ) / ( years(iind) - years(iindm1) + rtrn ) 
    106106         atcco2  = zdco2dt * ( zyr_dec - years(iindm1) ) + atcco2h(iindm1) 
    107 !$OMP PARALLEL DO schedule(static) private(jj,ji) 
    108          DO jj = 1, jpj 
    109             DO ji = 1, jpi 
    110                satmco2(ji,jj) = atcco2 
    111             END DO 
    112          END DO 
    113       ENDIF 
    114  
    115       IF( l_co2cpl ) THEN 
    116 !$OMP PARALLEL DO schedule(static) private(jj,ji) 
    117          DO jj = 1, jpj 
    118             DO ji = 1, jpi 
    119                satmco2(ji,jj) = atm_co2(ji,jj) 
    120             END DO 
    121          END DO 
    122       END IF 
    123  
    124 !$OMP PARALLEL 
    125 !$OMP DO schedule(static) private(jj,ji,zfact,zdic,zph) 
     107         satmco2(:,:) = atcco2  
     108      ENDIF 
     109 
     110      IF( l_co2cpl )   satmco2(:,:) = atm_co2(:,:) 
     111 
    126112      DO jj = 1, jpj 
    127113         DO ji = 1, jpi 
     
    142128      ! ------------------------------------------- 
    143129 
    144 !$OMP DO schedule(static) private(jj,ji,ztc,ztc2,ztc3,ztc4,zsch_co2,zsch_o2,zws,zkgwan) 
    145130      DO jj = 1, jpj 
    146131         DO ji = 1, jpi 
     
    164149 
    165150 
    166 !$OMP DO schedule(static) private(jj,ji,ztkel,zsal,zvapsw,zxc2,zfugcoeff,zfco2,zfld,zflu,zflu16) 
    167151      DO jj = 1, jpj 
    168152         DO ji = 1, jpi 
     
    190174         END DO 
    191175      END DO 
    192 !$OMP END PARALLEL 
    193176 
    194177      t_oce_co2_flx     = glob_sum( oce_co2(:,:) )                    !  Total Flux of Carbon 
     
    206189         CALL wrk_alloc( jpi, jpj, zw2d )   
    207190         IF( iom_use( "Cflx"  ) )  THEN 
    208 !$OMP PARALLEL DO schedule(static) private(jj,ji) 
    209             DO jj = 1, jpj 
    210                DO ji = 1, jpi 
    211                   zw2d(ji,jj) = oce_co2(ji,jj) / e1e2t(ji,jj) * rfact2r 
    212                END DO 
    213             END DO 
     191            zw2d(:,:) = oce_co2(:,:) / e1e2t(:,:) * rfact2r 
    214192            CALL iom_put( "Cflx"     , zw2d )  
    215193         ENDIF 
    216194         IF( iom_use( "Oflx"  ) )  THEN 
    217 !$OMP PARALLEL DO schedule(static) private(jj,ji) 
    218             DO jj = 1, jpj 
    219                DO ji = 1, jpi 
    220                   zw2d(ji,jj) =  zoflx(ji,jj) * 1000 * tmask(ji,jj,1) 
    221                END DO 
    222             END DO 
     195            zw2d(:,:) =  zoflx(:,:) * 1000 * tmask(:,:,1) 
    223196            CALL iom_put( "Oflx" , zw2d ) 
    224197         ENDIF 
    225198         IF( iom_use( "Kg"    ) )  THEN 
    226 !$OMP PARALLEL DO schedule(static) private(jj,ji) 
    227             DO jj = 1, jpj 
    228                DO ji = 1, jpi 
    229                   zw2d(ji,jj) =  zkgco2(ji,jj) * tmask(ji,jj,1) 
    230                END DO 
    231             END DO 
     199            zw2d(:,:) =  zkgco2(:,:) * tmask(:,:,1) 
    232200            CALL iom_put( "Kg"   , zw2d ) 
    233201         ENDIF 
    234202         IF( iom_use( "Dpco2" ) ) THEN 
    235 !$OMP PARALLEL DO schedule(static) private(jj,ji) 
    236             DO jj = 1, jpj 
    237                DO ji = 1, jpi 
    238                   zw2d(ji,jj) = ( zpco2atm(ji,jj) - zh2co3(ji,jj) / ( chemc(ji,jj,1) + rtrn ) ) * tmask(ji,jj,1) 
    239                END DO 
    240             END DO 
     203           zw2d(:,:) = ( zpco2atm(:,:) - zh2co3(:,:) / ( chemc(:,:,1) + rtrn ) ) * tmask(:,:,1) 
    241204           CALL iom_put( "Dpco2" ,  zw2d ) 
    242205         ENDIF 
    243206         IF( iom_use( "Dpo2" ) )  THEN 
    244 !$OMP PARALLEL DO schedule(static) private(jj,ji) 
    245             DO jj = 1, jpj 
    246                DO ji = 1, jpi 
    247                   zw2d(ji,jj) = ( atcox * patm(ji,jj) - atcox * trb(ji,jj,1,jpoxy) / ( chemo2(ji,jj,1) + rtrn ) ) * tmask(ji,jj,1) 
    248                END DO 
    249             END DO 
     207           zw2d(:,:) = ( atcox * patm(:,:) - atcox * trb(:,:,1,jpoxy) / ( chemo2(:,:,1) + rtrn ) ) * tmask(:,:,1) 
    250208           CALL iom_put( "Dpo2"  , zw2d ) 
    251209         ENDIF 
     
    274232      !!---------------------------------------------------------------------- 
    275233      NAMELIST/nampisext/ln_co2int, atcco2, clname, nn_offset 
    276       INTEGER :: jm, jj, ji 
     234      INTEGER :: jm 
    277235      INTEGER :: ios                 ! Local integer output status for namelist read 
    278236      !!---------------------------------------------------------------------- 
     
    300258            WRITE(numout,*) ' ' 
    301259         ENDIF 
    302 !$OMP PARALLEL DO schedule(static) private(jj,ji) 
    303          DO jj = 1, jpj 
    304             DO ji = 1, jpi 
    305                satmco2(ji,jj)  = atcco2      ! Initialisation of atmospheric pco2 
    306             END DO 
    307          END DO 
     260         satmco2(:,:)  = atcco2      ! Initialisation of atmospheric pco2 
    308261      ELSEIF( ln_co2int .AND. .NOT.ln_presatmco2 ) THEN 
    309262         IF(lwp)  THEN 
     
    341294 
    342295      ! 
    343 !$OMP PARALLEL DO schedule(static) private(jj,ji) 
    344       DO jj = 1, jpj 
    345          DO ji = 1, jpi 
    346             oce_co2(ji,jj)  = 0._wp                ! Initialization of Flux of Carbon 
    347          END DO 
    348       END DO 
     296      oce_co2(:,:)  = 0._wp                ! Initialization of Flux of Carbon 
    349297      t_oce_co2_flx = 0._wp 
    350298      t_atm_co2_flx = 0._wp 
     
    365313      !! * arguments 
    366314      INTEGER, INTENT( in  ) ::   kt   ! ocean time step 
    367       INTEGER ::  jj, ji 
    368315      ! 
    369316      INTEGER            ::  ierr 
     
    414361         ENDIF 
    415362         ! 
    416          IF( .NOT.ln_presatm ) THEN 
    417 !$OMP PARALLEL DO schedule(static) private(jj,ji) 
    418             DO jj = 1, jpj 
    419                DO ji = 1, jpi 
    420                   patm(ji,jj) = 1.e0    ! Initialize patm if no reading from a file 
    421                END DO 
    422             END DO 
    423          ENDIF 
     363         IF( .NOT.ln_presatm )   patm(:,:) = 1.e0    ! Initialize patm if no reading from a file 
    424364         ! 
    425365      ENDIF 
     
    427367      IF( ln_presatm ) THEN 
    428368         CALL fld_read( kt, 1, sf_patm )               !* input Patm provided at kt + 1/2 
    429 !$OMP PARALLEL DO schedule(static) private(jj,ji) 
    430          DO jj = 1, jpj 
    431             DO ji = 1, jpi 
    432                patm(ji,jj) = sf_patm(1)%fnow(ji,jj,1)                        ! atmospheric pressure 
    433             END DO 
    434          END DO 
     369         patm(:,:) = sf_patm(1)%fnow(:,:,1)                        ! atmospheric pressure 
    435370      ENDIF 
    436371      ! 
    437372      IF( ln_presatmco2 ) THEN 
    438373         CALL fld_read( kt, 1, sf_atmco2 )               !* input atmco2 provided at kt + 1/2 
    439 !$OMP PARALLEL DO schedule(static) private(jj,ji) 
    440          DO jj = 1, jpj 
    441             DO ji = 1, jpi 
    442                satmco2(ji,jj) = sf_atmco2(1)%fnow(ji,jj,1)                        ! atmospheric pressure 
    443             END DO 
    444          END DO 
     374         satmco2(:,:) = sf_atmco2(1)%fnow(:,:,1)                        ! atmospheric pressure 
    445375      ELSE 
    446 !$OMP PARALLEL DO schedule(static) private(jj,ji) 
    447          DO jj = 1, jpj 
    448             DO ji = 1, jpi 
    449                satmco2(ji,jj) = atcco2    ! Initialize atmco2 if no reading from a file 
    450             END DO 
    451          END DO 
     376         satmco2(:,:) = atcco2    ! Initialize atmco2 if no reading from a file 
    452377      ENDIF 
    453378      ! 
Note: See TracChangeset for help on using the changeset viewer.