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/p4zprod.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/p4zprod.F90

    r7698 r7753  
    9393      CALL wrk_alloc( jpi, jpj, jpk, zprorcan, zprorcad, zprofed, zprofen, zpronewn, zpronewd ) 
    9494      ! 
     95      zprorcan(:,:,:) = 0._wp ; zprorcad(:,:,:) = 0._wp ; zprofed (:,:,:) = 0._wp 
     96      zprofen (:,:,:) = 0._wp ; zysopt  (:,:,:) = 0._wp 
     97      zpronewn(:,:,:) = 0._wp ; zpronewd(:,:,:) = 0._wp ; zprdia  (:,:,:) = 0._wp 
     98      zprbio  (:,:,:) = 0._wp ; zprdch  (:,:,:) = 0._wp ; zprnch  (:,:,:) = 0._wp  
     99      zmxl_fac(:,:,:) = 0._wp ; zmxl_chl(:,:,:) = 0._wp  
     100 
     101      ! Computation of the optimal production 
     102      prmax(:,:,:) = 0.8_wp * r1_rday * tgfunc(:,:,:)  
     103 
    95104      ! compute the day length depending on latitude and the day 
    96105      zrum = REAL( nday_year - 80, wp ) / REAL( nyear_len(1), wp ) 
    97106      zcodel = ASIN(  SIN( zrum * rpi * 2._wp ) * SIN( rad * 23.5_wp )  ) 
    98107 
    99 !$OMP PARALLEL  
    100 !$OMP DO schedule(static) private(jk,jj,ji) 
    101       DO jk = 1, jpk 
    102          DO jj = 1, jpj 
    103             DO ji = 1, jpi 
    104                zprorcan(ji,jj,jk) = 0._wp 
    105                zprorcad(ji,jj,jk) = 0._wp 
    106                zprofed (ji,jj,jk) = 0._wp 
    107                zprofen (ji,jj,jk) = 0._wp 
    108                zysopt  (ji,jj,jk) = 0._wp 
    109                zpronewn(ji,jj,jk) = 0._wp 
    110                zpronewd(ji,jj,jk) = 0._wp 
    111                zprdia  (ji,jj,jk) = 0._wp 
    112                zprbio  (ji,jj,jk) = 0._wp 
    113                zprdch  (ji,jj,jk) = 0._wp 
    114                zprnch  (ji,jj,jk) = 0._wp 
    115                zmxl_fac(ji,jj,jk) = 0._wp 
    116                zmxl_chl(ji,jj,jk) = 0._wp  
    117                 
    118                ! Computation of the optimal production 
    119                prmax(ji,jj,jk) = 0.8_wp * r1_rday * tgfunc(ji,jj,jk) 
    120             END DO 
    121          END DO 
    122       END DO 
    123  
    124108      ! day length in hours 
    125 !$OMP DO schedule(static) private(jj,ji) 
    126       DO jj = 1, jpj 
    127          DO ji = 1, jpi 
    128             zstrn(ji,jj) = 0. 
    129          END DO 
    130       END DO 
    131 !$OMP DO schedule(static) private(jj,ji,zargu) 
     109      zstrn(:,:) = 0. 
    132110      DO jj = 1, jpj 
    133111         DO ji = 1, jpi 
     
    139117 
    140118      ! Impact of the day duration and light intermittency on phytoplankton growth 
    141 !$OMP DO schedule(static) private(jk,jj,ji,zval) 
    142119      DO jk = 1, jpkm1 
    143120         DO jj = 1 ,jpj 
     
    155132      END DO 
    156133 
    157 !$OMP DO schedule(static) private(jk,jj,ji) 
    158       DO jk = 1, jpk 
    159          DO jj = 1 ,jpj 
    160             DO ji = 1, jpi 
    161                zprbio(ji,jj,jk) = prmax(ji,jj,jk) * zmxl_fac(ji,jj,jk) 
    162                zprdia(ji,jj,jk) = zprbio(ji,jj,jk) 
    163             END DO 
    164          END DO 
    165       END DO 
     134      zprbio(:,:,:) = prmax(:,:,:) * zmxl_fac(:,:,:) 
     135      zprdia(:,:,:) = zprbio(:,:,:) 
    166136 
    167137      ! Maximum light intensity 
    168 !$OMP DO schedule(static) private(jj,ji) 
    169       DO jj = 1 ,jpj 
    170          DO ji = 1, jpi 
    171             IF( zstrn(ji,jj) < 1.e0 ) zstrn(ji,jj) = 24. 
    172          END DO 
    173       END DO 
     138      WHERE( zstrn(:,:) < 1.e0 ) zstrn(:,:) = 24. 
    174139 
    175140      ! Computation of the P-I slope for nanos and diatoms 
    176 !$OMP DO schedule(static) private(jk,jj,ji,ztn,zadap,zconctemp,zconctemp2) 
    177141      DO jk = 1, jpkm1 
    178142         DO jj = 1, jpj 
     
    195159 
    196160      IF( ln_newprod ) THEN 
    197 !$OMP DO schedule(static) private(jk,jj,ji,zpislopen,zpisloped) 
    198161         DO jk = 1, jpkm1 
    199162            DO jj = 1, jpj 
     
    219182         END DO 
    220183      ELSE 
    221 !$OMP DO schedule(static) private(jk,jj,ji,zpislopen,zpisloped) 
    222184         DO jk = 1, jpkm1 
    223185            DO jj = 1, jpj 
     
    244206      !  Computation of a proxy of the N/C ratio 
    245207      !  --------------------------------------- 
    246 !$OMP DO schedule(static) private(jk,jj,ji,zval) 
    247208      DO jk = 1, jpkm1 
    248209         DO jj = 1, jpj 
     
    257218         END DO 
    258219      END DO 
    259 !$OMP END DO NOWAIT 
    260  
    261  
    262 !$OMP DO schedule(static) private(jk,jj,ji,zlim,zsilim,zsilfac,zsiborn,zsilfac2) 
     220 
     221 
    263222      DO jk = 1, jpkm1 
    264223         DO jj = 1, jpj 
     
    285244         END DO 
    286245      END DO 
    287 !$OMP END DO NOWAIT 
    288246 
    289247      !  Mixed-layer effect on production  
    290248      !  Sea-ice effect on production 
    291249 
    292 !$OMP DO schedule(static) private(jk,jj,ji) 
    293250      DO jk = 1, jpkm1 
    294251         DO jj = 1, jpj 
     
    303260 
    304261      ! Computation of the various production terms  
    305 !$OMP DO schedule(static) private(jk,jj,ji,zratio,zmax) 
    306262      DO jk = 1, jpkm1 
    307263         DO jj = 1, jpj 
     
    334290 
    335291      ! Computation of the chlorophyll production terms 
    336 !$OMP DO schedule(static) private(jk,jj,ji,znanotot,zprod,zprochln,chlcnm_n,zprochld,zdiattot) 
    337292      DO jk = 1, jpkm1 
    338293         DO jj = 1, jpj 
     
    362317 
    363318      !   Update the arrays TRA which contain the biological sources and sinks 
    364 !$OMP DO schedule(static) private(jk,jj,ji,zproreg,zproreg2,zdocprod,zfeup) 
    365319      DO jk = 1, jpkm1 
    366320         DO jj = 1, jpj 
     
    394348     ! 
    395349     IF( ln_ligand ) THEN 
    396 !$OMP DO schedule(static) private(jk,jj,ji,zdocprod,zfeup) 
    397350         DO jk = 1, jpkm1 
    398351            DO jj = 1, jpj 
     
    407360        END DO 
    408361     ENDIF 
    409 !$OMP END PARALLEL 
    410362 
    411363 
     
    421373          ! 
    422374          IF( iom_use( "PPPHYN" ) .OR. iom_use( "PPPHYD" ) )  THEN 
    423 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 
    424              DO jk = 1, jpk 
    425                 DO jj = 1, jpj 
    426                    DO ji = 1, jpi 
    427                       zw3d(ji,jj,jk) = zprorcan (ji,jj,jk) * zfact * tmask(ji,jj,jk)  ! primary production by nanophyto 
    428                    END DO 
    429                 END DO 
    430              END DO 
    431              CALL iom_put( "PPPHYN"  , zw3d ) 
    432              ! 
    433 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 
    434              DO jk = 1, jpk 
    435                 DO jj = 1, jpj 
    436                    DO ji = 1, jpi 
    437                       zw3d(ji,jj,jk) = zprorcad (ji,jj,jk) * zfact * tmask(ji,jj,jk)  ! primary production by nanophyto 
    438                    END DO 
    439                 END DO 
    440              END DO 
    441              CALL iom_put( "PPPHYD"  , zw3d ) 
     375              zw3d(:,:,:) = zprorcan(:,:,:) * zfact * tmask(:,:,:)  ! primary production by nanophyto 
     376              CALL iom_put( "PPPHYN"  , zw3d ) 
     377              ! 
     378              zw3d(:,:,:) = zprorcad(:,:,:) * zfact * tmask(:,:,:)  ! primary production by diatomes 
     379              CALL iom_put( "PPPHYD"  , zw3d ) 
    442380          ENDIF 
    443381          IF( iom_use( "PPNEWN" ) .OR. iom_use( "PPNEWD" ) )  THEN 
    444 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 
    445              DO jk = 1, jpk 
    446                 DO jj = 1, jpj 
    447                    DO ji = 1, jpi 
    448                       zw3d(ji,jj,jk) = zpronewn (ji,jj,jk) * zfact * tmask(ji,jj,jk)  ! new primary production by nanophyto 
    449                    END DO 
    450                 END DO 
    451              END DO 
    452              CALL iom_put( "PPNEWN"  , zw3d ) 
     382              zw3d(:,:,:) = zpronewn(:,:,:) * zfact * tmask(:,:,:)  ! new primary production by nanophyto 
     383              CALL iom_put( "PPNEWN"  , zw3d ) 
    453384              ! 
    454 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 
    455              DO jk = 1, jpk 
    456                 DO jj = 1, jpj 
    457                    DO ji = 1, jpi 
    458                       zw3d(ji,jj,jk) = zpronewd (ji,jj,jk) * zfact * tmask(ji,jj,jk)  ! new primary production by nanophyto 
    459                    END DO 
    460                 END DO 
    461              END DO 
    462              CALL iom_put( "PPNEWD"  , zw3d ) 
     385              zw3d(:,:,:) = zpronewd(:,:,:) * zfact * tmask(:,:,:)  ! new primary production by diatomes 
     386              CALL iom_put( "PPNEWD"  , zw3d ) 
    463387          ENDIF 
    464388          IF( iom_use( "PBSi" ) )  THEN 
    465 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 
    466              DO jk = 1, jpk 
    467                 DO jj = 1, jpj 
    468                    DO ji = 1, jpi 
    469                       zw3d(ji,jj,jk) = zprorcad(ji,jj,jk) * zfact * tmask(ji,jj,jk) * zysopt(ji,jj,jk) ! biogenic silica production 
    470                    END DO 
    471                 END DO 
    472              END DO 
    473              CALL iom_put( "PBSi"  , zw3d ) 
     389              zw3d(:,:,:) = zprorcad(:,:,:) * zfact * tmask(:,:,:) * zysopt(:,:,:) ! biogenic silica production 
     390              CALL iom_put( "PBSi"  , zw3d ) 
    474391          ENDIF 
    475392          IF( iom_use( "PFeN" ) .OR. iom_use( "PFeD" ) )  THEN 
    476 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 
    477              DO jk = 1, jpk 
    478                 DO jj = 1, jpj 
    479                    DO ji = 1, jpi 
    480                       zw3d(ji,jj,jk) = zprofen(ji,jj,jk) * zfact * tmask(ji,jj,jk)  ! biogenic iron production by nanophyto 
    481                    END DO 
    482                 END DO 
    483              END DO 
    484              CALL iom_put( "PFeN"  , zw3d ) 
    485              ! 
    486 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 
    487              DO jk = 1, jpk 
    488                 DO jj = 1, jpj 
    489                    DO ji = 1, jpi 
    490                       zw3d(ji,jj,jk) = zprofed(ji,jj,jk) * zfact * tmask(ji,jj,jk)  ! biogenic iron production by nanophyto 
    491                    END DO 
    492                 END DO 
    493              END DO 
    494              CALL iom_put( "PFeD"  , zw3d ) 
     393              zw3d(:,:,:) = zprofen(:,:,:) * zfact * tmask(:,:,:)  ! biogenic iron production by nanophyto 
     394              CALL iom_put( "PFeN"  , zw3d ) 
     395              ! 
     396              zw3d(:,:,:) = zprofed(:,:,:) * zfact * tmask(:,:,:)  ! biogenic iron production by  diatomes 
     397              CALL iom_put( "PFeD"  , zw3d ) 
    495398          ENDIF 
    496399          IF( iom_use( "Mumax" ) )  THEN 
    497 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 
    498              DO jk = 1, jpk 
    499                 DO jj = 1, jpj 
    500                    DO ji = 1, jpi 
    501                       zw3d(ji,jj,jk) = prmax(ji,jj,jk) * tmask(ji,jj,jk)   ! Maximum growth rate 
    502                    END DO 
    503                 END DO 
    504              END DO 
    505              CALL iom_put( "Mumax"  , zw3d ) 
     400              zw3d(:,:,:) = prmax(:,:,:) * tmask(:,:,:)   ! Maximum growth rate 
     401              CALL iom_put( "Mumax"  , zw3d ) 
    506402          ENDIF 
    507403          IF( iom_use( "MuN" ) .OR. iom_use( "MuD" ) )  THEN 
    508 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 
    509              DO jk = 1, jpk 
    510                 DO jj = 1, jpj 
    511                    DO ji = 1, jpi 
    512                       zw3d(ji,jj,jk) = zprbio(ji,jj,jk) * xlimphy(ji,jj,jk) * tmask(ji,jj,jk)  ! Realized growth rate for nanophyto 
    513                    END DO 
    514                 END DO 
    515              END DO 
    516              CALL iom_put( "MuN"  , zw3d ) 
    517              ! 
    518 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 
    519              DO jk = 1, jpk 
    520                 DO jj = 1, jpj 
    521                    DO ji = 1, jpi 
    522                       zw3d(ji,jj,jk) =  zprdia(ji,jj,jk) * xlimdia(ji,jj,jk) * tmask(ji,jj,jk)  ! Realized growth rate for diatoms 
    523                    END DO 
    524                 END DO 
    525              END DO 
    526              CALL iom_put( "MuD"  , zw3d ) 
     404              zw3d(:,:,:) = zprbio(:,:,:) * xlimphy(:,:,:) * tmask(:,:,:)  ! Realized growth rate for nanophyto 
     405              CALL iom_put( "MuN"  , zw3d ) 
     406              ! 
     407              zw3d(:,:,:) =  zprdia(:,:,:) * xlimdia(:,:,:) * tmask(:,:,:)  ! Realized growth rate for diatoms 
     408              CALL iom_put( "MuD"  , zw3d ) 
    527409          ENDIF 
    528410          IF( iom_use( "LNlight" ) .OR. iom_use( "LDlight" ) )  THEN 
    529 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 
    530              DO jk = 1, jpk 
    531                 DO jj = 1, jpj 
    532                    DO ji = 1, jpi 
    533                       zw3d(ji,jj,jk) = zprbio (ji,jj,jk) / (prmax(ji,jj,jk) + rtrn) * tmask(ji,jj,jk) ! light limitation term 
    534                    END DO 
    535                 END DO 
    536              END DO 
    537              CALL iom_put( "LNlight"  , zw3d ) 
    538              ! 
    539 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 
    540              DO jk = 1, jpk 
    541                 DO jj = 1, jpj 
    542                    DO ji = 1, jpi 
    543                       zw3d(ji,jj,jk) =  zprdia (ji,jj,jk) / (prmax(ji,jj,jk) + rtrn) * tmask(ji,jj,jk)  ! light limitation term 
    544                    END DO 
    545                 END DO 
    546              END DO 
    547              CALL iom_put( "LDlight"  , zw3d ) 
     411              zw3d(:,:,:) = zprbio (:,:,:) / (prmax(:,:,:) + rtrn) * tmask(:,:,:) ! light limitation term 
     412              CALL iom_put( "LNlight"  , zw3d ) 
     413              ! 
     414              zw3d(:,:,:) =  zprdia (:,:,:) / (prmax(:,:,:) + rtrn) * tmask(:,:,:)  ! light limitation term 
     415              CALL iom_put( "LDlight"  , zw3d ) 
    548416          ENDIF 
    549417          IF( iom_use( "TPP" ) )  THEN 
    550 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 
    551              DO jk = 1, jpk 
    552                 DO jj = 1, jpj 
    553                    DO ji = 1, jpi 
    554                       zw3d(ji,jj,jk) = ( zprorcan(ji,jj,jk) + zprorcad(ji,jj,jk) ) * zfact * tmask(ji,jj,jk)  ! total primary production 
    555                    END DO 
    556                 END DO 
    557              END DO 
    558              CALL iom_put( "TPP"  , zw3d ) 
     418              zw3d(:,:,:) = ( zprorcan(:,:,:) + zprorcad(:,:,:) ) * zfact * tmask(:,:,:)  ! total primary production 
     419              CALL iom_put( "TPP"  , zw3d ) 
    559420          ENDIF 
    560421          IF( iom_use( "TPNEW" ) )  THEN 
    561 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 
    562              DO jk = 1, jpk 
    563                 DO jj = 1, jpj 
    564                    DO ji = 1, jpi 
    565                       zw3d(ji,jj,jk) = ( zpronewn(ji,jj,jk) + zpronewd(ji,jj,jk) ) * zfact * tmask(ji,jj,jk)  ! total new production 
    566                    END DO 
    567                 END DO 
    568              END DO 
    569              CALL iom_put( "TPNEW"  , zw3d ) 
     422              zw3d(:,:,:) = ( zpronewn(:,:,:) + zpronewd(:,:,:) ) * zfact * tmask(:,:,:)  ! total new production 
     423              CALL iom_put( "TPNEW"  , zw3d ) 
    570424          ENDIF 
    571425          IF( iom_use( "TPBFE" ) )  THEN 
    572 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 
    573              DO jk = 1, jpk 
    574                 DO jj = 1, jpj 
    575                    DO ji = 1, jpi 
    576                       zw3d(ji,jj,jk) = ( zprofen(ji,jj,jk) + zprofed(ji,jj,jk) ) * zfact * tmask(ji,jj,jk)  ! total biogenic iron production 
    577                    END DO 
    578                 END DO 
    579              END DO 
    580              CALL iom_put( "TPBFE"  , zw3d ) 
     426              zw3d(:,:,:) = ( zprofen(:,:,:) + zprofed(:,:,:) ) * zfact * tmask(:,:,:)  ! total biogenic iron production 
     427              CALL iom_put( "TPBFE"  , zw3d ) 
    581428          ENDIF 
    582429          IF( iom_use( "INTPPPHYN" ) .OR. iom_use( "INTPPPHYD" ) ) THEN   
    583 !$OMP PARALLEL 
    584 !$OMP DO schedule(static) private(jj,ji) 
    585              DO jj = 1, jpj 
    586                 DO ji =1 ,jpi 
    587                    zw2d(ji,jj) = 0. 
    588                 END DO 
    589              END DO 
     430             zw2d(:,:) = 0. 
    590431             DO jk = 1, jpkm1 
    591 !$OMP DO schedule(static) private(jj,ji) 
    592                 DO jj = 1, jpj 
    593                    DO ji =1 ,jpi 
    594                       zw2d(ji,jj) = zw2d(ji,jj) + zprorcan (ji,jj,jk) * e3t_n(ji,jj,jk) * zfact * tmask(ji,jj,jk)  ! vert. integrated  primary produc. by nano 
    595                    END DO 
    596                 END DO 
     432               zw2d(:,:) = zw2d(:,:) + zprorcan(:,:,jk) * e3t_n(:,:,jk) * zfact * tmask(:,:,jk)  ! vert. integrated  primary produc. by nano 
    597433             ENDDO 
    598 !$OMP END PARALLEL 
    599434             CALL iom_put( "INTPPPHYN" , zw2d ) 
    600435             ! 
    601 !$OMP PARALLEL 
    602 !$OMP DO schedule(static) private(jj,ji) 
    603              DO jj = 1, jpj 
    604                 DO ji =1 ,jpi 
    605                    zw2d(ji,jj) = 0. 
    606                 END DO 
    607              END DO 
     436             zw2d(:,:) = 0. 
    608437             DO jk = 1, jpkm1 
    609 !$OMP DO schedule(static) private(jj,ji) 
    610                 DO jj = 1, jpj 
    611                    DO ji =1 ,jpi 
    612                       zw2d(ji,jj) = zw2d(ji,jj) + zprorcad(ji,jj,jk) * e3t_n(ji,jj,jk) * zfact * tmask(ji,jj,jk) ! vert. integrated  primary produc. by diatom 
    613                    END DO 
    614                 END DO 
     438                zw2d(:,:) = zw2d(:,:) + zprorcad(:,:,jk) * e3t_n(:,:,jk) * zfact * tmask(:,:,jk) ! vert. integrated  primary produc. by diatom 
    615439             ENDDO 
    616 !$OMP END PARALLEL 
    617440             CALL iom_put( "INTPPPHYD" , zw2d ) 
    618441          ENDIF 
    619442          IF( iom_use( "INTPP" ) ) THEN    
    620 !$OMP PARALLEL 
    621 !$OMP DO schedule(static) private(jj,ji) 
    622              DO jj = 1, jpj 
    623                 DO ji =1 ,jpi 
    624                    zw2d(ji,jj) = 0. 
    625                 END DO 
    626              END DO 
     443             zw2d(:,:) = 0. 
    627444             DO jk = 1, jpkm1 
    628 !$OMP DO schedule(static) private(jj,ji) 
    629                 DO jj = 1, jpj 
    630                    DO ji =1 ,jpi 
    631                       zw2d(ji,jj) = zw2d(ji,jj) + ( zprorcan(ji,jj,jk) + zprorcad(ji,jj,jk) ) * e3t_n(ji,jj,jk) * zfact * tmask(ji,jj,jk) ! vert. integrated pp 
    632                    END DO 
    633                 END DO 
     445                zw2d(:,:) = zw2d(:,:) + ( zprorcan(:,:,jk) + zprorcad(:,:,jk) ) * e3t_n(:,:,jk) * zfact * tmask(:,:,jk) ! vert. integrated pp 
    634446             ENDDO 
    635 !$OMP END PARALLEL 
    636447             CALL iom_put( "INTPP" , zw2d ) 
    637448          ENDIF 
    638449          IF( iom_use( "INTPNEW" ) ) THEN     
    639 !$OMP PARALLEL 
    640 !$OMP DO schedule(static) private(jj,ji) 
    641              DO jj = 1, jpj 
    642                 DO ji =1 ,jpi 
    643                    zw2d(ji,jj) = 0. 
    644                 END DO 
    645              END DO 
     450             zw2d(:,:) = 0. 
    646451             DO jk = 1, jpkm1 
    647 !$OMP DO schedule(static) private(jj,ji) 
    648                 DO jj = 1, jpj 
    649                    DO ji =1 ,jpi 
    650                       zw2d(ji,jj) = zw2d(ji,jj) + ( zpronewn(ji,jj,jk) + zpronewd(ji,jj,jk) ) * e3t_n(ji,jj,jk) * zfact * tmask(ji,jj,jk)  ! vert. integrated new prod 
    651                    END DO 
    652                 END DO 
     452                zw2d(:,:) = zw2d(:,:) + ( zpronewn(:,:,jk) + zpronewd(:,:,jk) ) * e3t_n(:,:,jk) * zfact * tmask(:,:,jk)  ! vert. integrated new prod 
    653453             ENDDO 
    654 !$OMP END PARALLEL 
    655454             CALL iom_put( "INTPNEW" , zw2d ) 
    656455          ENDIF 
    657456          IF( iom_use( "INTPBFE" ) ) THEN           !   total biogenic iron production  ( vertically integrated ) 
    658 !$OMP PARALLEL 
    659 !$OMP DO schedule(static) private(jj,ji) 
    660              DO jj = 1, jpj 
    661                 DO ji =1 ,jpi 
    662                    zw2d(ji,jj) = 0. 
    663                 END DO 
    664              END DO 
     457             zw2d(:,:) = 0. 
    665458             DO jk = 1, jpkm1 
    666 !$OMP DO schedule(static) private(jj,ji) 
    667                 DO jj = 1, jpj 
    668                    DO ji =1 ,jpi 
    669                       zw2d(ji,jj) = zw2d(ji,jj) + ( zprofen(ji,jj,jk) + zprofed(ji,jj,jk) ) * e3t_n(ji,jj,jk) * zfact * tmask(ji,jj,jk) ! vert integr. bfe prod 
    670                    END DO 
    671                 END DO 
     459                zw2d(:,:) = zw2d(:,:) + ( zprofen(:,:,jk) + zprofed(:,:,jk) ) * e3t_n(:,:,jk) * zfact * tmask(:,:,jk) ! vert integr. bfe prod 
    672460             ENDDO 
    673 !$OMP END PARALLEL 
    674461            CALL iom_put( "INTPBFE" , zw2d ) 
    675462          ENDIF 
    676463          IF( iom_use( "INTPBSI" ) ) THEN           !   total biogenic silica production  ( vertically integrated ) 
    677 !$OMP PARALLEL 
    678 !$OMP DO schedule(static) private(jj,ji) 
    679              DO jj = 1, jpj 
    680                 DO ji =1 ,jpi 
    681                    zw2d(ji,jj) = 0. 
    682                 END DO 
    683              END DO 
     464             zw2d(:,:) = 0. 
    684465             DO jk = 1, jpkm1 
    685 !$OMP DO schedule(static) private(jj,ji) 
    686                 DO jj = 1, jpj 
    687                    DO ji =1 ,jpi 
    688                       zw2d(ji,jj) = zw2d(ji,jj) + zprorcad(ji,jj,jk) * zysopt(ji,jj,jk) * e3t_n(ji,jj,jk) * zfact * tmask(ji,jj,jk)  ! vert integr. bsi prod 
    689                    END DO 
    690                 END DO 
     466                zw2d(:,:) = zw2d(:,:) + zprorcad(:,:,jk) * zysopt(:,:,jk) * e3t_n(:,:,jk) * zfact * tmask(:,:,jk)  ! vert integr. bsi prod 
    691467             ENDDO 
    692 !$OMP END PARALLEL 
    693468             CALL iom_put( "INTPBSI" , zw2d ) 
    694469          ENDIF 
Note: See TracChangeset for help on using the changeset viewer.