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 7525 for branches/2016/dev_r6519_HPC_4/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsink.F90 – NEMO

Ignore:
Timestamp:
2017-01-04T17:47:47+01:00 (7 years ago)
Author:
mocavero
Message:

changes after review

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2016/dev_r6519_HPC_4/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsink.F90

    r7508 r7525  
    209209      !  Exchange between organic matter compartments due to coagulation/disaggregation 
    210210      !  --------------------------------------------------- 
    211 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji, zstep, zfact, zagg, zagg1, zagg2, zagg3, zagg4, zaggfe, zaggdoc, zaggdoc2, zaggdoc3) 
     211!$OMP PARALLEL DO schedule(static) private(jk, jj, ji, zstep, zfact, zagg, zagg1, zagg2) & 
     212!$OMP& private(zagg3, zagg4, zaggfe, zaggdoc, zaggdoc2, zaggdoc3) 
    212213      DO jk = 1, jpkm1 
    213214         DO jj = 1, jpj 
     
    259260     ! Total carbon export per year 
    260261     IF( iom_use( "tcexp" ) .OR. ( ln_check_mass .AND. kt == nitend .AND. knt == nrdttrc )  ) & 
    261  &        t_oce_co2_exp = glob_sum( ( sinking(:,:,ik100) + sinking2(:,:,ik100) ) * e1e2t(:,:) * tmask(:,:,1) ) 
     262        &        t_oce_co2_exp = glob_sum( ( sinking(:,:,ik100) + sinking2(:,:,ik100) ) * e1e2t(:,:) * tmask(:,:,1) ) 
    262263     ! 
    263264     IF( lk_iomput ) THEN 
     
    269270          IF( iom_use( "EPC100" ) )  THEN 
    270271!$OMP DO schedule(static) private(jj, ji) 
    271             DO jj = 1, jpj 
    272                DO ji = 1, jpi 
    273                   zw2d(ji,jj) = ( sinking(ji,jj,ik100) + sinking2(ji,jj,ik100) ) * zfact * tmask(ji,jj,1) ! Export of carbon at 100m 
    274                END DO 
    275             END DO 
    276               CALL iom_put( "EPC100"  , zw2d ) 
     272             DO jj = 1, jpj 
     273                DO ji = 1, jpi 
     274                   zw2d(ji,jj) = ( sinking(ji,jj,ik100) + sinking2(ji,jj,ik100) ) * zfact * tmask(ji,jj,1) ! Export of carbon at 100m 
     275                END DO 
     276             END DO 
     277             CALL iom_put( "EPC100"  , zw2d ) 
    277278          ENDIF 
    278279          IF( iom_use( "EPFE100" ) )  THEN 
    279280!$OMP DO schedule(static) private(jj, ji) 
    280             DO jj = 1, jpj 
    281                DO ji = 1, jpi 
    282                   zw2d(ji,jj) = ( sinkfer(ji,jj,ik100) + sinkfer2(ji,jj,ik100) ) * zfact * tmask(ji,jj,1) ! Export of iron at 100m 
    283                END DO 
    284             END DO 
    285               CALL iom_put( "EPFE100"  , zw2d ) 
     281             DO jj = 1, jpj 
     282                DO ji = 1, jpi 
     283                   zw2d(ji,jj) = ( sinkfer(ji,jj,ik100) + sinkfer2(ji,jj,ik100) ) * zfact * tmask(ji,jj,1) ! Export of iron at 100m 
     284                END DO 
     285             END DO 
     286             CALL iom_put( "EPFE100"  , zw2d ) 
    286287          ENDIF 
    287288          IF( iom_use( "EPCAL100" ) )  THEN 
    288289!$OMP DO schedule(static) private(jj, ji) 
    289             DO jj = 1, jpj 
    290                DO ji = 1, jpi 
    291                   zw2d(ji,jj) = sinkcal(ji,jj,ik100) * zfact * tmask(ji,jj,1) ! Export of calcite at 100m 
    292                END DO 
    293             END DO 
    294               CALL iom_put( "EPCAL100"  , zw2d ) 
     290             DO jj = 1, jpj 
     291                DO ji = 1, jpi 
     292                   zw2d(ji,jj) = sinkcal(ji,jj,ik100) * zfact * tmask(ji,jj,1) ! Export of calcite at 100m 
     293                END DO 
     294             END DO 
     295             CALL iom_put( "EPCAL100"  , zw2d ) 
    295296          ENDIF 
    296297          IF( iom_use( "EPSI100" ) )  THEN 
    297298!$OMP DO schedule(static) private(jj, ji) 
    298             DO jj = 1, jpj 
    299                DO ji = 1, jpi 
    300                   zw2d(ji,jj) =  sinksil(ji,jj,ik100) * zfact * tmask(ji,jj,1) ! Export of bigenic silica at 100m 
    301                END DO 
    302             END DO 
    303               CALL iom_put( "EPSI100"  , zw2d ) 
     299             DO jj = 1, jpj 
     300                DO ji = 1, jpi 
     301                   zw2d(ji,jj) =  sinksil(ji,jj,ik100) * zfact * tmask(ji,jj,1) ! Export of bigenic silica at 100m 
     302                END DO 
     303             END DO 
     304             CALL iom_put( "EPSI100"  , zw2d ) 
    304305          ENDIF 
    305306          IF( iom_use( "EXPC" ) )  THEN 
    306307!$OMP DO schedule(static) private(jk, jj, ji) 
    307             DO jk = 1, jpk 
    308                DO jj = 1, jpj 
    309                   DO ji = 1, jpi 
    310                      zw3d(ji,jj,jk) = ( sinking(ji,jj,jk) + sinking2(ji,jj,jk) ) * zfact * tmask(ji,jj,jk) ! Export of carbon in the water column 
    311                   END DO 
    312                END DO 
    313             END DO 
    314               CALL iom_put( "EXPC"  , zw3d ) 
     308             DO jk = 1, jpk 
     309                DO jj = 1, jpj 
     310                   DO ji = 1, jpi 
     311                      zw3d(ji,jj,jk) = ( sinking(ji,jj,jk) + sinking2(ji,jj,jk) ) * zfact * tmask(ji,jj,jk) ! Export of carbon in the water column 
     312                   END DO 
     313                END DO 
     314             END DO 
     315             CALL iom_put( "EXPC"  , zw3d ) 
    315316          ENDIF 
    316317          IF( iom_use( "EXPFE" ) )  THEN 
    317318!$OMP DO schedule(static) private(jk, jj, ji) 
    318             DO jk = 1, jpk 
    319                DO jj = 1, jpj 
    320                   DO ji = 1, jpi 
    321                      zw3d(ji,jj,jk) = ( sinkfer(ji,jj,jk) + sinkfer2(ji,jj,jk) ) * zfact * tmask(ji,jj,jk) ! Export of iron  
    322                   END DO 
    323                END DO 
    324             END DO 
    325               CALL iom_put( "EXPFE"  , zw3d ) 
     319             DO jk = 1, jpk 
     320                DO jj = 1, jpj 
     321                   DO ji = 1, jpi 
     322                      zw3d(ji,jj,jk) = ( sinkfer(ji,jj,jk) + sinkfer2(ji,jj,jk) ) * zfact * tmask(ji,jj,jk) ! Export of iron  
     323                   END DO 
     324                END DO 
     325             END DO 
     326             CALL iom_put( "EXPFE"  , zw3d ) 
    326327          ENDIF 
    327328          IF( iom_use( "EXPCAL" ) )  THEN 
    328329!$OMP DO schedule(static) private(jk, jj, ji) 
    329             DO jk = 1, jpk 
    330                DO jj = 1, jpj 
    331                   DO ji = 1, jpi 
    332                      zw3d(ji,jj,jk) = sinkcal(ji,jj,jk) * zfact * tmask(ji,jj,jk) ! Export of calcite  
    333                   END DO 
    334                END DO 
    335             END DO 
    336               CALL iom_put( "EXPCAL"  , zw3d ) 
     330             DO jk = 1, jpk 
     331                DO jj = 1, jpj 
     332                   DO ji = 1, jpi 
     333                      zw3d(ji,jj,jk) = sinkcal(ji,jj,jk) * zfact * tmask(ji,jj,jk) ! Export of calcite  
     334                   END DO 
     335                END DO 
     336             END DO 
     337             CALL iom_put( "EXPCAL"  , zw3d ) 
    337338          ENDIF 
    338339          IF( iom_use( "EXPSI" ) )  THEN 
    339340!$OMP DO schedule(static) private(jk, jj, ji) 
    340             DO jk = 1, jpk 
    341                DO jj = 1, jpj 
    342                   DO ji = 1, jpi 
    343                      zw3d(ji,jj,jk) = sinksil(ji,jj,jk) * zfact * tmask(ji,jj,jk) ! Export of bigenic silica 
    344                   END DO 
    345                END DO 
    346             END DO 
    347               CALL iom_put( "EXPSI"  , zw3d ) 
     341             DO jk = 1, jpk 
     342                DO jj = 1, jpj 
     343                   DO ji = 1, jpi 
     344                      zw3d(ji,jj,jk) = sinksil(ji,jj,jk) * zfact * tmask(ji,jj,jk) ! Export of bigenic silica 
     345                   END DO 
     346                END DO 
     347             END DO 
     348             CALL iom_put( "EXPSI"  , zw3d ) 
    348349          ENDIF 
    349350          IF( iom_use( "tcexp" ) )  CALL iom_put( "tcexp" , t_oce_co2_exp * zfact )   ! molC/s 
     
    526527      zval4 = 4. + xkr_eta 
    527528 
    528 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji, znum, zeps, zfm, zsm, zdiv, zdiv1, zdiv2, zdiv3, zdiv4, zdiv5, zagg, zagg1, zagg2, zagg3, zagg4, zagg5, zfract, zaggdoc, zaggdoc1, zaggsh, zaggsi, znumdoc) 
     529!$OMP PARALLEL DO schedule(static) private(jk, jj, ji, znum, zeps, zfm, zsm, zdiv, zdiv1, zdiv2, zdiv3, zdiv4) & 
     530!$OMP& private(zdiv5, zagg, zagg1, zagg2, zagg3, zagg4, zagg5, zfract, zaggdoc, zaggdoc1, zaggsh, zaggsi, znumdoc) 
    529531      DO jk = 1,jpkm1 
    530532         DO jj = 1,jpj 
     
    632634          IF( iom_use( "EPC100" ) )  THEN 
    633635!$OMP DO schedule(static) private(jj, ji) 
    634             DO jj = 1, jpj 
    635                DO ji = 1, jpi 
    636                   zw2d(ji,jj) = sinking(ji,jj,ik100) * zfact * tmask(ji,jj,1) ! Export of carbon at 100m 
    637                END DO 
    638             END DO 
    639               CALL iom_put( "EPC100"  , zw2d ) 
     636             DO jj = 1, jpj 
     637                DO ji = 1, jpi 
     638                   zw2d(ji,jj) = sinking(ji,jj,ik100) * zfact * tmask(ji,jj,1) ! Export of carbon at 100m 
     639                END DO 
     640             END DO 
     641             CALL iom_put( "EPC100"  , zw2d ) 
    640642          ENDIF 
    641643          IF( iom_use( "EPN100" ) )  THEN 
    642644!$OMP DO schedule(static) private(jj, ji) 
    643             DO jj = 1, jpj 
    644                DO ji = 1, jpi 
    645                   zw2d(ji,jj) = sinking2(ji,jj,ik100) * zfact * tmask(ji,jj,1) ! Export of number of aggregates ? 
    646                END DO 
    647             END DO 
    648               CALL iom_put( "EPN100"  , zw2d ) 
     645             DO jj = 1, jpj 
     646                DO ji = 1, jpi 
     647                   zw2d(ji,jj) = sinking2(ji,jj,ik100) * zfact * tmask(ji,jj,1) ! Export of number of aggregates ? 
     648                END DO 
     649             END DO 
     650             CALL iom_put( "EPN100"  , zw2d ) 
    649651          ENDIF 
    650652          IF( iom_use( "EPCAL100" ) )  THEN 
    651653!$OMP DO schedule(static) private(jj, ji) 
    652             DO jj = 1, jpj 
    653                DO ji = 1, jpi 
    654                   zw2d(ji,jj) = sinkcal(ji,jj,ik100) * zfact * tmask(ji,jj,1) !Export of calcite at 100m 
    655                END DO 
    656             END DO 
    657               CALL iom_put( "EPCAL100"  , zw2d ) 
     654             DO jj = 1, jpj 
     655                DO ji = 1, jpi 
     656                   zw2d(ji,jj) = sinkcal(ji,jj,ik100) * zfact * tmask(ji,jj,1) !Export of calcite at 100m 
     657                END DO 
     658             END DO 
     659             CALL iom_put( "EPCAL100"  , zw2d ) 
    658660          ENDIF 
    659661          IF( iom_use( "EPSI100" ) )  THEN 
    660662!$OMP DO schedule(static) private(jj, ji) 
    661             DO jj = 1, jpj 
    662                DO ji = 1, jpi 
    663                   zw2d(ji,jj) =  sinksil(ji,jj,ik100) * zfact * tmask(ji,jj,1) ! Export of bigenic silica at 100m 
    664                END DO 
    665             END DO 
    666               CALL iom_put( "EPSI100"  , zw2d ) 
     663             DO jj = 1, jpj 
     664                DO ji = 1, jpi 
     665                   zw2d(ji,jj) =  sinksil(ji,jj,ik100) * zfact * tmask(ji,jj,1) ! Export of bigenic silica at 100m 
     666                END DO 
     667             END DO 
     668             CALL iom_put( "EPSI100"  , zw2d ) 
    667669          ENDIF 
    668670          IF( iom_use( "EXPC" ) )  THEN 
    669671!$OMP DO schedule(static) private(jk, jj, ji) 
    670             DO jk = 1, jpk 
    671                DO jj = 1, jpj 
    672                   DO ji = 1, jpi 
    673                      zw3d(ji,jj,jk) = sinking(ji,jj,jk) * zfact * tmask(ji,jj,jk) ! Export of carbon in the water column 
    674                   END DO 
    675                END DO 
    676             END DO 
    677               CALL iom_put( "EXPC"  , zw3d ) 
     672             DO jk = 1, jpk 
     673                DO jj = 1, jpj 
     674                   DO ji = 1, jpi 
     675                      zw3d(ji,jj,jk) = sinking(ji,jj,jk) * zfact * tmask(ji,jj,jk) ! Export of carbon in the water column 
     676                   END DO 
     677                END DO 
     678             END DO 
     679             CALL iom_put( "EXPC"  , zw3d ) 
    678680          ENDIF 
    679681          IF( iom_use( "EXPN" ) )  THEN 
    680682!$OMP DO schedule(static) private(jk, jj, ji) 
    681             DO jk = 1, jpk 
    682                DO jj = 1, jpj 
    683                   DO ji = 1, jpi 
    684                      zw3d(ji,jj,jk) = sinking(ji,jj,jk) * zfact * tmask(ji,jj,jk) ! Export of carbon in the water column 
    685                   END DO 
    686                END DO 
    687             END DO 
    688               CALL iom_put( "EXPN"  , zw3d ) 
     683             DO jk = 1, jpk 
     684                DO jj = 1, jpj 
     685                   DO ji = 1, jpi 
     686                      zw3d(ji,jj,jk) = sinking(ji,jj,jk) * zfact * tmask(ji,jj,jk) ! Export of carbon in the water column 
     687                   END DO 
     688                END DO 
     689             END DO 
     690             CALL iom_put( "EXPN"  , zw3d ) 
    689691          ENDIF 
    690692          IF( iom_use( "EXPCAL" ) )  THEN 
    691693!$OMP DO schedule(static) private(jk, jj, ji) 
    692             DO jk = 1, jpk 
    693                DO jj = 1, jpj 
    694                   DO ji = 1, jpi 
    695                      zw3d(ji,jj,jk) = sinkcal(ji,jj,jk) * zfact * tmask(ji,jj,jk) ! Export of calcite  
    696                   END DO 
    697                END DO 
    698             END DO 
    699               CALL iom_put( "EXPCAL"  , zw3d ) 
     694             DO jk = 1, jpk 
     695                DO jj = 1, jpj 
     696                   DO ji = 1, jpi 
     697                      zw3d(ji,jj,jk) = sinkcal(ji,jj,jk) * zfact * tmask(ji,jj,jk) ! Export of calcite  
     698                   END DO 
     699                END DO 
     700             END DO 
     701             CALL iom_put( "EXPCAL"  , zw3d ) 
    700702          ENDIF 
    701703          IF( iom_use( "EXPSI" ) )  THEN 
    702704!$OMP DO schedule(static) private(jk, jj, ji) 
    703             DO jk = 1, jpk 
    704                DO jj = 1, jpj 
    705                   DO ji = 1, jpi 
    706                      zw3d(ji,jj,jk) = sinksil(ji,jj,jk) * zfact * tmask(ji,jj,jk) ! Export of bigenic silica 
    707                   END DO 
    708                END DO 
    709             END DO 
    710               CALL iom_put( "EXPSI"  , zw3d ) 
     705             DO jk = 1, jpk 
     706                DO jj = 1, jpj 
     707                   DO ji = 1, jpi 
     708                      zw3d(ji,jj,jk) = sinksil(ji,jj,jk) * zfact * tmask(ji,jj,jk) ! Export of bigenic silica 
     709                   END DO 
     710                END DO 
     711             END DO 
     712             CALL iom_put( "EXPSI"  , zw3d ) 
    711713          ENDIF 
    712714          IF( iom_use( "XNUM" ) )  THEN 
    713715!$OMP DO schedule(static) private(jk, jj, ji) 
    714             DO jk = 1, jpk 
    715                DO jj = 1, jpj 
    716                   DO ji = 1, jpi 
    717                      zw3d(ji,jj,jk) = znum3d(ji,jj,jk) * tmask(ji,jj,jk) !  Number of particles on aggregats 
    718                   END DO 
    719                END DO 
    720             END DO 
    721               CALL iom_put( "XNUM"  , zw3d ) 
     716             DO jk = 1, jpk 
     717                DO jj = 1, jpj 
     718                   DO ji = 1, jpi 
     719                      zw3d(ji,jj,jk) = znum3d(ji,jj,jk) * tmask(ji,jj,jk) !  Number of particles on aggregats 
     720                   END DO 
     721                END DO 
     722             END DO 
     723             CALL iom_put( "XNUM"  , zw3d ) 
    722724          ENDIF 
    723725          IF( iom_use( "WSC" ) )  THEN 
    724726!$OMP DO schedule(static) private(jk, jj, ji) 
    725             DO jk = 1, jpk 
    726                DO jj = 1, jpj 
    727                   DO ji = 1, jpi 
    728                      zw3d(ji,jj,jk) = wsbio3(ji,jj,jk) * tmask(ji,jj,jk) ! Sinking speed of carbon particles 
    729                   END DO 
    730                END DO 
    731             END DO 
    732               CALL iom_put( "WSC"  , zw3d ) 
     727             DO jk = 1, jpk 
     728                DO jj = 1, jpj 
     729                   DO ji = 1, jpi 
     730                      zw3d(ji,jj,jk) = wsbio3(ji,jj,jk) * tmask(ji,jj,jk) ! Sinking speed of carbon particles 
     731                   END DO 
     732                END DO 
     733             END DO 
     734             CALL iom_put( "WSC"  , zw3d ) 
    733735          ENDIF 
    734736          IF( iom_use( "WSN" ) )  THEN 
    735737!$OMP DO schedule(static) private(jk, jj, ji) 
    736             DO jk = 1, jpk 
    737                DO jj = 1, jpj 
    738                   DO ji = 1, jpi 
    739                      zw3d(ji,jj,jk) = wsbio4(ji,jj,jk) * tmask(ji,jj,jk) ! Sinking speed of particles number 
    740                   END DO 
    741                END DO 
    742             END DO 
    743               CALL iom_put( "WSN"  , zw3d ) 
     738             DO jk = 1, jpk 
     739                DO jj = 1, jpj 
     740                   DO ji = 1, jpi 
     741                      zw3d(ji,jj,jk) = wsbio4(ji,jj,jk) * tmask(ji,jj,jk) ! Sinking speed of particles number 
     742                   END DO 
     743                END DO 
     744             END DO 
     745             CALL iom_put( "WSN"  , zw3d ) 
    744746          ENDIF 
    745747          ! 
Note: See TracChangeset for help on using the changeset viewer.