Index: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zagg.F90
===================================================================
--- branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zagg.F90	(revision 7627)
+++ branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zagg.F90	(revision 8003)
@@ -35,5 +35,4 @@
 CONTAINS
 
-#if ! defined key_kriest
    !!----------------------------------------------------------------------
    !!   'standard parameterisation'                  ???
@@ -66,7 +65,4 @@
                !
                zstep = xstep 
-# if defined key_degrad
-               zstep = zstep * facvol(ji,jj,jk)
-# endif
                zfact = zstep * xdiss(ji,jj,jk)
                !  Part I : Coagulation dependent on turbulence
@@ -121,146 +117,4 @@
 
 #else
-   !!----------------------------------------------------------------------
-   !!   'Kriest parameterisation'        key_kriest          ???
-   !!----------------------------------------------------------------------
-
-   SUBROUTINE p4z_agg ( kt, knt )
-      !!---------------------------------------------------------------------
-      !!                ***  ROUTINE p4z_agg  ***
-      !!
-      !! ** Purpose :   Compute aggregation of particles
-      !!
-      !! ** Method  : - ???
-      !!---------------------------------------------------------------------
-      !
-      INTEGER, INTENT(in) :: kt, knt
-      !
-      INTEGER  :: ji, jj, jk
-      REAL(wp) :: zagg1, zagg2, zagg3, zagg4, zagg5, zfract, zaggsi, zaggsh
-      REAL(wp) :: zagg , zaggdoc, zaggdoc1, znumdoc
-      REAL(wp) :: znum , zeps, zfm, zgm, zsm
-      REAL(wp) :: zdiv , zdiv1, zdiv2, zdiv3, zdiv4, zdiv5
-      REAL(wp) :: zval1, zval2, zval3, zval4
-      REAL(wp) :: zfact
-      CHARACTER (len=25) :: charout
-      !!---------------------------------------------------------------------
-      !
-      IF( nn_timing == 1 )  CALL timing_start('p4z_agg')
-      !
-      !  Exchange between organic matter compartments due to coagulation/disaggregation
-      !  ---------------------------------------------------
-
-      zval1 = 1. + xkr_zeta
-      zval2 = 1. + xkr_eta
-      zval3 = 3. + xkr_eta
-      zval4 = 4. + xkr_eta
-
-      DO jk = 1,jpkm1
-         DO jj = 1,jpj
-            DO ji = 1,jpi
-               IF( tmask(ji,jj,jk) /= 0.e0 ) THEN
-
-                  znum = trb(ji,jj,jk,jppoc)/(trb(ji,jj,jk,jpnum)+rtrn) / xkr_massp
-                  !-------------- To avoid sinking speed over 50 m/day -------
-                  znum  = min(xnumm(jk),znum)
-                  znum  = MAX( 1.1,znum)
-                  !------------------------------------------------------------
-                  zeps  = ( zval1 * znum - 1.) / ( znum - 1.)
-                  zdiv  = MAX( 1.e-4, ABS( zeps - zval3) ) * SIGN( 1., zeps - zval3 )
-                  zdiv1 = MAX( 1.e-4, ABS( zeps - 4.   ) ) * SIGN( 1., zeps - 4.    )
-                  zdiv2 = zeps - 2.
-                  zdiv3 = zeps - 3.
-                  zdiv4 = zeps - zval2
-                  zdiv5 = 2.* zeps - zval4
-                  zfm   = xkr_frac**( 1.- zeps )
-                  zsm   = xkr_frac**xkr_eta
-
-                  !    Part I : Coagulation dependant on turbulence
-                  !    ----------------------------------------------
-
-                  zagg1 =  0.163 * trb(ji,jj,jk,jpnum)**2               &
-                     &            * 2.*( (zfm-1.)*(zfm*xkr_mass_max**3-xkr_mass_min**3)    &
-                     &            * (zeps-1)/zdiv1 + 3.*(zfm*xkr_mass_max-xkr_mass_min)    &
-                     &            * (zfm*xkr_mass_max**2-xkr_mass_min**2)                  &
-                     &            * (zeps-1.)**2/(zdiv2*zdiv3)) 
-                  zagg2 =  2*0.163*trb(ji,jj,jk,jpnum)**2*zfm*                       &
-                     &                   ((xkr_mass_max**3+3.*(xkr_mass_max**2          &
-                     &                    *xkr_mass_min*(zeps-1.)/zdiv2                 &
-                     &                    +xkr_mass_max*xkr_mass_min**2*(zeps-1.)/zdiv3)    &
-                     &                    +xkr_mass_min**3*(zeps-1)/zdiv1)                  &
-                     &                    -zfm*xkr_mass_max**3*(1.+3.*((zeps-1.)/           &
-                     &                    (zeps-2.)+(zeps-1.)/zdiv3)+(zeps-1.)/zdiv1))    
-
-                  zagg3 =  0.163*trb(ji,jj,jk,jpnum)**2*zfm**2*8. * xkr_mass_max**3  
-                  
-                 !    Aggregation of small into large particles
-                 !    Part II : Differential settling
-                 !    ----------------------------------------------
-
-                  zagg4 =  2.*3.141*0.125*trb(ji,jj,jk,jpnum)**2*                       &
-                     &                 xkr_wsbio_min*(zeps-1.)**2                         &
-                     &                 *(xkr_mass_min**2*((1.-zsm*zfm)/(zdiv3*zdiv4)      &
-                     &                 -(1.-zfm)/(zdiv*(zeps-1.)))-                       &
-                     &                 ((zfm*zfm*xkr_mass_max**2*zsm-xkr_mass_min**2)     &
-                     &                 *xkr_eta)/(zdiv*zdiv3*zdiv5) )   
-
-                  zagg5 =   2.*3.141*0.125*trb(ji,jj,jk,jpnum)**2                         &
-                     &                 *(zeps-1.)*zfm*xkr_wsbio_min                        &
-                     &                 *(zsm*(xkr_mass_min**2-zfm*xkr_mass_max**2)         &
-                     &                 /zdiv3-(xkr_mass_min**2-zfm*zsm*xkr_mass_max**2)    &
-                     &                 /zdiv)  
-
-                  !
-                  !     Fractionnation by swimming organisms
-                  !     ------------------------------------
-
-                  zfract = 2.*3.141*0.125*trb(ji,jj,jk,jpmes)*12./0.12/0.06**3*trb(ji,jj,jk,jpnum)  &
-                    &      * (0.01/xkr_mass_min)**(1.-zeps)*0.1**2  &
-                    &      * 10000.*xstep
-
-                  !     Aggregation of DOC to small particles
-                  !     --------------------------------------
-
-                  zaggdoc = 0.83 * trb(ji,jj,jk,jpdoc) * xstep * xdiss(ji,jj,jk) * trb(ji,jj,jk,jpdoc)   &
-                     &        + 0.005 * 231. * trb(ji,jj,jk,jpdoc) * xstep * trb(ji,jj,jk,jpdoc)
-                  zaggdoc1 = 271. * trb(ji,jj,jk,jppoc) * xstep * xdiss(ji,jj,jk) * trb(ji,jj,jk,jpdoc)  &
-                     &  + 0.02 * 16706. * trb(ji,jj,jk,jppoc) * xstep * trb(ji,jj,jk,jpdoc)
-
-# if defined key_degrad
-                   zagg1   = zagg1   * facvol(ji,jj,jk)                 
-                   zagg2   = zagg2   * facvol(ji,jj,jk)                 
-                   zagg3   = zagg3   * facvol(ji,jj,jk)                 
-                   zagg4   = zagg4   * facvol(ji,jj,jk)                 
-                   zagg5   = zagg5   * facvol(ji,jj,jk)                 
-                   zaggdoc = zaggdoc * facvol(ji,jj,jk)                 
-                   zaggdoc1 = zaggdoc1 * facvol(ji,jj,jk)
-# endif
-                  zaggsh = ( zagg1 + zagg2 + zagg3 ) * rfact2 * xdiss(ji,jj,jk) / 1000.
-                  zaggsi = ( zagg4 + zagg5 ) * xstep / 10.
-                  zagg = 0.5 * xkr_stick * ( zaggsh + zaggsi )
-                  !
-                  znumdoc = trb(ji,jj,jk,jpnum) / ( trb(ji,jj,jk,jppoc) + rtrn )
-                  tra(ji,jj,jk,jppoc) = tra(ji,jj,jk,jppoc) + zaggdoc + zaggdoc1
-                  tra(ji,jj,jk,jpnum) = tra(ji,jj,jk,jpnum) + zfract + zaggdoc / xkr_massp - zagg
-                  tra(ji,jj,jk,jpdoc) = tra(ji,jj,jk,jpdoc) - zaggdoc - zaggdoc1
-
-               ENDIF
-            END DO
-         END DO
-      END DO
-      !
-      IF(ln_ctl)   THEN  ! print mean trends (used for debugging)
-         WRITE(charout, FMT="('agg')")
-         CALL prt_ctl_trc_info(charout)
-         CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm)
-      ENDIF
-      !
-      IF( nn_timing == 1 )  CALL timing_stop('p4z_agg')
-      !
-   END SUBROUTINE p4z_agg
-
-#endif
-
-#else
    !!======================================================================
    !!  Dummy module :                                   No PISCES bio-model
Index: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zfechem.F90
===================================================================
--- branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zfechem.F90	(revision 7627)
+++ branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zfechem.F90	(revision 8003)
@@ -72,7 +72,5 @@
       REAL(wp) ::   zdenom1, zscave, zaggdfea, zaggdfeb, zcoag
       REAL(wp) ::   ztrc, zdust
-#if ! defined key_kriest
       REAL(wp) ::   zdenom2
-#endif
       REAL(wp), POINTER, DIMENSION(:,:,:) :: zTL1, zFe3, ztotlig, precip
       REAL(wp), POINTER, DIMENSION(:,:,:) :: zFeL1, zFeL2, zTL2, zFe2, zFeP
@@ -274,7 +272,4 @@
             DO ji = 1, jpi
                zstep = xstep
-# if defined key_degrad
-               zstep = zstep * facvol(ji,jj,jk)
-# endif
                ! Scavenging rate of iron. This scavenging rate depends on the load of particles of sea water. 
                ! This parameterization assumes a simple second order kinetics (k[Particles][Fe]).
@@ -303,9 +298,5 @@
                   ENDIF
                ENDIF
-#if defined key_kriest
-               ztrc   = ( trb(ji,jj,jk,jppoc) + trb(ji,jj,jk,jpcal) + trb(ji,jj,jk,jpgsi) ) * 1.e6 
-#else
                ztrc   = ( trb(ji,jj,jk,jppoc) + trb(ji,jj,jk,jpgoc) + trb(ji,jj,jk,jpcal) + trb(ji,jj,jk,jpgsi) ) * 1.e6 
-#endif
                IF( ln_dust )  zdust  = dust(ji,jj) / ( wdust / rday ) * tmask(ji,jj,jk) ! dust in kg/m2/s
                zlam1b = 3.e-5 + xlamdust * zdust + xlam1 * ztrc
@@ -316,7 +307,5 @@
                ! ---------------------------------------------------------
                zdenom1 = xlam1 * trb(ji,jj,jk,jppoc) / zlam1b
-#if ! defined key_kriest
                zdenom2 = xlam1 * trb(ji,jj,jk,jpgoc) / zlam1b
-#endif
 
                !  Increased scavenging for very high iron concentrations found near the coasts 
@@ -338,10 +327,6 @@
                zaggdfea = zlam1a * zstep * zfecollc
                !
-#if defined key_kriest
-               zaggdfeb = 0.
-#else
                zlam1b = 3.53E3 *   trb(ji,jj,jk,jpgoc) * xdiss(ji,jj,jk)
                zaggdfeb = zlam1b * zstep * zfecollc
-#endif
                ! precipitation of Fe3+, creation of nanoparticles
                precip(ji,jj,jk) = max( 0., (zfeequi - fe3sol) ) * kfep * zstep
@@ -350,16 +335,10 @@
                &                     - zcoag - precip(ji,jj,jk)
                tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + zscave * zdenom1 + zaggdfea
-#if ! defined key_kriest 
                tra(ji,jj,jk,jpbfe) = tra(ji,jj,jk,jpbfe) + zscave * zdenom2 + zaggdfeb
-#endif
                zscav3d(ji,jj,jk)  = zscave
                zcoll3d(ji,jj,jk)  = zaggdfea + zaggdfeb
 #if defined key_ligand
                zaggliga = zlam1a * zstep * zligco
-#   if defined key_kriest
-               zaggligb = 0.
-#   else
                zaggligb = zlam1b * zstep * zligco
-#   endif
                tra(ji,jj,jk,jpfep) = tra(ji,jj,jk,jpfep) + precip(ji,jj,jk)
                tra(ji,jj,jk,jplgw) = tra(ji,jj,jk,jplgw) - zaggliga - zaggligb
Index: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zflx.F90
===================================================================
--- branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zflx.F90	(revision 7627)
+++ branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zflx.F90	(revision 8003)
@@ -158,7 +158,4 @@
             zkgwan = 0.251 * zws
             zkgwan = zkgwan * xconv * ( 1.- fr_i(ji,jj) ) * tmask(ji,jj,1)
-# if defined key_degrad
-            zkgwan = zkgwan * facvol(ji,jj,1)
-#endif 
             ! compute gas exchange for CO2 and O2
             zkgco2(ji,jj) = zkgwan * SQRT( 660./ zsch_co2 )
@@ -227,11 +224,4 @@
          !
          CALL wrk_dealloc( jpi, jpj, zw2d )
-      ELSE
-         IF( ln_diatrc ) THEN
-            trc2d(:,:,jp_pcs0_2d    ) = oce_co2(:,:) / e1e2t(:,:) * rfact2r
-            trc2d(:,:,jp_pcs0_2d + 1) = zoflx(:,:) * 1000 * tmask(:,:,1)
-            trc2d(:,:,jp_pcs0_2d + 2) = zkgco2(:,:) * tmask(:,:,1)
-            trc2d(:,:,jp_pcs0_2d + 3) = ( zpco2atm(:,:) - zh2co3(:,:) / ( chemc(:,:,1) + rtrn ) ) * tmask(:,:,1)
-         ENDIF
       ENDIF
       !
Index: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zligand.F90
===================================================================
--- branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zligand.F90	(revision 7627)
+++ branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zligand.F90	(revision 8003)
@@ -78,7 +78,4 @@
                ! ---------------------------------------------------------
                zstep   = xstep
-# if defined key_degrad
-               zstep = zstep * facvol(ji,jj,jk)
-# endif
                zstep2  = zstep / 365. ! per year
                ! production from remineralisation of organic matter
Index: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zlys.F90
===================================================================
--- branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zlys.F90	(revision 7627)
+++ branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zlys.F90	(revision 8003)
@@ -120,7 +120,4 @@
                !       CACO3 GETS DISSOLVED EVEN IN THE CASE OF OVERSATURATION)
                zdispot = kdca * zexcess * trb(ji,jj,jk,jpcal)
-# if defined key_degrad
-               zdispot = zdispot * facvol(ji,jj,jk)
-# endif
                !  CHANGE OF [CO3--] , [ALK], PARTICULATE [CACO3],
                !       AND [SUM(CO2)] DUE TO CACO3 DISSOLUTION/PRECIPITATION
@@ -144,10 +141,4 @@
              CALL iom_put( "AOU"   , MAX(0., zwork(:,:,:) ) )
          ENDIF
-      ELSE
-         IF( ln_diatrc ) THEN
-            trc3d(:,:,:,jp_pcs0_3d    ) = -1. * LOG10( hi(:,:,:) ) * tmask(:,:,:)
-            trc3d(:,:,:,jp_pcs0_3d + 1) = zco3(:,:,:)              * tmask(:,:,:)
-            trc3d(:,:,:,jp_pcs0_3d + 2) = zco3sat(:,:,:)           * tmask(:,:,:)
-         ENDIF
       ENDIF
          !
Index: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmeso.F90
===================================================================
--- branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmeso.F90	(revision 7627)
+++ branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmeso.F90	(revision 8003)
@@ -76,10 +76,8 @@
       REAL(wp) :: zepshert, zepsherv, zgrarsig, zgraztot, zgraztotn, zgraztotf
       REAL(wp) :: zgrarem2, zgrafer2, zgrapoc2, zprcaca, zmortz2, zgrasrat, zgrasratn
-#if defined key_kriest
-      REAL znumpoc
-#endif
       REAL(wp) :: zrespz2, ztortz2, zgrazd, zgrazz, zgrazpof
       REAL(wp) :: zgrazn, zgrazpoc, zgraznf, zgrazf
       REAL(wp) :: zgrazfffp, zgrazfffg, zgrazffep, zgrazffeg
+      REAL(wp) :: zbeta, zepsherf
       CHARACTER (len=25) :: charout
       REAL(wp), POINTER, DIMENSION(:,:,:) :: zgrazing, zw3d, zfezoo2
@@ -104,9 +102,5 @@
             DO ji = 1, jpi
                zcompam   = MAX( ( trb(ji,jj,jk,jpmes) - 1.e-9 ), 0.e0 )
-# if defined key_degrad
-               zstep     = xstep * facvol(ji,jj,jk)
-# else
                zstep     = xstep
-# endif
                zfact     = zstep * tgfunc2(ji,jj,jk) * zcompam
 
@@ -148,14 +142,11 @@
                !  ----------------------------------
                !  ----------------------------------
-# if ! defined key_kriest
                zgrazffeg = grazflux  * zstep * wsbio4(ji,jj,jk)      &
                &           * tgfunc2(ji,jj,jk) * trb(ji,jj,jk,jpgoc) * trb(ji,jj,jk,jpmes)
                zgrazfffg = zgrazffeg * trb(ji,jj,jk,jpbfe) / (trb(ji,jj,jk,jpgoc) + rtrn)
-# endif
                zgrazffep = grazflux  * zstep *  wsbio3(ji,jj,jk)     &
                &           * tgfunc2(ji,jj,jk) * trb(ji,jj,jk,jppoc) * trb(ji,jj,jk,jpmes)
                zgrazfffp = zgrazffep * trb(ji,jj,jk,jpsfe) / (trb(ji,jj,jk,jppoc) + rtrn)
               !
-# if ! defined key_kriest
               zgraztot  = zgrazd + zgrazz + zgrazn + zgrazpoc + zgrazffep + zgrazffeg
               ! Compute the proportion of filter feeders
@@ -179,14 +170,4 @@
               &   + zgrazpoc + zgrazffep + zgrazffeg
               zgraztotf = zgrazf + zgraznf + zgrazz * ferat3 + zgrazpof + zgrazfffp + zgrazfffg
-# else
-              zgraztot  = zgrazd + zgrazz + zgrazn + zgrazpoc + zgrazffep
-              ! Compute the proportion of filter feeders
-              zproport  = zgrazffep / ( zgraztot + rtrn )
-              zgrazffep = zproport * zgrazffep
-              zgrazfffp = zproport * zgrazfffp
-              zgraztot  = zgrazd + zgrazz + zgrazn + zgrazpoc + zgrazffep
-              zgraztotn = zgrazd * quotad(ji,jj,jk) + zgrazz + zgrazn * quotan(ji,jj,jk) + zgrazpoc + zgrazffep
-              zgraztotf = zgrazf + zgraznf + zgrazz * ferat3 + zgrazpof + zgrazfffp
-# endif
 
               ! Total grazing ( grazing by microzoo is already computed in p4zmicro )
@@ -198,5 +179,7 @@
                zgrasratn =  ( zgraztotn +rtrn )/ ( zgraztot + rtrn )
                zepshert  = MIN( 1., zgrasratn, zgrasrat / ferat3)
-               zepsherv  = zepshert * MIN( epsher2, (1. - unass2) * zgrasrat / ferat3, (1. - unass2) * zgrasratn )
+               zbeta = 1./ (epsher2 - 0.2)
+               zepsherf = 0.2 + 1./ (zbeta + 0.04 * 12. * zfood *1E6 )
+               zepsherv  = zepshert * MIN( zepsherf, (1. - unass2) * zgrasrat / ferat3, (1. - unass2) * zgrasratn )
                zgrarem2  = zgraztot * ( 1. - zepsherv - unass2 ) &
                 &       + ( 1. - epsher2 - unass2 ) / ( 1. - epsher2 ) * ztortz2
@@ -232,14 +215,4 @@
                tra(ji,jj,jk,jpdfe) = tra(ji,jj,jk,jpdfe) - zgrazf
 
-#if defined key_kriest
-              znumpoc = trb(ji,jj,jk,jpnum) / ( trb(ji,jj,jk,jppoc) + rtrn )
-              tra(ji,jj,jk,jppoc) = tra(ji,jj,jk,jppoc) + zmortzgoc - zgrazpoc - zgrazffep + zgrapoc2
-              tra(ji,jj,jk,jpnum) = tra(ji,jj,jk,jpnum) - zgrazpoc * znumpoc + zgrapoc2 * xkr_dmeso      &
-                 &   + zmortzgoc * xkr_dmeso - zgrazffep * znumpoc * wsbio4(ji,jj,jk) / ( wsbio3(ji,jj,jk) + rtrn )
-              tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + ferat3 * zmortzgoc - zgrazfffp - zgrazpof    &
-                 &                 + zgraztotf * unass2
-              zfracal = trb(ji,jj,jk,jpcal) / (trb(ji,jj,jk,jppoc) + rtrn )
-              zgrazcal = ( zgrazffep + zgrazpoc ) * (1. - part2) * zfracal
-#else
               tra(ji,jj,jk,jppoc) = tra(ji,jj,jk,jppoc) - zgrazpoc - zgrazffep + zfrac
               prodpoc(ji,jj,jk) = prodpoc(ji,jj,jk) + zfrac
@@ -253,5 +226,4 @@
               zfracal = trb(ji,jj,jk,jpcal) / (trb(ji,jj,jk,jpgoc) + rtrn )
               zgrazcal = zgrazffeg * (1. - part2) * zfracal
-#endif
 
                ! calcite production
Index: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmicro.F90
===================================================================
--- branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmicro.F90	(revision 7627)
+++ branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmicro.F90	(revision 8003)
@@ -78,4 +78,5 @@
       REAL(wp) :: zgrazp, zgrazm, zgrazsd
       REAL(wp) :: zgrazmf, zgrazsf, zgrazpf
+      REAL(wp) :: zbeta, zepsherf
       REAL(wp), POINTER, DIMENSION(:,:,:) :: zgrazing, zw3d, zfezoo
 #if defined key_ligand
@@ -99,7 +100,4 @@
                zcompaz = MAX( ( trb(ji,jj,jk,jpzoo) - 1.e-9 ), 0.e0 )
                zstep   = xstep
-# if defined key_degrad
-               zstep = zstep * facvol(ji,jj,jk)
-# endif
                zfact   = zstep * tgfunc2(ji,jj,jk) * zcompaz
 
@@ -146,5 +144,7 @@
                zgrasratn = ( zgraztotn + rtrn ) / ( zgraztot + rtrn )
                zepshert  =  MIN( 1., zgrasratn, zgrasrat / ferat3)
-               zepsherv  = zepshert * MIN( epsher, (1. - unass) * zgrasrat / ferat3, (1. - unass) * zgrasratn )
+               zbeta = 1./ (epsher - 0.2)
+               zepsherf = 0.2 + 1./ (zbeta + 0.04 * 12. * zfood * 1E6 )
+               zepsherv  = zepshert * MIN( zepsherf, (1. - unass) * zgrasrat / ferat3, (1. - unass) * zgrasratn )
                zgrafer   = zgraztot * MAX( 0. , ( 1. - unass ) * zgrasrat - ferat3 * zepsherv ) 
                zgrarem   = zgraztot * ( 1. - zepsherv - unass )
@@ -169,7 +169,5 @@
                tra(ji,jj,jk,jpdic) = tra(ji,jj,jk,jpdic) + zgrarsig
                tra(ji,jj,jk,jptal) = tra(ji,jj,jk,jptal) + rno3 * zgrarsig
-#if defined key_kriest
-               tra(ji,jj,jk,jpnum) = tra(ji,jj,jk,jpnum) + zgrapoc * xkr_dmicro
-#endif
+
                !   Update the arrays TRA which contain the biological sources and sinks
                !   --------------------------------------------------------------------
@@ -197,8 +195,4 @@
                tra(ji,jj,jk,jptal) = tra(ji,jj,jk,jptal) - 2. * zprcaca
                tra(ji,jj,jk,jpcal) = tra(ji,jj,jk,jpcal) + zprcaca
-#if defined key_kriest
-               tra(ji,jj,jk,jpnum) = tra(ji,jj,jk,jpnum) + zmortz * xkr_dmicro &
-                                                         - zgrazm * trb(ji,jj,jk,jpnum) / ( trb(ji,jj,jk,jppoc) + rtrn )
-#endif
             END DO
          END DO
Index: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmort.F90
===================================================================
--- branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmort.F90	(revision 7627)
+++ branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmort.F90	(revision 8003)
@@ -87,7 +87,4 @@
                zcompaph = MAX( ( trb(ji,jj,jk,jpphy) - 1e-8 ), 0.e0 )
                zstep    = xstep
-# if defined key_degrad
-               zstep    = zstep * facvol(ji,jj,jk)
-# endif
                !     When highly limited by macronutrients, very small cells 
                !     dominate the community. As a consequence, aggregation
@@ -121,9 +118,4 @@
                tra(ji,jj,jk,jptal) = tra(ji,jj,jk,jptal) - 2. * zprcaca
                tra(ji,jj,jk,jpcal) = tra(ji,jj,jk,jpcal) + zprcaca
-#if defined key_kriest
-               tra(ji,jj,jk,jppoc) = tra(ji,jj,jk,jppoc) + zmortp
-               tra(ji,jj,jk,jpnum) = tra(ji,jj,jk,jpnum) + ztortp * xkr_dnano + zrespp * xkr_ddiat
-               tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + zmortp * zfactfe
-#else
                tra(ji,jj,jk,jpgoc) = tra(ji,jj,jk,jpgoc) + zfracal * zmortp
                tra(ji,jj,jk,jppoc) = tra(ji,jj,jk,jppoc) + ( 1. - zfracal ) * zmortp
@@ -132,5 +124,4 @@
                tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + ( 1. - zfracal ) * zmortp * zfactfe
                tra(ji,jj,jk,jpbfe) = tra(ji,jj,jk,jpbfe) + zfracal * zmortp * zfactfe
-#endif
             END DO
          END DO
@@ -181,7 +172,4 @@
                !     ------------------------------------------------------------
                zstep   = xstep
-# if defined key_degrad
-               zstep = zstep * facvol(ji,jj,jk)
-# endif
                !  Phytoplankton respiration 
                !     ------------------------
@@ -206,9 +194,4 @@
                tra(ji,jj,jk,jpdsi) = tra(ji,jj,jk,jpdsi) - zmortp2 * zfactsi
                tra(ji,jj,jk,jpgsi) = tra(ji,jj,jk,jpgsi) + zmortp2 * zfactsi
-#if defined key_kriest
-               tra(ji,jj,jk,jppoc) = tra(ji,jj,jk,jppoc) + zmortp2  
-               tra(ji,jj,jk,jpnum) = tra(ji,jj,jk,jpnum) + ztortp2 * xkr_ddiat + zrespp2 * xkr_daggr
-               tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + zmortp2 * zfactfe
-#else
                tra(ji,jj,jk,jpgoc) = tra(ji,jj,jk,jpgoc) + zrespp2 + 0.5 * ztortp2
                tra(ji,jj,jk,jppoc) = tra(ji,jj,jk,jppoc) + 0.5 * ztortp2
@@ -217,5 +200,4 @@
                tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + 0.5 * ztortp2 * zfactfe
                tra(ji,jj,jk,jpbfe) = tra(ji,jj,jk,jpbfe) + ( zrespp2 + 0.5 * ztortp2 ) * zfactfe
-#endif
             END DO
          END DO
Index: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zopt.F90
===================================================================
--- branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zopt.F90	(revision 7627)
+++ branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zopt.F90	(revision 8003)
@@ -251,9 +251,4 @@
            IF( iom_use( "PAR"   ) ) CALL iom_put( "PAR"  , emoy(:,:,:) * tmask(:,:,:) )  ! Photosynthetically Available Radiation
         ENDIF
-      ELSE
-         IF( ln_diatrc ) THEN        ! save output diagnostics
-            trc2d(:,:,  jp_pcs0_2d + 10) = heup(:,:  ) * tmask(:,:,1)
-            trc3d(:,:,:,jp_pcs0_3d + 3)  = etot(:,:,:) * tmask(:,:,:)
-         ENDIF
       ENDIF
       !
Index: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zpoc.F90
===================================================================
--- branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zpoc.F90	(revision 7627)
+++ branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zpoc.F90	(revision 8003)
@@ -65,7 +65,5 @@
       REAL(wp) ::   zremip, zremig, zdep, zorem, zorem2, zofer
       REAL(wp) ::   zsizek, zsizek1, alphat, remint, solgoc, zpoc
-#if ! defined key_kriest
       REAL(wp) ::   zofer2, zofer3
-#endif
       REAL(wp) ::   zstep, zrfact2
       CHARACTER (len=25) :: charout
@@ -108,5 +106,4 @@
       END DO
 
-#if ! defined key_kriest
 ! -----------------------------------------------------------------------
 ! Lability parameterization. This is the big particles part (GOC)
@@ -200,7 +197,4 @@
             DO ji = 1, jpi
                zstep   = xstep
-# if defined key_degrad
-               zstep = zstep * facvol(ji,jj,jk)
-# endif
                ! POC disaggregation by turbulence and bacterial activity. 
                ! --------------------------------------------------------
@@ -371,5 +365,4 @@
          END DO
       END DO
-#endif
 
 
@@ -379,7 +372,4 @@
                IF (tmask(ji,jj,jk) == 1.) THEN
                  zstep   = xstep
-# if defined key_degrad
-                 zstep = zstep * facvol(ji,jj,jk)
-# endif
                  ! POC disaggregation by turbulence and bacterial activity. 
                  ! --------------------------------------------------------
@@ -387,7 +377,4 @@
                  zorem           = zremip * trb(ji,jj,jk,jppoc)
                  zofer           = zremip * trb(ji,jj,jk,jpsfe)
-#if defined key_kriest
-                 zorem2          = zremip * trb(ji,jj,jk,jpnum)
-#endif
 
                  ! Update the appropriate tracers trends
@@ -399,7 +386,4 @@
                  zfolimi(ji,jj,jk)   = zfolimi(ji,jj,jk) + zofer
                  tra(ji,jj,jk,jppoc) = tra(ji,jj,jk,jppoc) - zorem
-#if defined key_kriest
-                 tra(ji,jj,jk,jpnum) = tra(ji,jj,jk,jpnum) - zorem2
-#endif
                  tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) - zofer
 
Index: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zprod.F90
===================================================================
--- branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zprod.F90	(revision 7627)
+++ branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zprod.F90	(revision 8003)
@@ -488,18 +488,5 @@
           CALL wrk_dealloc( jpi, jpj, jpk, zw3d )
        ENDIF
-     ELSE
-        IF( ln_diatrc ) THEN
-           zfact = 1.e+3 * rfact2r
-           trc3d(:,:,:,jp_pcs0_3d + 4)  = zprorcan(:,:,:) * zfact * tmask(:,:,:)
-           trc3d(:,:,:,jp_pcs0_3d + 5)  = zprorcad(:,:,:) * zfact * tmask(:,:,:)
-           trc3d(:,:,:,jp_pcs0_3d + 6)  = zpronewn(:,:,:) * zfact * tmask(:,:,:)
-           trc3d(:,:,:,jp_pcs0_3d + 7)  = zpronewd(:,:,:) * zfact * tmask(:,:,:)
-           trc3d(:,:,:,jp_pcs0_3d + 8)  = zprorcad(:,:,:) * zfact * tmask(:,:,:) * zysopt(:,:,:)
-           trc3d(:,:,:,jp_pcs0_3d + 9)  = zprofed (:,:,:) * zfact * tmask(:,:,:)
-#  if ! defined key_kriest
-           trc3d(:,:,:,jp_pcs0_3d + 10) = zprofen (:,:,:) * zfact * tmask(:,:,:)
-#  endif
-        ENDIF
-     ENDIF
+    ENDIF
 
      IF(ln_ctl)   THEN  ! print mean trends (used for debugging)
Index: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zrem.F90
===================================================================
--- branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zrem.F90	(revision 7627)
+++ branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zrem.F90	(revision 8003)
@@ -80,5 +80,5 @@
       REAL(wp), POINTER, DIMENSION(:,:  ) :: ztempbac
       REAL(wp), POINTER, DIMENSION(:,:,:) :: zdepbac, zdepprod, zdepeff, zfacsi, zfacsib
-      REAL(wp), POINTER, DIMENSION(:,:,:) :: znitr, zolimi,  zfecbact
+      REAL(wp), POINTER, DIMENSION(:,:,:) :: znitr, zolimi,  zfebact
       !!---------------------------------------------------------------------
       !
@@ -95,5 +95,5 @@
       ! Initialisation of temprary arrys
       zdepprod(:,:,:) = 1._wp
-      zdepeff (:,:,:) = 0.3_wp
+      zdepeff (:,:,:) = 0.4_wp
       ztempbac(:,:)   = 0._wp
       zfebact (:,:,:) = 0._wp
@@ -117,5 +117,5 @@
                   zdepbac (ji,jj,jk) = zdepmin**0.683 * ztempbac(ji,jj)
                   zdepprod(ji,jj,jk) = zdepmin**0.273
-                  zdepeff (ji,jj,jk) = 0.3 * zdepmin**0.3
+!                  zdepeff (ji,jj,jk) = 0.3 * zdepmin**0.3
                ENDIF
             END DO
@@ -139,7 +139,4 @@
             DO ji = 1, jpi
                zstep   = xstep
-# if defined key_degrad
-               zstep = zstep * facvol(ji,jj,jk)
-# endif
                ! DOC ammonification. Depends on depth, phytoplankton biomass
                ! and a limitation term which is supposed to be a parameterization
@@ -177,7 +174,4 @@
             DO ji = 1, jpi
                zstep   = xstep
-# if defined key_degrad
-               zstep = zstep * facvol(ji,jj,jk)
-# endif
                ! NH4 nitrification to NO3. Ceased for oxygen concentrations
                ! below 2 umol/L. Inhibited at strong light 
@@ -214,14 +208,8 @@
                   &              * trb(ji,jj,jk,jpfer) / ( xkferb + trb(ji,jj,jk,jpfer) )    &
                   &              * zdepprod(ji,jj,jk) * zdepeff(ji,jj,jk) * zdepbac(ji,jj,jk)
-#if defined key_kriest
-               tra(ji,jj,jk,jpfer) = tra(ji,jj,jk,jpfer) - zbactfer*0.15
-               tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + zbactfer*0.15
-               zfebact(ji,jj,jk)   = zbactfer * 0.15
-#else
                tra(ji,jj,jk,jpfer) = tra(ji,jj,jk,jpfer) - zbactfer*0.39
                tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + zbactfer*0.3
                tra(ji,jj,jk,jpbfe) = tra(ji,jj,jk,jpbfe) + zbactfer*0.09
                zfebact(ji,jj,jk)   = zbactfer * 0.39
-#endif
             END DO
          END DO
@@ -242,7 +230,4 @@
             DO ji = 1, jpi
                zstep   = xstep
-# if defined key_degrad
-               zstep = zstep * facvol(ji,jj,jk)
-# endif
                zdep     = MAX( hmld(ji,jj), heup_01(ji,jj) )
                zsatur   = MAX( rtrn, ( sio3eq(ji,jj,jk) - trb(ji,jj,jk,jpsil) ) / ( sio3eq(ji,jj,jk) + rtrn ) )
Index: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsbc.F90
===================================================================
--- branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsbc.F90	(revision 7627)
+++ branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsbc.F90	(revision 8003)
@@ -476,14 +476,11 @@
          END DO
          IF( cp_cfg == 'orca' .AND. jp_cfg == 2 ) THEN
-            ii0 = 176   ;   ii1 =  176        ! Southern Island : Kerguelen
-            ij0 =  37   ;   ij1 =   37  ;   zcmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1), 1:jpk ) =  0.3_wp  
+            ii0 = 177   ;   ii1 =  177        ! Southern Island : Kerguelen
+            ij0 =  38   ;   ij1 =   38  ;   zcmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1), 1:jpk ) =  0.3_wp  
             !
             ii0 = 119   ;   ii1 =  119        ! South Georgia
-            ij0 =  29   ;   ij1 =   29  ;   zcmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1), 1:jpk ) =  0.3_wp  
-            !
-            ii0 = 111   ;   ii1 =  111        ! Falklands
-            ij0 =  35   ;   ij1 =   35  ;   zcmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1), 1:jpk ) =  0.3_wp  
-            !
-            ii0 = 168   ;   ii1 =  168        ! Crozet
+            ij0 =  28   ;   ij1 =   28  ;   zcmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1), 1:jpk ) =  0.3_wp  
+            !
+            ii0 = 167   ;   ii1 =  167        ! Crozet
             ij0 =  40   ;   ij1 =   40  ;   zcmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1), 1:jpk ) =  0.3_wp  
             !
@@ -491,5 +488,5 @@
             ij0 =  28   ;   ij1 =   28  ;   zcmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1), 1:jpk ) =  0.3_wp  
             !
-            ii0 = 140   ;   ii1 =  140        ! Bouvet Island
+            ii0 = 144   ;   ii1 =  144        ! Bouvet Island
             ij0 =  33   ;   ij1 =   33  ;   zcmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1), 1:jpk ) =  0.3_wp  
             !
Index: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsed.F90
===================================================================
--- branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsed.F90	(revision 7627)
+++ branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsed.F90	(revision 8003)
@@ -243,10 +243,6 @@
            IF( tmask(ji,jj,1) == 1 ) THEN
               ikt = mbkt(ji,jj)
-# if defined key_kriest
-              zflx =    trb(ji,jj,ikt,jppoc) * zwsbio3(ji,jj)    * 1E3 * 1E6 / 1E4
-# else
               zflx = (  trb(ji,jj,ikt,jpgoc) * zwsbio4(ji,jj)   &
                 &     + trb(ji,jj,ikt,jppoc) * zwsbio3(ji,jj) )  * 1E3 * 1E6 / 1E4
-#endif
               zflx  = LOG10( MAX( 1E-3, zflx ) )
               zo2   = LOG10( MAX( 10. , trb(ji,jj,ikt,jpoxy) * 1E6 ) )
@@ -272,11 +268,6 @@
             IF( tmask(ji,jj,1) == 1 ) THEN
                ikt = mbkt(ji,jj) 
-# if defined key_kriest
-               zwork1(ji,jj) = trb(ji,jj,ikt,jpgsi) * zwscal (ji,jj)
-               zwork2(ji,jj) = trb(ji,jj,ikt,jppoc) * zwsbio3(ji,jj)
-# else
                zwork1(ji,jj) = trb(ji,jj,ikt,jpgsi) * zwsbio4(ji,jj)
                zwork2(ji,jj) = trb(ji,jj,ikt,jpgoc) * zwsbio4(ji,jj) + trb(ji,jj,ikt,jppoc) * zwsbio3(ji,jj) 
-# endif
                ! For calcite, burial efficiency is made a function of saturation
                zfactcal      = MIN( excess(ji,jj,ikt), 0.2 )
@@ -304,9 +295,5 @@
             zws4 = zwsbio4(ji,jj) * zdep
             zwsc = zwscal (ji,jj) * zdep
-# if defined key_kriest
-            zsiloss = trb(ji,jj,ikt,jpgsi) * zws4
-# else
             zsiloss = trb(ji,jj,ikt,jpgsi) * zwsc
-# endif
             zcaloss = trb(ji,jj,ikt,jpcal) * zwsc
             !
@@ -336,5 +323,4 @@
 #endif
             zrivno3 = 1. - zbureff(ji,jj)
-# if ! defined key_kriest
             tra(ji,jj,ikt,jpgoc) = tra(ji,jj,ikt,jpgoc) - trb(ji,jj,ikt,jpgoc) * zws4 
             tra(ji,jj,ikt,jppoc) = tra(ji,jj,ikt,jppoc) - trb(ji,jj,ikt,jppoc) * zws3
@@ -345,13 +331,4 @@
             tra(ji,jj,ikt,jpfep) = tra(ji,jj,ikt,jpfep) - trn(ji,jj,ikt,jpfep) * zwssfep
 #   endif
-# else
-            tra(ji,jj,ikt,jpnum) = tra(ji,jj,ikt,jpnum) - trb(ji,jj,ikt,jpnum) * zws4 
-            tra(ji,jj,ikt,jppoc) = tra(ji,jj,ikt,jppoc) - trb(ji,jj,ikt,jppoc) * zws3
-            tra(ji,jj,ikt,jpsfe) = tra(ji,jj,ikt,jpsfe) - trb(ji,jj,ikt,jpsfe) * zws3
-            zwstpoc = trb(ji,jj,ikt,jppoc) * zws3 
-#   if defined key_ligand
-            tra(ji,jj,ikt,jpfep) = tra(ji,jj,ikt,jpfep) - trn(ji,jj,ikt,jpfep) * zwssfep
-#   endif
-# endif
 
 #if ! defined key_sed
@@ -384,9 +361,5 @@
                zlim = ( 1.- xnanono3(ji,jj,jk) - xnanonh4(ji,jj,jk) )
                IF( zlim <= 0.2 )   zlim = 0.01
-#if defined key_degrad
-               zfact = zlim * rfact2 * facvol(ji,jj,jk)
-#else
                zfact = zlim * rfact2
-#endif
                ztrfer = biron(ji,jj,jk)       / ( concfediaz + biron(ji,jj,jk)       )
                ztrpo4 = trb  (ji,jj,jk,jppo4) / ( concnnh4   + trb  (ji,jj,jk,jppo4) ) 
@@ -431,7 +404,4 @@
             IF( iom_use("Sdenit" ) ) CALL iom_put( "Sdenit", sdenit (:,:) * 1.e+3 * rno3 )
          ENDIF
-      ELSE
-         IF( ln_diatrc )  &
-            &  trc2d(:,:,jp_pcs0_2d + 12) = nitrpot(:,:,1) * nitrfix * rno3 * 1.e+3 * rfact2r * fse3t(:,:,1) * tmask(:,:,1)
       ENDIF
       !
Index: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsink.F90
===================================================================
--- branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsink.F90	(revision 7627)
+++ branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsink.F90	(revision 8003)
@@ -21,4 +21,5 @@
    USE iom             !  I/O manager
    USE lib_mpp
+   USE p4zsbc
 
    IMPLICIT NONE
@@ -37,7 +38,5 @@
    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   sinkcal, sinksil   !: CaCO3 and BSi sinking fluxes
    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   sinkfer            !: Small BFe sinking fluxes
-#if ! defined key_kriest
    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   sinkfer2           !: Big iron sinking fluxes
-#endif
 #if defined key_ligand
    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   sinkfep      !: Fep sinking fluxes
@@ -46,26 +45,4 @@
 
    INTEGER  :: ik100
-
-#if  defined key_kriest
-   REAL(wp) ::  xkr_sfact    !: Sinking factor
-   REAL(wp) ::  xkr_stick    !: Stickiness
-   REAL(wp) ::  xkr_nnano    !: Nbr of cell in nano size class
-   REAL(wp) ::  xkr_ndiat    !: Nbr of cell in diatoms size class
-   REAL(wp) ::  xkr_nmicro   !: Nbr of cell in microzoo size class
-   REAL(wp) ::  xkr_nmeso    !: Nbr of cell in mesozoo  size class
-   REAL(wp) ::  xkr_naggr    !: Nbr of cell in aggregates  size class
-
-   REAL(wp) ::  xkr_frac 
-
-   REAL(wp), PUBLIC ::  xkr_dnano       !: Size of particles in nano pool
-   REAL(wp), PUBLIC ::  xkr_ddiat       !: Size of particles in diatoms pool
-   REAL(wp), PUBLIC ::  xkr_dmicro      !: Size of particles in microzoo pool
-   REAL(wp), PUBLIC ::  xkr_dmeso       !: Size of particles in mesozoo pool
-   REAL(wp), PUBLIC ::  xkr_daggr       !: Size of particles in aggregates pool
-   REAL(wp), PUBLIC ::  xkr_wsbio_min   !: min vertical particle speed
-   REAL(wp), PUBLIC ::  xkr_wsbio_max   !: max vertical particle speed
-
-   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) ::   xnumm   !:  maximum number of particles in aggregates
-#endif
 
    !!* Substitution
@@ -78,5 +55,4 @@
 CONTAINS
 
-#if ! defined key_kriest
    !!----------------------------------------------------------------------
    !!   'standard sinking parameterisation'                  ???
@@ -255,14 +231,4 @@
           CALL wrk_dealloc( jpi, jpj, jpk, zw3d )
         ENDIF
-      ELSE
-         IF( ln_diatrc ) THEN
-            zfact = 1.e3 * rfact2r
-            trc2d(:,:,jp_pcs0_2d + 4) = sinking (:,:,ik100) * zfact * tmask(:,:,1)
-            trc2d(:,:,jp_pcs0_2d + 5) = sinking2(:,:,ik100) * zfact * tmask(:,:,1)
-            trc2d(:,:,jp_pcs0_2d + 6) = sinkfer (:,:,ik100) * zfact * tmask(:,:,1)
-            trc2d(:,:,jp_pcs0_2d + 7) = sinkfer2(:,:,ik100) * zfact * tmask(:,:,1)
-            trc2d(:,:,jp_pcs0_2d + 8) = sinksil (:,:,ik100) * zfact * tmask(:,:,1)
-            trc2d(:,:,jp_pcs0_2d + 9) = sinkcal (:,:,ik100) * zfact * tmask(:,:,1)
-         ENDIF
       ENDIF
       !
@@ -294,355 +260,4 @@
       !
    END SUBROUTINE p4z_sink_init
-
-#else
-   !!----------------------------------------------------------------------
-   !!   'Kriest sinking parameterisation'        key_kriest          ???
-   !!----------------------------------------------------------------------
-
-   SUBROUTINE p4z_sink ( kt, knt )
-      !!---------------------------------------------------------------------
-      !!                ***  ROUTINE p4z_sink  ***
-      !!
-      !! ** Purpose :   Compute vertical flux of particulate matter due to
-      !!              gravitational sinking - Kriest parameterization
-      !!
-      !! ** Method  : - ???
-      !!---------------------------------------------------------------------
-      !
-      INTEGER, INTENT(in) :: kt, knt
-      !
-      INTEGER  :: ji, jj, jk, jit, niter1, niter2
-      REAL(wp) :: znum , zeps, zfm, zgm, zsm
-      REAL(wp) :: zdiv , zdiv1, zdiv2, zdiv3, zdiv4, zdiv5
-      REAL(wp) :: zval1, zval2, zval3
-      REAL(wp) :: zfact
-      INTEGER  :: ik1
-      CHARACTER (len=25) :: charout
-      REAL(wp), POINTER, DIMENSION(:,:,:) :: znum3d 
-      REAL(wp), POINTER, DIMENSION(:,:,:) :: zw3d
-      REAL(wp), POINTER, DIMENSION(:,:  ) :: zw2d
-      !!---------------------------------------------------------------------
-      !
-      IF( nn_timing == 1 )  CALL timing_start('p4z_sink')
-      !
-      CALL wrk_alloc( jpi, jpj, jpk, znum3d )
-      !
-      !     Initialisation of variables used to compute Sinking Speed
-      !     ---------------------------------------------------------
-
-      znum3d(:,:,:) = 0.e0
-      zval1 = 1. + xkr_zeta
-      zval2 = 1. + xkr_zeta + xkr_eta
-      zval3 = 1. + xkr_eta
-
-      !     Computation of the vertical sinking speed : Kriest et Evans, 2000
-      !     -----------------------------------------------------------------
-
-      DO jk = 1, jpkm1
-         DO jj = 1, jpj
-            DO ji = 1, jpi
-               IF( tmask(ji,jj,jk) /= 0.e0 ) THEN
-                  znum = trb(ji,jj,jk,jppoc) / ( trb(ji,jj,jk,jpnum) + rtrn ) / xkr_massp
-                  ! -------------- To avoid sinking speed over 50 m/day -------
-                  znum  = MIN( xnumm(jk), znum )
-                  znum  = MAX( 1.1      , znum )
-                  znum3d(ji,jj,jk) = znum
-                  !------------------------------------------------------------
-                  zeps  = ( zval1 * znum - 1. )/ ( znum - 1. )
-                  zfm   = xkr_frac**( 1. - zeps )
-                  zgm   = xkr_frac**( zval1 - zeps )
-                  zdiv  = MAX( 1.e-4, ABS( zeps - zval2 ) ) * SIGN( 1., ( zeps - zval2 ) )
-                  zdiv1 = zeps - zval3
-                  wsbio3(ji,jj,jk) = xkr_wsbio_min * ( zeps - zval1 ) / zdiv    &
-                     &             - xkr_wsbio_max *   zgm * xkr_eta  / zdiv
-                  wsbio4(ji,jj,jk) = xkr_wsbio_min *   ( zeps-1. )    / zdiv1   &
-                     &             - xkr_wsbio_max *   zfm * xkr_eta  / zdiv1
-                  IF( znum == 1.1)   wsbio3(ji,jj,jk) = wsbio4(ji,jj,jk)
-               ENDIF
-            END DO
-         END DO
-      END DO
-
-      wscal(:,:,:) = MAX( wsbio3(:,:,:), 30._wp )
-#if defined key_ligand
-      wsfep (:,:,:) = wfep
-#endif
-
-      !   INITIALIZE TO ZERO ALL THE SINKING ARRAYS
-      !   -----------------------------------------
-
-      sinking (:,:,:) = 0.e0
-      sinking2(:,:,:) = 0.e0
-      sinkcal (:,:,:) = 0.e0
-      sinkfer (:,:,:) = 0.e0
-      sinksil (:,:,:) = 0.e0
-#if defined key_ligand
-      sinkfep(:,:,:) = 0.e0
-#endif
-
-     !   Compute the sedimentation term using p4zsink2 for all the sinking particles
-     !   -----------------------------------------------------
-
-      niter1 = niter1max
-      niter2 = niter2max
-
-      DO jit = 1, niter1
-        CALL p4z_sink2( wsbio3, sinking , jppoc, niter1 )
-        CALL p4z_sink2( wsbio3, sinkfer , jpsfe, niter1 )
-        CALL p4z_sink2( wscal , sinksil , jpgsi, niter1 )
-        CALL p4z_sink2( wscal , sinkcal , jpcal, niter1 )
-#if defined key_ligand
-        CALL p4z_sink2( wsfep,  sinkfep , jpfep, iiter1 )
-#endif
-      END DO
-
-      DO jit = 1, niter2
-        CALL p4z_sink2( wsbio4, sinking2, jpnum, niter2 )
-      END DO
-
-     IF( iom_use( "tcexp" ) .OR. ( ln_check_mass .AND. kt == nitend .AND. knt == nrdttrc )  )  &
-        &   t_oce_co2_exp = glob_sum( sinking(:,:,ik100)  * e1e2t(:,:) * tmask(:,:,1) )
-     !
-     IF( lk_iomput ) THEN
-        IF( knt == nrdttrc ) THEN
-          CALL wrk_alloc( jpi, jpj,      zw2d )
-          CALL wrk_alloc( jpi, jpj, jpk, zw3d )
-          zfact = 1.e+3 * rfact2r  !  conversion from mol/l/kt to  mol/m3/s
-          !
-          IF( iom_use( "EPC100" ) )  THEN
-              zw2d(:,:) = sinking(:,:,ik100) * zfact * tmask(:,:,1) ! Export of carbon at 100m
-              CALL iom_put( "EPC100"  , zw2d )
-          ENDIF
-          IF( iom_use( "EPN100" ) )  THEN
-              zw2d(:,:) = sinking2(:,:,ik100) * zfact * tmask(:,:,1) ! Export of number of aggregates ?
-              CALL iom_put( "EPN100"  , zw2d )
-          ENDIF
-          IF( iom_use( "EPCAL100" ) )  THEN
-              zw2d(:,:) = sinkcal(:,:,ik100) * zfact * tmask(:,:,1) ! Export of calcite at 100m
-              CALL iom_put( "EPCAL100"  , zw2d )
-          ENDIF
-          IF( iom_use( "EPSI100" ) )  THEN
-              zw2d(:,:) = sinksil(:,:,ik100) * zfact * tmask(:,:,1) ! Export of bigenic silica at 100m
-              CALL iom_put( "EPSI100"  , zw2d )
-          ENDIF
-          IF( iom_use( "EXPC" ) )  THEN
-              zw3d(:,:,:) = sinking(:,:,:) * zfact * tmask(:,:,:) ! Export of carbon in the water column
-              CALL iom_put( "EXPC"  , zw3d )
-          ENDIF
-          IF( iom_use( "EXPN" ) )  THEN
-              zw3d(:,:,:) = sinking(:,:,:) * zfact * tmask(:,:,:) ! Export of carbon in the water column
-              CALL iom_put( "EXPN"  , zw3d )
-          ENDIF
-          IF( iom_use( "EXPCAL" ) )  THEN
-              zw3d(:,:,:) = sinkcal(:,:,:) * zfact * tmask(:,:,:) ! Export of calcite 
-              CALL iom_put( "EXPCAL"  , zw3d )
-          ENDIF
-          IF( iom_use( "EXPSI" ) )  THEN
-              zw3d(:,:,:) = sinksil(:,:,:) * zfact * tmask(:,:,:) ! Export of bigenic silica
-              CALL iom_put( "EXPSI"  , zw3d )
-          ENDIF
-          IF( iom_use( "XNUM" ) )  THEN
-              zw3d(:,:,:) =  znum3d(:,:,:) * tmask(:,:,:) !  Number of particles on aggregats
-              CALL iom_put( "XNUM"  , zw3d )
-          ENDIF
-          IF( iom_use( "WSC" ) )  THEN
-              zw3d(:,:,:) = wsbio3(:,:,:) * tmask(:,:,:) ! Sinking speed of carbon particles
-              CALL iom_put( "WSC"  , zw3d )
-          ENDIF
-          IF( iom_use( "WSN" ) )  THEN
-              zw3d(:,:,:) = wsbio4(:,:,:) * tmask(:,:,:) ! Sinking speed of particles number
-              CALL iom_put( "WSN"  , zw3d )
-          ENDIF
-          !
-          CALL wrk_dealloc( jpi, jpj,      zw2d )
-          CALL wrk_dealloc( jpi, jpj, jpk, zw3d )
-      ELSE
-         IF( ln_diatrc ) THEN
-            zfact = 1.e3 * rfact2r
-            trc2d(:,:  ,jp_pcs0_2d + 4)  = sinking (:,:,ik100)  * zfact * tmask(:,:,1)
-            trc2d(:,:  ,jp_pcs0_2d + 5)  = sinking2(:,:,ik100)  * zfact * tmask(:,:,1)
-            trc2d(:,:  ,jp_pcs0_2d + 6)  = sinkfer (:,:,ik100)  * zfact * tmask(:,:,1)
-            trc2d(:,:  ,jp_pcs0_2d + 7)  = sinksil (:,:,ik100)  * zfact * tmask(:,:,1)
-            trc2d(:,:  ,jp_pcs0_2d + 8)  = sinkcal (:,:,ik100)  * zfact * tmask(:,:,1)
-            trc3d(:,:,:,jp_pcs0_3d + 11) = sinking (:,:,:)      * zfact * tmask(:,:,:)
-            trc3d(:,:,:,jp_pcs0_3d + 12) = sinking2(:,:,:)      * zfact * tmask(:,:,:)
-            trc3d(:,:,:,jp_pcs0_3d + 13) = sinksil (:,:,:)      * zfact * tmask(:,:,:)
-            trc3d(:,:,:,jp_pcs0_3d + 14) = sinkcal (:,:,:)      * zfact * tmask(:,:,:)
-            trc3d(:,:,:,jp_pcs0_3d + 15) = znum3d  (:,:,:)              * tmask(:,:,:)
-            trc3d(:,:,:,jp_pcs0_3d + 16) = wsbio3  (:,:,:)              * tmask(:,:,:)
-            trc3d(:,:,:,jp_pcs0_3d + 17) = wsbio4  (:,:,:)              * tmask(:,:,:)
-         ENDIF
-      ENDIF
-
-      !
-      IF(ln_ctl)   THEN  ! print mean trends (used for debugging)
-         WRITE(charout, FMT="('sink')")
-         CALL prt_ctl_trc_info(charout)
-         CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm)
-      ENDIF
-      !
-      CALL wrk_dealloc( jpi, jpj, jpk, znum3d )
-      !
-      IF( nn_timing == 1 )  CALL timing_stop('p4z_sink')
-      !
-   END SUBROUTINE p4z_sink
-
-
-   SUBROUTINE p4z_sink_init
-      !!----------------------------------------------------------------------
-      !!                  ***  ROUTINE p4z_sink_init  ***
-      !!
-      !! ** Purpose :   Initialization of sinking parameters
-      !!                Kriest parameterization only
-      !!
-      !! ** Method  :   Read the nampiskrs namelist and check the parameters
-      !!      called at the first timestep 
-      !!
-      !! ** input   :   Namelist nampiskrs
-      !!----------------------------------------------------------------------
-      INTEGER  ::   jk, jn, kiter
-      INTEGER  ::   ios                 ! Local integer output status for namelist read
-      REAL(wp) ::   znum, zdiv
-      REAL(wp) ::   zws, zwr, zwl,wmax, znummax
-      REAL(wp) ::   zmin, zmax, zl, zr, xacc
-      !
-      NAMELIST/nampiskrs/ xkr_sfact, xkr_stick ,  &
-         &                xkr_nnano, xkr_ndiat, xkr_nmicro, xkr_nmeso, xkr_naggr
-      !!----------------------------------------------------------------------
-      !
-      IF( nn_timing == 1 )  CALL timing_start('p4z_sink_init')
-      !
-
-      REWIND( numnatp_ref )              ! Namelist nampiskrs in reference namelist : Pisces sinking Kriest
-      READ  ( numnatp_ref, nampiskrs, IOSTAT = ios, ERR = 901)
-901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampiskrs in reference namelist', lwp )
-
-      REWIND( numnatp_cfg )              ! Namelist nampiskrs in configuration namelist : Pisces sinking Kriest
-      READ  ( numnatp_cfg, nampiskrs, IOSTAT = ios, ERR = 902 )
-902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampiskrs in configuration namelist', lwp )
-      IF(lwm) WRITE ( numonp, nampiskrs )
-
-      IF(lwp) THEN
-         WRITE(numout,*)
-         WRITE(numout,*) ' Namelist : nampiskrs'
-         WRITE(numout,*) '    Sinking factor                           xkr_sfact    = ', xkr_sfact
-         WRITE(numout,*) '    Stickiness                               xkr_stick    = ', xkr_stick
-         WRITE(numout,*) '    Nbr of cell in nano size class           xkr_nnano    = ', xkr_nnano
-         WRITE(numout,*) '    Nbr of cell in diatoms size class        xkr_ndiat    = ', xkr_ndiat
-         WRITE(numout,*) '    Nbr of cell in microzoo size class       xkr_nmicro   = ', xkr_nmicro
-         WRITE(numout,*) '    Nbr of cell in mesozoo size class        xkr_nmeso    = ', xkr_nmeso
-         WRITE(numout,*) '    Nbr of cell in aggregates size class     xkr_naggr    = ', xkr_naggr
-      ENDIF
-
-
-      ! max and min vertical particle speed
-      xkr_wsbio_min = xkr_sfact * xkr_mass_min**xkr_eta
-      xkr_wsbio_max = xkr_sfact * xkr_mass_max**xkr_eta
-      IF (lwp) WRITE(numout,*) ' max and min vertical particle speed ', xkr_wsbio_min, xkr_wsbio_max
-
-      !
-      !    effect of the sizes of the different living pools on particle numbers
-      !    nano = 2um-20um -> mean size=6.32 um -> ws=2.596 -> xnum=xnnano=2.337
-      !    diat and microzoo = 10um-200um -> 44.7 -> 8.732 -> xnum=xndiat=3.718
-      !    mesozoo = 200um-2mm -> 632.45 -> 45.14 -> xnum=xnmeso=7.147
-      !    aggregates = 200um-10mm -> 1414 -> 74.34 -> xnum=xnaggr=9.877
-      !    doc aggregates = 1um
-      ! ----------------------------------------------------------
-
-      xkr_dnano = 1. / ( xkr_massp * xkr_nnano )
-      xkr_ddiat = 1. / ( xkr_massp * xkr_ndiat )
-      xkr_dmicro = 1. / ( xkr_massp * xkr_nmicro )
-      xkr_dmeso = 1. / ( xkr_massp * xkr_nmeso )
-      xkr_daggr = 1. / ( xkr_massp * xkr_naggr )
-
-      !!---------------------------------------------------------------------
-      !!    'key_kriest'                                                  ???
-      !!---------------------------------------------------------------------
-      !  COMPUTATION OF THE VERTICAL PROFILE OF MAXIMUM SINKING SPEED
-      !  Search of the maximum number of particles in aggregates for each k-level.
-      !  Bissection Method
-      !--------------------------------------------------------------------
-      IF (lwp) THEN
-        WRITE(numout,*)
-        WRITE(numout,*)'    kriest : Compute maximum number of particles in aggregates'
-      ENDIF
-
-      xacc     =  0.001_wp
-      kiter    = 50
-      zmin     =  1.10_wp
-      zmax     = xkr_mass_max / xkr_mass_min
-      xkr_frac = zmax
-
-      DO jk = 1,jpk
-         zl = zmin
-         zr = zmax
-         wmax = 0.5 * fse3t(1,1,jk) * rday * float(niter1max) / rfact2
-         zdiv = xkr_zeta + xkr_eta - xkr_eta * zl
-         znum = zl - 1.
-         zwl =  xkr_wsbio_min * xkr_zeta / zdiv &
-            & - ( xkr_wsbio_max * xkr_eta * znum * &
-            &     xkr_frac**( -xkr_zeta / znum ) / zdiv ) &
-            & - wmax
-
-         zdiv = xkr_zeta + xkr_eta - xkr_eta * zr
-         znum = zr - 1.
-         zwr =  xkr_wsbio_min * xkr_zeta / zdiv &
-            & - ( xkr_wsbio_max * xkr_eta * znum * &
-            &     xkr_frac**( -xkr_zeta / znum ) / zdiv ) &
-            & - wmax
-iflag:   DO jn = 1, kiter
-            IF    ( zwl == 0._wp ) THEN   ;   znummax = zl
-            ELSEIF( zwr == 0._wp ) THEN   ;   znummax = zr
-            ELSE
-               znummax = ( zr + zl ) / 2.
-               zdiv = xkr_zeta + xkr_eta - xkr_eta * znummax
-               znum = znummax - 1.
-               zws =  xkr_wsbio_min * xkr_zeta / zdiv &
-                  & - ( xkr_wsbio_max * xkr_eta * znum * &
-                  &     xkr_frac**( -xkr_zeta / znum ) / zdiv ) &
-                  & - wmax
-               IF( zws * zwl < 0. ) THEN   ;   zr = znummax
-               ELSE                        ;   zl = znummax
-               ENDIF
-               zdiv = xkr_zeta + xkr_eta - xkr_eta * zl
-               znum = zl - 1.
-               zwl =  xkr_wsbio_min * xkr_zeta / zdiv &
-                  & - ( xkr_wsbio_max * xkr_eta * znum * &
-                  &     xkr_frac**( -xkr_zeta / znum ) / zdiv ) &
-                  & - wmax
-
-               zdiv = xkr_zeta + xkr_eta - xkr_eta * zr
-               znum = zr - 1.
-               zwr =  xkr_wsbio_min * xkr_zeta / zdiv &
-                  & - ( xkr_wsbio_max * xkr_eta * znum * &
-                  &     xkr_frac**( -xkr_zeta / znum ) / zdiv ) &
-                  & - wmax
-               !
-               IF ( ABS ( zws )  <= xacc ) EXIT iflag
-               !
-            ENDIF
-            !
-         END DO iflag
-
-         xnumm(jk) = znummax
-         IF (lwp) WRITE(numout,*) '       jk = ', jk, ' wmax = ', wmax,' xnum max = ', xnumm(jk)
-         !
-      END DO
-      !
-      ik100 = 10        !  last level where depth less than 100 m
-      DO jk = jpkm1, 1, -1
-         IF( gdept_1d(jk) > 100. )  ik100 = jk - 1
-      END DO
-      IF (lwp) WRITE(numout,*)
-      IF (lwp) WRITE(numout,*) ' Level corresponding to 100m depth ',  ik100 + 1
-      IF (lwp) WRITE(numout,*)
-      !
-      t_oce_co2_exp = 0._wp
-      !
-      IF( nn_timing == 1 )  CALL timing_stop('p4z_sink_init')
-      !
-  END SUBROUTINE p4z_sink_init
-
-#endif
 
    SUBROUTINE p4z_sink2( pwsink, psinkflx, jp_tra, kiter )
@@ -769,9 +384,5 @@
          &      sinking(jpi,jpj,jpk) , sinking2(jpi,jpj,jpk)                      ,     &                
          &      sinkcal(jpi,jpj,jpk) , sinksil (jpi,jpj,jpk)                      ,     &                
-#if defined key_kriest
-         &      xnumm(jpk)                                                        ,     &                
-#else
          &      sinkfer2(jpi,jpj,jpk)                                             ,     &                
-#endif
 #if defined key_ligand
          &      wsfep(jpi,jpj,jpk)   , sinkfep(jpi,jpj,jpk)                         ,     &
Index: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsms.F90
===================================================================
--- branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsms.F90	(revision 7627)
+++ branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsms.F90	(revision 8003)
@@ -71,7 +71,4 @@
       INTEGER ::   ji, jj, jk, jnt, jn, jl
       REAL(wp) ::  ztra
-#if defined key_kriest
-      REAL(wp) ::  zcoef1, zcoef2
-#endif
       CHARACTER (len=25) :: charout
       !!---------------------------------------------------------------------
@@ -166,15 +163,4 @@
          ENDIF
       END DO
-
-#if defined key_kriest
-      ! 
-      zcoef1 = 1.e0 / xkr_massp 
-      zcoef2 = 1.e0 / xkr_massp / 1.1
-      DO jk = 1,jpkm1
-         trb(:,:,jk,jpnum) = MAX(  trb(:,:,jk,jpnum), trb(:,:,jk,jppoc) * zcoef1 / xnumm(jk)  )
-         trb(:,:,jk,jpnum) = MIN(  trb(:,:,jk,jpnum), trb(:,:,jk,jppoc) * zcoef2              )
-      END DO
-      !
-#endif
       !
       !
@@ -214,5 +200,4 @@
       !! ** input   :   file 'namelist.trc.s' containing the following
       !!             namelist: natext, natbio, natsms
-      !!                       natkriest ("key_kriest")
       !!----------------------------------------------------------------------
 #if defined key_ligand
@@ -221,7 +206,4 @@
 #else
       NAMELIST/nampisbio/ nrdttrc, wsbio, xkmort, ferat3, wsbio2, wsbio2max, wsbio2scale, niter1max, niter2max
-#endif
-#if defined key_kriest
-      NAMELIST/nampiskrp/ xkr_eta, xkr_zeta, xkr_ncontent, xkr_mass_min, xkr_mass_max
 #endif
       NAMELIST/nampisdmp/ ln_pisdmp, nn_pisdmp
@@ -258,34 +240,4 @@
       ENDIF
 
-#if defined key_kriest
-
-      !                               ! nampiskrp : kriest parameters
-      !                               ! -----------------------------
-      REWIND( numnatp_ref )              ! Namelist nampiskrp in reference namelist : Pisces Kriest
-      READ  ( numnatp_ref, nampiskrp, IOSTAT = ios, ERR = 903)
-903   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampiskrp in reference namelist', lwp )
-
-      REWIND( numnatp_cfg )              ! Namelist nampiskrp in configuration namelist : Pisces Kriest
-      READ  ( numnatp_cfg, nampiskrp, IOSTAT = ios, ERR = 904 )
-904   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampiskrp in configuration namelist', lwp )
-      IF(lwm) WRITE ( numonp, nampiskrp )
-
-      IF(lwp) THEN
-         WRITE(numout,*)
-         WRITE(numout,*) ' Namelist : nampiskrp'
-         WRITE(numout,*) '    Sinking  exponent                        xkr_eta      = ', xkr_eta
-         WRITE(numout,*) '    N content exponent                       xkr_zeta     = ', xkr_zeta
-         WRITE(numout,*) '    N content factor                         xkr_ncontent = ', xkr_ncontent
-         WRITE(numout,*) '    Minimum mass for Aggregates              xkr_mass_min = ', xkr_mass_min
-         WRITE(numout,*) '    Maximum mass for Aggregates              xkr_mass_max = ', xkr_mass_max
-         WRITE(numout,*)
-     ENDIF
-
-
-     ! Computation of some variables
-     xkr_massp = xkr_ncontent * 7.625 * xkr_mass_min**xkr_zeta
-
-#endif
-
       REWIND( numnatp_ref )              ! Namelist nampisdmp in reference namelist : Pisces damping
       READ  ( numnatp_ref, nampisdmp, IOSTAT = ios, ERR = 905)
@@ -484,7 +436,5 @@
             &                    + trn(:,:,:,jpzoo) + trn(:,:,:,jpmes)  &
             &                    + trn(:,:,:,jppoc)                     &
-#if ! defined key_kriest
             &                    + trn(:,:,:,jpgoc)                     &
-#endif
             &                    + trn(:,:,:,jpdoc)                     ) * cvol(:,:,:)  )
          !
@@ -498,7 +448,5 @@
             &                    + trn(:,:,:,jpzoo) + trn(:,:,:,jpmes)  &
             &                    + trn(:,:,:,jppoc)                     &
-#if ! defined key_kriest
             &                    + trn(:,:,:,jpgoc)                     &
-#endif
             &                    + trn(:,:,:,jpdoc)                     ) * cvol(:,:,:)  )
          po4budget = po4budget / areatot
@@ -526,7 +474,5 @@
          ferbudget = glob_sum( (   trn(:,:,:,jpfer) + trn(:,:,:,jpnfe)  &
             &                    + trn(:,:,:,jpdfe)                     &
-#if ! defined key_kriest
             &                    + trn(:,:,:,jpbfe)                     &
-#endif
 #if defined key_ligand
             &                    + trn(:,:,:,jpfep)                     &
Index: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zagg.F90
===================================================================
--- branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zagg.F90	(revision 7627)
+++ branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zagg.F90	(revision 8003)
@@ -36,5 +36,4 @@
 CONTAINS
 
-#if ! defined key_kriest
    !!----------------------------------------------------------------------
    !!   'standard particles parameterisation'                  ???
@@ -68,7 +67,4 @@
                !
                zstep = xstep 
-# if defined key_degrad
-               zstep = zstep * facvol(ji,jj,jk)
-# endif
                zfact = zstep * xdiss(ji,jj,jk)
                !  Part I : Coagulation dependent on turbulence
@@ -146,147 +142,4 @@
 
 #else
-   !!----------------------------------------------------------------------
-   !!   'Kriest parameterisation'        key_kriest          ???
-   !!----------------------------------------------------------------------
-
-   SUBROUTINE p5z_agg ( kt, knt )
-      !!---------------------------------------------------------------------
-      !!                ***  ROUTINE p5z_agg  ***
-      !!
-      !! ** Purpose :   Compute aggregation of particles
-      !!
-      !! ** Method  : - ???
-      !!---------------------------------------------------------------------
-      !
-      INTEGER, INTENT(in) :: kt, knt
-      !
-      INTEGER  :: ji, jj, jk
-      REAL(wp) :: zagg1, zagg2, zagg3, zagg4, zagg5, zfract, zaggsi, zaggsh
-      REAL(wp) :: zagg , zaggdoc, zaggdoc1, znumdoc
-      REAL(wp) :: znum , zeps, zfm, zgm, zsm, zfactn, zfactp
-      REAL(wp) :: zdiv , zdiv1, zdiv2, zdiv3, zdiv4, zdiv5
-      REAL(wp) :: zval1, zval2, zval3, zval4
-      CHARACTER (len=25) :: charout
-      !!---------------------------------------------------------------------
-      !
-      IF( nn_timing == 1 )  CALL timing_start('p5z_agg')
-      !
-      !  Exchange between organic matter compartments due to coagulation/disaggregation
-      !  ---------------------------------------------------
-
-      zval1 = 1. + xkr_zeta
-      zval2 = 1. + xkr_eta
-      zval3 = 3. + xkr_eta
-      zval4 = 4. + xkr_eta
-
-      DO jk = 1,jpkm1
-         DO jj = 1,jpj
-            DO ji = 1,jpi
-               IF( tmask(ji,jj,jk) /= 0.e0 ) THEN
-
-                  znum = trb(ji,jj,jk,jppoc)/(trb(ji,jj,jk,jpnum)+rtrn) / xkr_massp
-                  !-------------- To avoid sinking speed over 50 m/day -------
-                  znum  = min(xnumm(jk),znum)
-                  znum  = MAX( 1.1,znum)
-                  !------------------------------------------------------------
-                  zeps  = ( zval1 * znum - 1.) / ( znum - 1.)
-                  zdiv  = MAX( 1.e-4, ABS( zeps - zval3) ) * SIGN( 1., zeps - zval3 )
-                  zdiv1 = MAX( 1.e-4, ABS( zeps - 4.   ) ) * SIGN( 1., zeps - 4.    )
-                  zdiv2 = zeps - 2.
-                  zdiv3 = zeps - 3.
-                  zdiv4 = zeps - zval2
-                  zdiv5 = 2.* zeps - zval4
-                  zfm   = xkr_frac**( 1.- zeps )
-                  zsm   = xkr_frac**xkr_eta
-
-                  !    Part I : Coagulation dependant on turbulence
-                  !    ----------------------------------------------
-                  zagg1 =  0.163  * trb(ji,jj,jk,jpnum)**2                                 &
-                     &            * 2.*( (zfm-1.)*(zfm*xkr_mass_max**3-xkr_mass_min**3)    &
-                     &            * (zeps-1)/zdiv1 + 3.*(zfm*xkr_mass_max-xkr_mass_min)    &
-                     &            * (zfm*xkr_mass_max**2-xkr_mass_min**2)                  &
-                     &            * (zeps-1.)**2/(zdiv2*zdiv3)) 
-                  zagg2 =  2*0.163*trb(ji,jj,jk,jpnum)**2*zfm                        &
-                     &            * ((xkr_mass_max**3+3.*(xkr_mass_max**2            &
-                     &            * xkr_mass_min*(zeps-1.)/zdiv2                     &
-                     &            + xkr_mass_max*xkr_mass_min**2*(zeps-1.)/zdiv3)    &
-                     &            + xkr_mass_min**3*(zeps-1)/zdiv1)                  &
-                     &            - zfm*xkr_mass_max**3*(1.+3.*((zeps-1.)            &
-                     &            / (zeps-2.)+(zeps-1.)/zdiv3)+(zeps-1.)/zdiv1))    
-
-                  zagg3 =  0.163*trb(ji,jj,jk,jpnum)**2*zfm**2*8. * xkr_mass_max**3  
-                  
-                 !    Aggregation of small into large particles
-                 !    Part II : Differential settling
-                 !    ----------------------------------------------
-                  zagg4 =  2.*3.141*0.125*trb(ji,jj,jk,jpnum)**2*                       &
-                     &                 xkr_wsbio_min*(zeps-1.)**2                         &
-                     &                 *(xkr_mass_min**2*((1.-zsm*zfm)/(zdiv3*zdiv4)      &
-                     &                 -(1.-zfm)/(zdiv*(zeps-1.)))-                       &
-                     &                 ((zfm*zfm*xkr_mass_max**2*zsm-xkr_mass_min**2)     &
-                     &                 *xkr_eta)/(zdiv*zdiv3*zdiv5) )   
-
-                  zagg5 =   2.*3.141*0.125*trb(ji,jj,jk,jpnum)**2                         &
-                     &                 *(zeps-1.)*zfm*xkr_wsbio_min                        &
-                     &                 *(zsm*(xkr_mass_min**2-zfm*xkr_mass_max**2)         &
-                     &                 /zdiv3-(xkr_mass_min**2-zfm*zsm*xkr_mass_max**2)    &
-                     &                 /zdiv)  
-
-                  !
-                  !     Fractionnation by swimming organisms
-                  !     ------------------------------------
-                  zfract = 2.*3.141*0.125*trb(ji,jj,jk,jpmes)*12./0.12/0.06**3*trb(ji,jj,jk,jpnum)  &
-                    &      * (0.01/xkr_mass_min)**(1.-zeps)*0.1**2  &
-                    &      * 10000.*xstep
-
-                  !     Aggregation of DOC to small particles
-                  !     --------------------------------------
-                  zaggdoc = 0.83 * trb(ji,jj,jk,jpdoc) * xstep * xdiss(ji,jj,jk) * trb(ji,jj,jk,jpdoc)   &
-                     &        + 0.005 * 231. * trb(ji,jj,jk,jpdoc) * xstep * trb(ji,jj,jk,jpdoc)
-                  zaggdoc1 = 271. * trb(ji,jj,jk,jppoc) * xstep * xdiss(ji,jj,jk) * trb(ji,jj,jk,jpdoc)  &
-                     &  + 0.02 * 16706. * trb(ji,jj,jk,jppoc) * xstep * trb(ji,jj,jk,jpdoc)
-
-# if defined key_degrad
-                   zagg1   = zagg1   * facvol(ji,jj,jk)                 
-                   zagg2   = zagg2   * facvol(ji,jj,jk)                 
-                   zagg3   = zagg3   * facvol(ji,jj,jk)                 
-                   zagg4   = zagg4   * facvol(ji,jj,jk)                 
-                   zagg5   = zagg5   * facvol(ji,jj,jk)                 
-                   zaggdoc = zaggdoc * facvol(ji,jj,jk)                 
-                   zaggdoc1 = zaggdoc1 * facvol(ji,jj,jk)
-# endif
-                  zaggsh = ( zagg1 + zagg2 + zagg3 ) * rfact2 * xdiss(ji,jj,jk) / 1000.
-                  zaggsi = ( zagg4 + zagg5 ) * xstep / 10.
-                  zagg = 0.5 * xkr_stick * ( zaggsh + zaggsi )
-                  !
-                  znumdoc = trb(ji,jj,jk,jpnum) / ( trb(ji,jj,jk,jppoc) + rtrn )
-                  tra(ji,jj,jk,jppoc) = tra(ji,jj,jk,jppoc) + zaggdoc + zaggdoc1
-                  zfactn  = trb(ji,jj,jk,jpdon) / ( trb(ji,jj,jk,jpdoc) + rtrn )
-                  tra(ji,jj,jk,jppon) = tra(ji,jj,jk,jppon) + ( zaggdoc + zaggdoc1 ) * zfactn
-                  zfactp  = trb(ji,jj,jk,jpdop) / ( trb(ji,jj,jk,jpdoc) + rtrn )
-                  tra(ji,jj,jk,jppop) = tra(ji,jj,jk,jppop) + ( zaggdoc + zaggdoc1 ) * zfactp
-                  tra(ji,jj,jk,jpnum) = tra(ji,jj,jk,jpnum) + zfract + zaggdoc / xkr_massp - zagg
-                  tra(ji,jj,jk,jpdoc) = tra(ji,jj,jk,jpdoc) - zaggdoc - zaggdoc1
-
-               ENDIF
-            END DO
-         END DO
-      END DO
-     !
-     IF(ln_ctl)   THEN  ! print mean trends (used for debugging)
-         WRITE(charout, FMT="('agg')")
-         CALL prt_ctl_trc_info(charout)
-         CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm)
-     ENDIF
-     !
-     CALL wrk_dealloc( jpi, jpj, jpk, znum3d )
-     !
-     IF( nn_timing == 1 )  CALL timing_stop('p5z_agg')
-     !
-   END SUBROUTINE p5z_agg
-
-#endif
-
-#else
    !!======================================================================
    !!  Dummy module :                                   No PISCES bio-model
Index: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zlim.F90
===================================================================
--- branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zlim.F90	(revision 7627)
+++ branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zlim.F90	(revision 8003)
@@ -384,5 +384,5 @@
                zfuptk = 0.35 * zfvn
                zrpho = 2.24 * trb(ji,jj,jk,jppch) / ( trb(ji,jj,jk,jpnpi) * rno3 * 15. + rtrn )
-               zrass = (1. - 0.4 - zrpho - zfuptk)
+               zrass = (1. - 0.3 - zrpho - zfuptk)
                xqppmax(ji,jj,jk) =  (zrpho + zfuptk) * 0.0128 * 16. + zrass * 1./ 10.9 * 16. + 0.13
                xqppmax(ji,jj,jk) = xqppmax(ji,jj,jk) * trb(ji,jj,jk,jpnpi) / ( trb(ji,jj,jk,jppic) + rtrn )
Index: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zmeso.F90
===================================================================
--- branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zmeso.F90	(revision 7627)
+++ branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zmeso.F90	(revision 8003)
@@ -85,7 +85,4 @@
       REAL(wp) :: zbeta, zrespz, ztortz, zgrasratp, zgrasratn, zgrasratf
       REAL(wp) :: ztmp1, ztmp2, ztmp3, ztmp4, ztmp5, ztmptot
-#if defined key_kriest
-      REAL znumpoc
-#endif
       REAL(wp) :: zgrazdc, zgrazz, zgrazm, zgrazpof, zgrazcal, zfracal
       REAL(wp) :: zgraznc, zgrazpoc, zgrazpon, zgrazpop, zgraznf, zgrazdf
@@ -119,9 +116,5 @@
             DO ji = 1, jpi
                zcompam   = MAX( ( trb(ji,jj,jk,jpmes) - 1.e-9 ), 0.e0 )
-# if defined key_degrad
-               zstep     = xstep * facvol(ji,jj,jk)
-# else
                zstep     = xstep
-# endif
                zfact     = zstep * tgfunc2(ji,jj,jk) * zcompam
 
@@ -192,5 +185,4 @@
                !   Mesozooplankton flux feeding on GOC
                !   ----------------------------------
-# if ! defined key_kriest
                zgrazffeg = grazflux  * zstep * wsbio4(ji,jj,jk)      &
                &           * tgfunc2(ji,jj,jk) * trb(ji,jj,jk,jpgoc) * trb(ji,jj,jk,jpmes)
@@ -198,5 +190,4 @@
                zgrazffng = zgrazffeg * trb(ji,jj,jk,jpgon) / (trb(ji,jj,jk,jpgoc) + rtrn)
                zgrazffpg = zgrazffeg * trb(ji,jj,jk,jpgop) / (trb(ji,jj,jk,jpgoc) + rtrn)
-# endif
                zgrazffep = grazflux  * zstep *  wsbio3(ji,jj,jk)     &
                &           * tgfunc2(ji,jj,jk) * trb(ji,jj,jk,jppoc) * trb(ji,jj,jk,jpmes)
@@ -205,5 +196,4 @@
                zgrazffpp = zgrazffep * trb(ji,jj,jk,jppop) / (trb(ji,jj,jk,jppoc) + rtrn)
                !
-# if ! defined key_kriest
                zgraztotc  = zgrazdc + zgrazz + zgraznc + zgrazm + zgrazpoc + zgrazffep + zgrazffeg
 
@@ -237,18 +227,4 @@
                zgraztotp  = zgrazdp + (zgrazz + zgrazm) * po4rat3 + zgraznp + zgrazpop  &
                &            + zgrazffpp + zgrazffpg
-
-# else
-               zgraztotc  = zgrazdc + zgrazz + zgrazm + zgraznc + zgrazpoc + zgrazffep
-
-               !   Compute the proportion of filter feeders
-               !   ----------------------------------------
-               zproport  = zgrazffep / ( zgraztotc + rtrn )
-               zgrazffep = zproport * zgrazffep   ;   zgrazfffp = zproport * zgrazfffp
-               zgrazffnp = zproport * zgrazffnp   ;   zgrazffpp = zproport * zgrazffpp
-               zgraztotc = zgrazdc + zgrazz + zgrazm + zgraznc + zgrazpoc + zgrazffep
-               zgraztotf = zgrazdf + zgraznf + (zgrazz + zgrazm) * ferat3 + zgrazpof + zgrazfffp
-               zgraztotn = zgrazdn + (zgrazz + zgrazm) * no3rat3 + zgraznn + zgrazpon + zgrazffnp
-               zgraztotp = zgrazdp + (zgrazz + zgrazm) * po4rat3 + zgraznp + zgrazpop + zgrazffpp
-# endif
 
                ! Total grazing ( grazing by microzoo is already computed in p5zmicro )
@@ -355,16 +331,4 @@
                tra(ji,jj,jk,jpgsi) = tra(ji,jj,jk,jpgsi) + zgrazdc * trb(ji,jj,jk,jpdsi) / ( trb(ji,jj,jk,jpdia) + rtrn )
 
-#if defined key_kriest
-               znumpoc = trb(ji,jj,jk,jpnum) / ( trb(ji,jj,jk,jppoc) + rtrn )
-               tra(ji,jj,jk,jppoc) = tra(ji,jj,jk,jppoc) - zgrazpoc - zgrazffep + zgrapoc
-               tra(ji,jj,jk,jppon) = tra(ji,jj,jk,jppon) - zgrazpon - zgrazffnp + zgrapon
-               tra(ji,jj,jk,jppop) = tra(ji,jj,jk,jppop) - zgrazpop - zgrazffpp + zgrapop
-               tra(ji,jj,jk,jpnum) = tra(ji,jj,jk,jpnum) - zgrazpoc * znumpoc + zgrapoc * xkr_dmeso      &
-               &   - zgrazffep * znumpoc * wsbio4(ji,jj,jk) / ( wsbio3(ji,jj,jk) + rtrn )
-               tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) - zgrazfffp - zgrazpof    &
-               &   + zgrapof
-               zfracal = trb(ji,jj,jk,jpcal) / (trb(ji,jj,jk,jppoc) + rtrn )
-               zgrazcal = ( zgrazffep + zgrazpoc ) * (1. - part2) * zfracal
-#else
                tra(ji,jj,jk,jppoc) = tra(ji,jj,jk,jppoc) - zgrazpoc - zgrazffep + zfracc
                prodpoc(ji,jj,jk) = prodpoc(ji,jj,jk) + zfracc
@@ -381,5 +345,5 @@
                zfracal = trb(ji,jj,jk,jpcal) / ( trb(ji,jj,jk,jpgoc) + rtrn )
                zgrazcal = zgrazffeg * (1. - part2) * zfracal
-#endif
+
                !  calcite production
                !  ------------------
Index: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zmicro.F90
===================================================================
--- branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zmicro.F90	(revision 7627)
+++ branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zmicro.F90	(revision 8003)
@@ -114,7 +114,4 @@
                zcompaz = MAX( ( trb(ji,jj,jk,jpzoo) - 1.e-9 ), 0.e0 )
                zstep   = xstep
-# if defined key_degrad
-               zstep = zstep * facvol(ji,jj,jk)
-# endif
                zfact   = zstep * tgfunc2(ji,jj,jk) * zcompaz
 
@@ -275,4 +272,8 @@
                tra(ji,jj,jk,jpzoo) = tra(ji,jj,jk,jpzoo) + zepsherv * zgraztotc - zrespirc   &
                &                     - ztortz - zgrazz
+               IF (mig(ji) == 72 .and. mjg(jj) == 74 .and. jk == 1) THEN
+                 write(0,*) 'plante ',zfood, zepsherv, zgraztotc * rday/rfact2/trn(ji,jj,jk,jpzoo),   &
+                 &       zrespirc * rday/rfact2/trn(ji,jj,jk,jpzoo)
+               ENDIF
                tra(ji,jj,jk,jpphy) = tra(ji,jj,jk,jpphy) - zgraznc
                tra(ji,jj,jk,jpnph) = tra(ji,jj,jk,jpnph) - zgraznn
@@ -298,7 +299,4 @@
                tra(ji,jj,jk,jppop) = tra(ji,jj,jk,jppop) + po4rat3 * ztortz + zgrapop - zgrazpop
                tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + ferat3 * ztortz  + zgrapof - zgrazpof
-#if defined key_kriest
-               tra(ji,jj,jk,jpnum) = tra(ji,jj,jk,jpnum) + zgrapoc * xkr_dmicro
-#endif
                !
                ! calcite production
@@ -311,8 +309,4 @@
                &                     + rno3 * zgraren
                tra(ji,jj,jk,jpcal) = tra(ji,jj,jk,jpcal) + zprcaca
-#if defined key_kriest
-               tra(ji,jj,jk,jpnum) = tra(ji,jj,jk,jpnum) + ztortz * xkr_dmicro &
-                                                         - zgrazpoc * trb(ji,jj,jk,jpnum) / ( trb(ji,jj,jk,jppoc) + rtrn )
-#endif
             END DO
          END DO
Index: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zmort.F90
===================================================================
--- branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zmort.F90	(revision 7627)
+++ branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zmort.F90	(revision 8003)
@@ -89,7 +89,4 @@
                zcompaph = MAX( ( trb(ji,jj,jk,jpphy) - 1e-9 ), 0.e0 )
                zstep    = xstep
-# if defined key_degrad
-               zstep    = zstep * facvol(ji,jj,jk)
-# endif
                !   Squared mortality of Phyto similar to a sedimentation term during
                !   blooms (Doney et al. 1996)
@@ -120,11 +117,4 @@
                tra(ji,jj,jk,jptal) = tra(ji,jj,jk,jptal) - 2. * zprcaca
                tra(ji,jj,jk,jpcal) = tra(ji,jj,jk,jpcal) + zprcaca
-#if defined key_kriest
-               tra(ji,jj,jk,jppoc) = tra(ji,jj,jk,jppoc) + zmortp
-               tra(ji,jj,jk,jppon) = tra(ji,jj,jk,jppon) + zmortp * zfactn
-               tra(ji,jj,jk,jppop) = tra(ji,jj,jk,jppop) + zmortp * zfactp
-               tra(ji,jj,jk,jpnum) = tra(ji,jj,jk,jpnum) + ztortp * xkr_dnano + zrespp * xkr_ddiat
-               tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + zmortp * zfactfe
-#else
                tra(ji,jj,jk,jppoc) = tra(ji,jj,jk,jppoc) + zmortp
                tra(ji,jj,jk,jppon) = tra(ji,jj,jk,jppon) + zmortp * zfactn
@@ -132,5 +122,4 @@
                prodpoc(ji,jj,jk) = prodpoc(ji,jj,jk) + zmortp
                tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + zmortp * zfactfe
-#endif
             END DO
          END DO
@@ -169,7 +158,4 @@
                zcompaph = MAX( ( trb(ji,jj,jk,jppic) - 1e-9 ), 0.e0 )
                zstep    = xstep
-# if defined key_degrad
-               zstep    = zstep * facvol(ji,jj,jk)
-# endif
                !  Squared mortality of Phyto similar to a sedimentation term during
                !  blooms (Doney et al. 1996)
@@ -192,11 +178,4 @@
                tra(ji,jj,jk,jppch) = tra(ji,jj,jk,jppch) - zmortp * zfactch
                tra(ji,jj,jk,jppfe) = tra(ji,jj,jk,jppfe) - zmortp * zfactfe
-#if defined key_kriest
-               tra(ji,jj,jk,jppoc) = tra(ji,jj,jk,jppoc) + zmortp
-               tra(ji,jj,jk,jppon) = tra(ji,jj,jk,jppon) + zmortp * zfactn
-               tra(ji,jj,jk,jppop) = tra(ji,jj,jk,jppop) + zmortp * zfactp
-               tra(ji,jj,jk,jpnum) = tra(ji,jj,jk,jpnum) + ztortp * xkr_dnano + zrespp * xkr_ddiat
-               tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + zmortp * zfactfe
-#else
                tra(ji,jj,jk,jppoc) = tra(ji,jj,jk,jppoc) + zmortp
                tra(ji,jj,jk,jppon) = tra(ji,jj,jk,jppon) + zmortp * zfactn
@@ -204,5 +183,4 @@
                tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + zmortp * zfactfe
                prodpoc(ji,jj,jk) = prodpoc(ji,jj,jk) + zmortp
-#endif
             END DO
          END DO
@@ -249,7 +227,4 @@
                !   -------------------------------------------------------------
                zstep   = xstep
-# if defined key_degrad
-               zstep = zstep * facvol(ji,jj,jk)
-# endif
                !  Phytoplankton squared mortality
                !  -------------------------------
@@ -277,11 +252,4 @@
                tra(ji,jj,jk,jpdsi) = tra(ji,jj,jk,jpdsi) - zmortp2 * zfactsi
                tra(ji,jj,jk,jpgsi) = tra(ji,jj,jk,jpgsi) + zmortp2 * zfactsi
-#if defined key_kriest
-               tra(ji,jj,jk,jppoc) = tra(ji,jj,jk,jppoc) + zmortp2  
-               tra(ji,jj,jk,jppon) = tra(ji,jj,jk,jppon) + zmortp2 * zfactn
-               tra(ji,jj,jk,jppop) = tra(ji,jj,jk,jppop) + zmortp2 * zfactp
-               tra(ji,jj,jk,jpnum) = tra(ji,jj,jk,jpnum) + ztortp2 * xkr_ddiat + zrespp2 * xkr_daggr
-               tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + zmortp2 * zfactfe
-#else
                tra(ji,jj,jk,jpgoc) = tra(ji,jj,jk,jpgoc) + zrespp2 
                tra(ji,jj,jk,jpgon) = tra(ji,jj,jk,jpgon) + zrespp2 * zfactn
@@ -294,5 +262,4 @@
                prodpoc(ji,jj,jk) = prodpoc(ji,jj,jk) + ztortp2
                prodgoc(ji,jj,jk) = prodgoc(ji,jj,jk) + zrespp2
-#endif
             END DO
          END DO
Index: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zpoc.F90
===================================================================
--- branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zpoc.F90	(revision 7627)
+++ branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zpoc.F90	(revision 8003)
@@ -70,7 +70,5 @@
       REAL(wp) ::   zsizek, zsizek1, alphat, remint
       REAL(wp) ::   solgoc, zpoc
-#if ! defined key_kriest
       REAL(wp) ::   zofer2, zofer3
-#endif
       REAL(wp) ::   step, zrfact2
       CHARACTER (len=25) :: charout
@@ -111,5 +109,4 @@
       END DO
 
-#if ! defined key_kriest
 ! -----------------------------------------------------------------------
 ! Lability parameterization. This is the big particles part (GOC)
@@ -203,7 +200,4 @@
             DO ji = 1, jpi
                zstep   = xstep
-# if defined key_degrad
-               zstep = zstep * facvol(ji,jj,jk)
-# endif
                ! POC disaggregation by turbulence and bacterial activity. 
                ! --------------------------------------------------------
@@ -380,5 +374,4 @@
          END DO
       END DO
-#endif
 
       DO jk = 1, jpkm1
@@ -386,7 +379,4 @@
             DO ji = 1, jpi
                zstep   = xstep
-# if defined key_degrad
-               zstep = zstep * facvol(ji,jj,jk)
-# endif
                ! POC disaggregation by turbulence and bacterial activity. 
                ! --------------------------------------------------------
@@ -397,7 +387,4 @@
                zopop  = xremipp / xremipc * zremip * trb(ji,jj,jk,jppop)
                zofer  = zremip * trb(ji,jj,jk,jpsfe)
-#if defined key_kriest
-               zopoc2 = xremipc * zremip * trb(ji,jj,jk,jpnum)
-#endif
 
                ! Update the appropriate tracers trends
@@ -411,7 +398,4 @@
                tra(ji,jj,jk,jpdop) = tra(ji,jj,jk,jpdop) + zopop 
                tra(ji,jj,jk,jpfer) = tra(ji,jj,jk,jpfer) + zofer 
-#if defined key_kriest
-               tra(ji,jj,jk,jpnum) = tra(ji,jj,jk,jpnum) - zopoc2
-#endif
             END DO
          END DO
Index: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zprod.F90
===================================================================
--- branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zprod.F90	(revision 7627)
+++ branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zprod.F90	(revision 8003)
@@ -518,14 +518,4 @@
 #endif
            ENDIF
-         ELSE
-              trc3d(:,:,:,jp_pcs0_3d + 4)  = zprorcan(:,:,:) * zrfact2 * tmask(:,:,:)
-              trc3d(:,:,:,jp_pcs0_3d + 5)  = zprorcad(:,:,:) * zrfact2 * tmask(:,:,:)
-              trc3d(:,:,:,jp_pcs0_3d + 6)  = zpronewn(:,:,:) * zrfact2 * tmask(:,:,:)
-              trc3d(:,:,:,jp_pcs0_3d + 7)  = zpronewd(:,:,:) * zrfact2 * tmask(:,:,:)
-              trc3d(:,:,:,jp_pcs0_3d + 8)  = zprosid(:,:,:)  * zrfact2 * tmask(:,:,:)
-              trc3d(:,:,:,jp_pcs0_3d + 9)  = zprofed (:,:,:) * zrfact2 * tmask(:,:,:)
-#  if ! defined key_kriest
-              trc3d(:,:,:,jp_pcs0_3d + 10) = zprofen (:,:,:) * zrfact2 * tmask(:,:,:)
-#  endif
          ENDIF
          !
Index: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zrem.F90
===================================================================
--- branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zrem.F90	(revision 7627)
+++ branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zrem.F90	(revision 8003)
@@ -137,7 +137,4 @@
             DO ji = 1, jpi
                zstep   = xstep
-# if defined key_degrad
-               zstep = zstep * facvol(ji,jj,jk)
-# endif
                ! DOC ammonification. Depends on depth, phytoplankton biomass
                ! and a limitation term which is supposed to be a parameterization
@@ -188,7 +185,4 @@
             DO ji = 1, jpi
                zstep   = xstep
-# if defined key_degrad
-               zstep = zstep * facvol(ji,jj,jk)
-# endif
                ! NH4 nitrification to NO3. Ceased for oxygen concentrations
                ! below 2 umol/L. Inhibited at strong light 
@@ -226,14 +220,8 @@
                   &              * biron(ji,jj,jk) / ( xkferb + biron(ji,jj,jk) )    &
                   &              * zdepprod(ji,jj,jk) * zdepeff(ji,jj,jk) * zdepbac(ji,jj,jk)
-#if defined key_kriest
-               tra(ji,jj,jk,jpfer) = tra(ji,jj,jk,jpfer) - zbactfer*0.05
-               tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + zbactfer*0.05
-               zfebact(ji,jj,jk)   = zbactfer * 0.15
-#else
                tra(ji,jj,jk,jpfer) = tra(ji,jj,jk,jpfer) - zbactfer*0.39
                tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + zbactfer*0.3
                tra(ji,jj,jk,jpbfe) = tra(ji,jj,jk,jpbfe) + zbactfer*0.09
                zfebact(ji,jj,jk)   = zbactfer * 0.39
-#endif
             END DO
          END DO
@@ -254,7 +242,4 @@
             DO ji = 1, jpi
                zstep   = xstep
-# if defined key_degrad
-               zstep = zstep * facvol(ji,jj,jk)
-# endif
                zdep     = MAX( hmld(ji,jj), heup_01(ji,jj) )
                zsatur   = MAX( rtrn, ( sio3eq(ji,jj,jk) - trb(ji,jj,jk,jpsil) ) / ( sio3eq(ji,jj,jk) + rtrn ) )
Index: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zsed.F90
===================================================================
--- branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zsed.F90	(revision 7627)
+++ branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zsed.F90	(revision 8003)
@@ -244,10 +244,6 @@
            IF( tmask(ji,jj,1) == 1 ) THEN
               ikt = mbkt(ji,jj)
-# if defined key_kriest
-              zflx =    trb(ji,jj,ikt,jppoc) * zwsbio3(ji,jj)    * 1E3 * 1E6 / 1E4
-# else
               zflx = (  trb(ji,jj,ikt,jpgoc) * zwsbio4(ji,jj)   &
                 &     + trb(ji,jj,ikt,jppoc) * zwsbio3(ji,jj) )  * 1E3 * 1E6 / 1E4
-#endif
               zflx  = LOG10( MAX( 1E-3, zflx ) )
               zo2   = LOG10( MAX( 10. , trb(ji,jj,ikt,jpoxy) * 1E6 ) )
@@ -273,11 +269,6 @@
             IF( tmask(ji,jj,1) == 1 ) THEN
                ikt = mbkt(ji,jj) 
-# if defined key_kriest
-               zwork1(ji,jj) = trb(ji,jj,ikt,jpgsi) * zwscal (ji,jj)
-               zwork2(ji,jj) = trb(ji,jj,ikt,jppoc) * zwsbio3(ji,jj)
-# else
                zwork1(ji,jj) = trb(ji,jj,ikt,jpgsi) * zwsbio4(ji,jj)
                zwork2(ji,jj) = trb(ji,jj,ikt,jpgoc) * zwsbio4(ji,jj) + trb(ji,jj,ikt,jppoc) * zwsbio3(ji,jj) 
-# endif
                ! For calcite, burial efficiency is made a function of saturation
                zfactcal      = MIN( excess(ji,jj,ikt), 0.2 )
@@ -305,9 +296,5 @@
             zws4 = zwsbio4(ji,jj) * zdep
             zwsc = zwscal (ji,jj) * zdep
-# if defined key_kriest
-            zsiloss = trb(ji,jj,ikt,jpgsi) * zws4
-# else
             zsiloss = trb(ji,jj,ikt,jpgsi) * zwsc
-# endif
             zcaloss = trb(ji,jj,ikt,jpcal) * zwsc
             !
@@ -336,5 +323,4 @@
 #endif
             zrivno3 = 1. - zbureff(ji,jj)
-# if ! defined key_kriest
             trb(ji,jj,ikt,jpgoc) = trb(ji,jj,ikt,jpgoc) - trb(ji,jj,ikt,jpgoc) * zws4
             trb(ji,jj,ikt,jppoc) = trb(ji,jj,ikt,jppoc) - trb(ji,jj,ikt,jppoc) * zws3
@@ -351,17 +337,4 @@
             trn(ji,jj,ikt,jpfep) = trn(ji,jj,ikt,jpfep) - trn(ji,jj,ikt,jpfep) * zwssfep
 #   endif
-# else
-            trb(ji,jj,ikt,jpnum) = trb(ji,jj,ikt,jpnum) - trb(ji,jj,ikt,jpnum) * zws4
-            trb(ji,jj,ikt,jppoc) = trb(ji,jj,ikt,jppoc) - trb(ji,jj,ikt,jppoc) * zws3
-            trb(ji,jj,ikt,jppon) = trb(ji,jj,ikt,jppon) - trb(ji,jj,ikt,jppon) * zws3
-            trb(ji,jj,ikt,jppop) = trb(ji,jj,ikt,jppop) - trb(ji,jj,ikt,jppop) * zws3
-            trb(ji,jj,ikt,jpsfe) = trb(ji,jj,ikt,jpsfe) - trb(ji,jj,ikt,jpsfe) * zws3
-            zwstpop = trb(ji,jj,ikt,jppop) * zws3
-            zwstpon = trb(ji,jj,ikt,jppon) * zws3
-            zwstpoc = trb(ji,jj,ikt,jppoc) * zws3 
-#   if defined key_ligand
-            trn(ji,jj,ikt,jpfep) = trn(ji,jj,ikt,jpfep) - trn(ji,jj,ikt,jpfep) * zwssfep
-#   endif
-# endif
 
 #if ! defined key_sed
@@ -405,9 +378,5 @@
                zlim = ( 1.- xdiano3 - xdianh4 )
                IF( zlim <= 0.1 )   zlim = 0.01
-#if defined key_degrad
-               zfact = zlim * rfact2 * facvol(ji,jj,jk)
-#else
                zfact = zlim * rfact2
-#endif
                ztrfer = biron(ji,jj,jk) / ( concfediaz + biron(ji,jj,jk) )
                ztrpo4(ji,jj,jk) = trb(ji,jj,jk,jppo4) / ( 1E-6 + trb(ji,jj,jk,jppo4) )
Index: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zsink.F90
===================================================================
--- branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zsink.F90	(revision 7627)
+++ branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zsink.F90	(revision 8003)
@@ -40,7 +40,5 @@
    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   sinkcal, sinksil   !: CaCO3 and BSi sinking fluxes
    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   sinkfer            !: Small BFe sinking fluxes
-#if ! defined key_kriest
    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   sinkfer2           !: Big iron sinking fluxes
-#endif
 #if defined key_ligand
    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   sinkfep      !: Fep sinking fluxes
@@ -49,26 +47,4 @@
 
    INTEGER  :: ik100
-
-#if  defined key_kriest
-   REAL(wp) ::  xkr_sfact    !: Sinking factor
-   REAL(wp) ::  xkr_stick    !: Stickiness
-   REAL(wp) ::  xkr_nnano    !: Nbr of cell in nano size class
-   REAL(wp) ::  xkr_ndiat    !: Nbr of cell in diatoms size class
-   REAL(wp) ::  xkr_nmicro   !: Nbr of cell in microzoo size class
-   REAL(wp) ::  xkr_nmeso    !: Nbr of cell in mesozoo  size class
-   REAL(wp) ::  xkr_naggr    !: Nbr of cell in aggregates  size class
-
-   REAL(wp) ::  xkr_frac 
-
-   REAL(wp), PUBLIC ::  xkr_dnano       !: Size of particles in nano pool
-   REAL(wp), PUBLIC ::  xkr_ddiat       !: Size of particles in diatoms pool
-   REAL(wp), PUBLIC ::  xkr_dmicro      !: Size of particles in microzoo pool
-   REAL(wp), PUBLIC ::  xkr_dmeso       !: Size of particles in mesozoo pool
-   REAL(wp), PUBLIC ::  xkr_daggr       !: Size of particles in aggregates pool
-   REAL(wp), PUBLIC ::  xkr_wsbio_min   !: min vertical particle speed
-   REAL(wp), PUBLIC ::  xkr_wsbio_max   !: max vertical particle speed
-
-   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) ::   xnumm   !:  maximum number of particles in aggregates
-#endif
 
    !!* Substitution
@@ -81,5 +57,4 @@
 CONTAINS
 
-#if ! defined key_kriest
    !!----------------------------------------------------------------------
    !!   'standard sinking parameterisation'                  ???
@@ -308,353 +283,4 @@
    END SUBROUTINE p5z_sink_init
 
-#else
-   !!----------------------------------------------------------------------
-   !!   'Kriest sinking parameterisation'        key_kriest          ???
-   !!----------------------------------------------------------------------
-
-   SUBROUTINE p5z_sink ( kt, knt )
-      !!---------------------------------------------------------------------
-      !!                ***  ROUTINE p5z_sink  ***
-      !!
-      !! ** Purpose :   Compute vertical flux of particulate matter due to
-      !!              gravitational sinking - Kriest parameterization
-      !!
-      !! ** Method  : - ???
-      !!---------------------------------------------------------------------
-      !
-      INTEGER, INTENT(in) :: kt, knt
-      !
-      INTEGER  :: ji, jj, jk, jit, niter1, niter2
-      REAL(wp) :: znum , zeps, zfm, zgm, zsm, zfactn, zfactp
-      REAL(wp) :: zdiv , zdiv1, zdiv2, zdiv3, zdiv4, zdiv5
-      REAL(wp) :: zval1, zval2, zval3, zval4
-      CHARACTER (len=25) :: charout
-      REAL(wp), POINTER, DIMENSION(:,:,:) :: znum3d 
-      REAL(wp), POINTER, DIMENSION(:,:,:) :: zw3d
-      REAL(wp), POINTER, DIMENSION(:,:  ) :: zw2d
-      !!---------------------------------------------------------------------
-      !
-      IF( nn_timing == 1 )  CALL timing_start('p5z_sink')
-      !
-      CALL wrk_alloc( jpi, jpj, jpk, znum3d )
-      !
-      !     Initialisation of variables used to compute Sinking Speed
-      !     ---------------------------------------------------------
-
-      znum3d(:,:,:) = 0.e0
-      zval1 = 1. + xkr_zeta
-      zval2 = 1. + xkr_zeta + xkr_eta
-      zval3 = 1. + xkr_eta
-
-      !     Computation of the vertical sinking speed : Kriest et Evans, 2000
-      !     -----------------------------------------------------------------
-
-      DO jk = 1, jpkm1
-         DO jj = 1, jpj
-            DO ji = 1, jpi
-               IF( tmask(ji,jj,jk) /= 0.e0 ) THEN
-                  znum = trb(ji,jj,jk,jppoc) / ( trb(ji,jj,jk,jpnum) + rtrn ) / xkr_massp
-                  ! -------------- To avoid sinking speed over 50 m/day -------
-                  znum  = MIN( xnumm(jk), znum )
-                  znum  = MAX( 1.1      , znum )
-                  znum3d(ji,jj,jk) = znum
-                  !------------------------------------------------------------
-                  zeps  = ( zval1 * znum - 1. )/ ( znum - 1. )
-                  zfm   = xkr_frac**( 1. - zeps )
-                  zgm   = xkr_frac**( zval1 - zeps )
-                  zdiv  = MAX( 1.e-4, ABS( zeps - zval2 ) ) * SIGN( 1., ( zeps - zval2 ) )
-                  zdiv1 = zeps - zval3
-                  wsbio3(ji,jj,jk) = xkr_wsbio_min * ( zeps - zval1 ) / zdiv    &
-                     &             - xkr_wsbio_max *   zgm * xkr_eta  / zdiv
-                  wsbio4(ji,jj,jk) = xkr_wsbio_min *   ( zeps-1. )    / zdiv1   &
-                     &             - xkr_wsbio_max *   zfm * xkr_eta  / zdiv1
-                  IF( znum == 1.1)   wsbio3(ji,jj,jk) = wsbio4(ji,jj,jk)
-               ENDIF
-            END DO
-         END DO
-      END DO
-
-      wscal(:,:,:) = MAX( wsbio3(:,:,:), 30._wp )
-#if defined key_ligand
-      wsfep (:,:,:) = wfep
-#endif
-
-      !   INITIALIZE TO ZERO ALL THE SINKING ARRAYS
-      !   -----------------------------------------
-
-      sinking (:,:,:) = 0.e0
-      sinkingn(:,:,:) = 0.e0
-      sinkingp(:,:,:) = 0.e0
-      sinking2(:,:,:) = 0.e0
-      sinkcal (:,:,:) = 0.e0
-      sinkfer (:,:,:) = 0.e0
-      sinksil (:,:,:) = 0.e0
-#if defined key_ligand
-      sinkfep(:,:,:) = 0.e0
-#endif
-
-     !   Compute the sedimentation term using p4zsink2 for all the sinking particles
-     !   -----------------------------------------------------
-
-      niter1 = niter1max
-      niter2 = niter2max
-
-      DO jit = 1, niter1
-        CALL p4z_sink2( wsbio3, sinking , jppoc, niter1 )
-        CALL p4z_sink2( wsbio3, sinkingn, jppon, niter1 )
-        CALL p4z_sink2( wsbio3, sinkingp, jppop, niter1 )
-        CALL p4z_sink2( wsbio3, sinkfer , jpsfe, niter1 )
-        CALL p4z_sink2( wscal , sinksil , jpgsi, niter1 )
-        CALL p4z_sink2( wscal , sinkcal , jpcal, niter1 )
-#if defined key_ligand
-        CALL p4z_sink2( wsfep , sinkfep , jpfep, niter1 )
-#endif
-      END DO
-
-      DO jit = 1, niter2
-        CALL p4z_sink2( wsbio4, sinking2, jpnum, niter2 )
-      END DO
-
-     ! Total carbon export per year
-     IF( iom_use( "tcexp" ) .OR. ( ln_check_mass .AND. kt == nitend .AND. knt == nrdttrc )  )  &
-        &   t_oce_co2_exp = glob_sum( ( sinking(:,:,ik100) + sinking2(:,:,ik100) ) * e1e2t(:,:) * tmask(:,:,1) )
-     !
-     IF( lk_iomput ) THEN
-       IF( knt == nrdttrc ) THEN
-          CALL wrk_alloc( jpi, jpj,      zw2d )
-          CALL wrk_alloc( jpi, jpj, jpk, zw3d )
-          zfact = 1.e+3 * rfact2r  !  conversion from mol/l/kt to  mol/m3/s
-          !
-          IF( iom_use( "EPC100" ) )  THEN
-              zw2d(:,:) = ( sinking(:,:,ik100) + sinking2(:,:,ik100) ) * zfact * tmask(:,:,1) ! Export of carbon at 100m
-              CALL iom_put( "EPC100"  , zw2d )
-          ENDIF
-          IF( iom_use( "EPFE100" ) )  THEN
-              zw2d(:,:) = ( sinkfer(:,:,ik100) + sinkfer2(:,:,ik100) ) * zfact * tmask(:,:,1) ! Export of iron at 100m
-              CALL iom_put( "EPFE100"  , zw2d )
-          ENDIF
-          IF( iom_use( "EPCAL100" ) )  THEN
-              zw2d(:,:) = sinkcal(:,:,ik100) * zfact * tmask(:,:,1) ! Export of calcite at 100m
-              CALL iom_put( "EPCAL100"  , zw2d )
-          ENDIF
-          IF( iom_use( "EPSI100" ) )  THEN
-              zw2d(:,:) =  sinksil(:,:,ik100) * zfact * tmask(:,:,1) ! Export of bigenic silica at 100m
-              CALL iom_put( "EPSI100"  , zw2d )
-          ENDIF
-          IF( iom_use( "EXPC" ) )  THEN
-              zw3d(:,:,:) = ( sinking(:,:,:) + sinking2(:,:,:) ) * zfact * tmask(:,:,:) ! Export of carbon in the water column
-              CALL iom_put( "EXPC"  , zw3d )
-          ENDIF
-          IF( iom_use( "EXPFE" ) )  THEN
-              zw3d(:,:,:) = ( sinkfer(:,:,:) + sinkfer2(:,:,:) ) * zfact * tmask(:,:,:) ! Export of iron 
-              CALL iom_put( "EXPFE"  , zw3d )
-          ENDIF
-          IF( iom_use( "EXPCAL" ) )  THEN
-              zw3d(:,:,:) = sinkcal(:,:,:) * zfact * tmask(:,:,:) ! Export of calcite 
-              CALL iom_put( "EXPCAL"  , zw3d )
-          ENDIF
-          IF( iom_use( "EXPSI" ) )  THEN
-              zw3d(:,:,:) = sinksil(:,:,:) * zfact * tmask(:,:,:) ! Export of bigenic silica
-              CALL iom_put( "EXPSI"  , zw3d )
-          ENDIF
-          IF( iom_use( "XNUM" ) )  THEN
-              zw3d(:,:,:) =  znum3d(:,:,:) * tmask(:,:,:) !  Number of particles on aggregats
-              CALL iom_put( "XNUM"  , zw3d )
-          ENDIF
-          IF( iom_use( "WSC" ) )  THEN
-              zw3d(:,:,:) = wsbio3(:,:,:) * tmask(:,:,:) ! Sinking speed of carbon particles
-              CALL iom_put( "WSC"  , zw3d )
-          ENDIF
-          IF( iom_use( "WSN" ) )  THEN
-              zw3d(:,:,:) = wsbio4(:,:,:) * tmask(:,:,:) ! Sinking speed of particles number
-              CALL iom_put( "WSN"  , zw3d )
-          ENDIF
-          IF( iom_use( "tcexp" ) )  CALL iom_put( "tcexp" , t_oce_co2_exp * zfact )   ! molC/s
-          ! 
-          CALL wrk_dealloc( jpi, jpj,      zw2d )
-          CALL wrk_dealloc( jpi, jpj, jpk, zw3d )
-        ENDIF
-     ELSE
-        IF( ln_diatrc ) THEN
-            zfact = 1.e3 * rfact2r
-            trc2d(:,:,jp_pcs0_2d + 4) = sinking (:,:,ik100) * zfact * tmask(:,:,1)
-            trc2d(:,:,jp_pcs0_2d + 5) = sinking2(:,:,ik100) * zfact * tmask(:,:,1)
-            trc2d(:,:,jp_pcs0_2d + 6) = sinkfer (:,:,ik100) * zfact * tmask(:,:,1)
-            trc2d(:,:,jp_pcs0_2d + 7) = sinkfer2(:,:,ik100) * zfact * tmask(:,:,1)
-            trc2d(:,:,jp_pcs0_2d + 8) = sinksil (:,:,ik100) * zfact * tmask(:,:,1)
-            trc2d(:,:,jp_pcs0_2d + 9) = sinkcal (:,:,ik100) * zfact * tmask(:,:,1)
-        ENDIF
-     ENDIF
-     !
-     IF(ln_ctl)   THEN  ! print mean trends (used for debugging)
-         WRITE(charout, FMT="('sink')")
-         CALL prt_ctl_trc_info(charout)
-         CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm)
-     ENDIF
-     !
-     CALL wrk_dealloc( jpi, jpj, jpk, znum3d )
-     !
-     IF( nn_timing == 1 )  CALL timing_stop('p5z_sink')
-     !
-   END SUBROUTINE p5z_sink
-
-
-   SUBROUTINE p5z_sink_init
-      !!----------------------------------------------------------------------
-      !!                  ***  ROUTINE p5z_sink_init  ***
-      !!
-      !! ** Purpose :   Initialization of sinking parameters
-      !!                Kriest parameterization only
-      !!
-      !! ** Method  :   Read the nampiskrs namelist and check the parameters
-      !!      called at the first timestep 
-      !!
-      !! ** input   :   Namelist nampiskrs
-      !!----------------------------------------------------------------------
-      INTEGER  ::   jk, jn, kiter
-      INTEGER  ::   ios                 ! Local integer output status for namelist read
-      REAL(wp) ::   znum, zdiv
-      REAL(wp) ::   zws, zwr, zwl,wmax, znummax
-      REAL(wp) ::   zmin, zmax, zl, zr, xacc
-      !
-      NAMELIST/nampiskrs/ xkr_sfact, xkr_stick ,  &
-         &                xkr_nnano, xkr_ndiat, xkr_nmicro, xkr_nmeso, xkr_naggr
-      !!----------------------------------------------------------------------
-      !
-      IF( nn_timing == 1 )  CALL timing_start('p5z_sink_init')
-      !
-
-      REWIND( numnatp_ref )              ! Namelist nampiskrs in reference namelist : Pisces sinking Kriest
-      READ  ( numnatp_ref, nampiskrs, IOSTAT = ios, ERR = 901)
-901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampiskrs in reference namelist', lwp )
-
-      REWIND( numnatp_cfg )              ! Namelist nampiskrs in configuration namelist : Pisces sinking Kriest
-      READ  ( numnatp_cfg, nampiskrs, IOSTAT = ios, ERR = 902 )
-902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampiskrs in configuration namelist', lwp )
-      IF(lwm) WRITE ( numonp, nampiskrs )
-
-      IF(lwp) THEN
-         WRITE(numout,*)
-         WRITE(numout,*) ' Namelist : nampiskrs'
-         WRITE(numout,*) '    Sinking factor                           xkr_sfact    = ', xkr_sfact
-         WRITE(numout,*) '    Stickiness                               xkr_stick    = ', xkr_stick
-         WRITE(numout,*) '    Nbr of cell in nano size class           xkr_nnano    = ', xkr_nnano
-         WRITE(numout,*) '    Nbr of cell in diatoms size class        xkr_ndiat    = ', xkr_ndiat
-         WRITE(numout,*) '    Nbr of cell in microzoo size class       xkr_nmicro   = ', xkr_nmicro
-         WRITE(numout,*) '    Nbr of cell in mesozoo size class        xkr_nmeso    = ', xkr_nmeso
-         WRITE(numout,*) '    Nbr of cell in aggregates size class     xkr_naggr    = ', xkr_naggr
-      ENDIF
-
-
-      ! max and min vertical particle speed
-      xkr_wsbio_min = xkr_sfact * xkr_mass_min**xkr_eta
-      xkr_wsbio_max = xkr_sfact * xkr_mass_max**xkr_eta
-      IF (lwp) WRITE(numout,*) ' max and min vertical particle speed ', xkr_wsbio_min, xkr_wsbio_max
-
-      !
-      !    effect of the sizes of the different living pools on particle numbers
-      !    nano = 2um-20um -> mean size=6.32 um -> ws=2.596 -> xnum=xnnano=2.337
-      !    diat and microzoo = 10um-200um -> 44.7 -> 8.732 -> xnum=xndiat=3.718
-      !    mesozoo = 200um-2mm -> 632.45 -> 45.14 -> xnum=xnmeso=7.147
-      !    aggregates = 200um-10mm -> 1414 -> 74.34 -> xnum=xnaggr=9.877
-      !    doc aggregates = 1um
-      ! ----------------------------------------------------------
-
-      xkr_dnano = 1. / ( xkr_massp * xkr_nnano )
-      xkr_ddiat = 1. / ( xkr_massp * xkr_ndiat )
-      xkr_dmicro = 1. / ( xkr_massp * xkr_nmicro )
-      xkr_dmeso = 1. / ( xkr_massp * xkr_nmeso )
-      xkr_daggr = 1. / ( xkr_massp * xkr_naggr )
-
-      !!---------------------------------------------------------------------
-      !!    'key_kriest'                                                  ???
-      !!---------------------------------------------------------------------
-      !  COMPUTATION OF THE VERTICAL PROFILE OF MAXIMUM SINKING SPEED
-      !  Search of the maximum number of particles in aggregates for each k-level.
-      !  Bissection Method
-      !--------------------------------------------------------------------
-      IF (lwp) THEN
-        WRITE(numout,*)
-        WRITE(numout,*)'    kriest : Compute maximum number of particles in aggregates'
-      ENDIF
-
-      xacc     =  0.001_wp
-      kiter    = 50
-      zmin     =  1.10_wp
-      zmax     = xkr_mass_max / xkr_mass_min
-      xkr_frac = zmax
-
-      DO jk = 1,jpk
-         zl = zmin
-         zr = zmax
-         wmax = 0.5 * fse3t(1,1,jk) * rday * float(niter1max) / rfact2
-         zdiv = xkr_zeta + xkr_eta - xkr_eta * zl
-         znum = zl - 1.
-         zwl =  xkr_wsbio_min * xkr_zeta / zdiv &
-            & - ( xkr_wsbio_max * xkr_eta * znum * &
-            &     xkr_frac**( -xkr_zeta / znum ) / zdiv ) &
-            & - wmax
-
-         zdiv = xkr_zeta + xkr_eta - xkr_eta * zr
-         znum = zr - 1.
-         zwr =  xkr_wsbio_min * xkr_zeta / zdiv &
-            & - ( xkr_wsbio_max * xkr_eta * znum * &
-            &     xkr_frac**( -xkr_zeta / znum ) / zdiv ) &
-            & - wmax
-iflag:   DO jn = 1, kiter
-            IF    ( zwl == 0._wp ) THEN   ;   znummax = zl
-            ELSEIF( zwr == 0._wp ) THEN   ;   znummax = zr
-            ELSE
-               znummax = ( zr + zl ) / 2.
-               zdiv = xkr_zeta + xkr_eta - xkr_eta * znummax
-               znum = znummax - 1.
-               zws =  xkr_wsbio_min * xkr_zeta / zdiv &
-                  & - ( xkr_wsbio_max * xkr_eta * znum * &
-                  &     xkr_frac**( -xkr_zeta / znum ) / zdiv ) &
-                  & - wmax
-               IF( zws * zwl < 0. ) THEN   ;   zr = znummax
-               ELSE                        ;   zl = znummax
-               ENDIF
-               zdiv = xkr_zeta + xkr_eta - xkr_eta * zl
-               znum = zl - 1.
-               zwl =  xkr_wsbio_min * xkr_zeta / zdiv &
-                  & - ( xkr_wsbio_max * xkr_eta * znum * &
-                  &     xkr_frac**( -xkr_zeta / znum ) / zdiv ) &
-                  & - wmax
-
-               zdiv = xkr_zeta + xkr_eta - xkr_eta * zr
-               znum = zr - 1.
-               zwr =  xkr_wsbio_min * xkr_zeta / zdiv &
-                  & - ( xkr_wsbio_max * xkr_eta * znum * &
-                  &     xkr_frac**( -xkr_zeta / znum ) / zdiv ) &
-                  & - wmax
-               !
-               IF ( ABS ( zws )  <= xacc ) EXIT iflag
-               !
-            ENDIF
-            !
-         END DO iflag
-
-         xnumm(jk) = znummax
-         IF (lwp) WRITE(numout,*) '       jk = ', jk, ' wmax = ', wmax,' xnum max = ', xnumm(jk)
-         !
-      END DO
-      !
-      ik100 = 10        !  last level where depth less than 100 m
-      DO jk = jpkm1, 1, -1
-         IF( gdept_1d(jk) > 100. )  ik100 = jk - 1
-      END DO
-      IF (lwp) WRITE(numout,*)
-      IF (lwp) WRITE(numout,*) ' Level corresponding to 100m depth ',  ik100 + 1
-      IF (lwp) WRITE(numout,*)
-      !
-      t_oce_co2_exp = 0._wp
-      !
-      IF( nn_timing == 1 )  CALL timing_stop('p5z_sink_init')
-      !
-  END SUBROUTINE p5z_sink_init
-
-#endif
-
    SUBROUTINE p4z_sink2( pwsink, psinkflx, jp_tra, kiter )
       !!---------------------------------------------------------------------
@@ -782,9 +408,5 @@
 
          &      sinkcal(jpi,jpj,jpk) , sinksil (jpi,jpj,jpk)   ,     &    
-#if defined key_kriest
-         &      xnumm(jpk)                                                        ,     &                
-#else
          &      sinkfer2(jpi,jpj,jpk)                                             ,     &                
-#endif
 #if defined key_ligand
          &      wsfep(jpi,jpj,jpk)  , sinkfep(jpi,jpj,jpk)     ,     &
Index: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zsms.F90
===================================================================
--- branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zsms.F90	(revision 7627)
+++ branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zsms.F90	(revision 8003)
@@ -72,7 +72,4 @@
       INTEGER ::   ji,jj,jk,knt, jn, jl
       REAL(wp) ::  ztra
-#if defined key_kriest
-      REAL(wp) ::  zcoef1, zcoef2
-#endif
       CHARACTER (len=25) :: charout
       !!---------------------------------------------------------------------
@@ -166,15 +163,4 @@
          ENDIF
       END DO
-
-#if defined key_kriest
-      ! 
-      zcoef1 = 1.e0 / xkr_massp
-      zcoef2 = 1.e0 / xkr_massp / 1.1
-      DO jk = 1,jpkm1
-         trb(:,:,jk,jpnum) = MAX(  trb(:,:,jk,jpnum), trb(:,:,jk,jppoc) * zcoef1 / xnumm(jk)  )
-         trb(:,:,jk,jpnum) = MIN(  trb(:,:,jk,jpnum), trb(:,:,jk,jppoc) * zcoef2              )
-      END DO
-      !
-#endif
       !
       !
@@ -213,5 +199,4 @@
       !! ** input   :   file 'namelist.trc.s' containing the following
       !!             namelist: natext, natbio, natsms
-      !!                       natkriest ("key_kriest")
       !!----------------------------------------------------------------------
 #if defined key_ligand
@@ -221,7 +206,4 @@
       NAMELIST/nampisbio/ nrdttrc, wsbio, xkmort, ferat3, no3rat3, po4rat3, wsbio2,    &
       &                   wsbio2max, wsbio2scale, niter1max, niter2max
-#endif
-#if defined key_kriest
-      NAMELIST/nampiskrp/ xkr_eta, xkr_zeta, xkr_ncontent, xkr_mass_min, xkr_mass_max
 #endif
       NAMELIST/nampisdmp/ ln_pisdmp, nn_pisdmp
@@ -257,34 +239,4 @@
       ENDIF
 
-#if defined key_kriest
-
-      !                               ! nampiskrp : kriest parameters
-      !                               ! -----------------------------
-      REWIND( numnatp_ref )              ! Namelist nampiskrp in reference namelist : Pisces Kriest
-      READ  ( numnatp_ref, nampiskrp, IOSTAT = ios, ERR = 903)
-903   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampiskrp in reference namelist', lwp )
-
-      REWIND( numnatp_cfg )              ! Namelist nampiskrp in configuration namelist : Pisces Kriest
-      READ  ( numnatp_cfg, nampiskrp, IOSTAT = ios, ERR = 904 )
-904   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampiskrp in configuration namelist', lwp )
-      IF(lwm) WRITE ( numonp, nampiskrp )
-
-      IF(lwp) THEN
-         WRITE(numout,*)
-         WRITE(numout,*) ' Namelist : nampiskrp'
-         WRITE(numout,*) '    Sinking  exponent                        xkr_eta      = ', xkr_eta
-         WRITE(numout,*) '    N content exponent                       xkr_zeta     = ', xkr_zeta
-         WRITE(numout,*) '    N content factor                         xkr_ncontent = ', xkr_ncontent
-         WRITE(numout,*) '    Minimum mass for Aggregates              xkr_mass_min = ', xkr_mass_min
-         WRITE(numout,*) '    Maximum mass for Aggregates              xkr_mass_max = ', xkr_mass_max
-         WRITE(numout,*)
-     ENDIF
-
-
-     ! Computation of some variables
-     xkr_massp = xkr_ncontent * 7.625 * xkr_mass_min**xkr_zeta
-
-#endif
-
       REWIND( numnatp_ref )              ! Namelist nampisdmp in reference namelist : Pisces damping
       READ  ( numnatp_ref, nampisdmp, IOSTAT = ios, ERR = 905)
@@ -492,7 +444,5 @@
             &                    + (trn(:,:,:,jpzoo) + trn(:,:,:,jpmes)) * no3rat3  &
             &                    + trn(:,:,:,jppon) + trn(:,:,:,jpnpi) &
-#if ! defined key_kriest
             &                    + trn(:,:,:,jpgon)                     &
-#endif
             &                    + trn(:,:,:,jpdon)                     ) * cvol(:,:,:)  ) 
          ! 
@@ -506,7 +456,5 @@
             &                    + (trn(:,:,:,jpzoo) + trn(:,:,:,jpmes)) * po4rat3  &
             &                    + trn(:,:,:,jppop) + trn(:,:,:,jpppi)  &
-#if ! defined key_kriest
             &                    + trn(:,:,:,jpgop)                     &
-#endif
             &                    + trn(:,:,:,jpdop)                     ) * cvol(:,:,:)  )
          po4budget = po4budget / areatot
@@ -535,7 +483,5 @@
          ferbudget = glob_sum( (   trn(:,:,:,jpfer) + trn(:,:,:,jpnfe)  &
             &                    + trn(:,:,:,jpdfe) + trn(:,:,:,jppfe)  &
-#if ! defined key_kriest
             &                    + trn(:,:,:,jpbfe)                     &
-#endif
 #if defined key_ligand
             &                    + trn(:,:,:,jpfep)                     &
Index: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/SED/sed.F90
===================================================================
--- branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/SED/sed.F90	(revision 7627)
+++ branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/SED/sed.F90	(revision 8003)
@@ -40,7 +40,5 @@
 
    USE p4zsink , ONLY :  sinking    =>   sinking         !: sinking flux for POC
-#if ! defined key_kriest
    USE p4zsink , ONLY :  sinking2   =>   sinking2        !: sinking flux for GOC
-#endif
    USE p4zsink , ONLY :  sinkcal    =>   sinkcal         !: sinking flux for calcite
    USE p4zsink , ONLY :  sinksil    =>   sinksil         !: sinking flux for opal ( dsi )
Index: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/SED/seddta.F90
===================================================================
--- branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/SED/seddta.F90	(revision 7627)
+++ branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/SED/seddta.F90	(revision 8003)
@@ -55,7 +55,5 @@
 
       REAL(wp), DIMENSION(:,:), ALLOCATABLE :: zdta
-#if ! defined key_kriest
       REAL(wp), DIMENSION(:)  , ALLOCATABLE :: zdtap, zdtag
-#endif 
 
 
@@ -98,9 +96,7 @@
 
 
-#if ! defined key_kriest   
       ! Initialization of temporaries arrays  
       ALLOCATE( zdtap(jpoce) )    ;   zdtap(:)    = 0. 
       ALLOCATE( zdtag(jpoce) )    ;   zdtag(:)    = 0.  
-#endif
 
 
@@ -122,5 +118,4 @@
                   trc_data(ji,jj,5)  = trn  (ji,jj,ikt,jpoxy)
                   trc_data(ji,jj,6)  = trn  (ji,jj,ikt,jpsil)
-#   if ! defined key_kriest
                   trc_data(ji,jj,7 ) = sinksil (ji,jj,ikt)
                   trc_data(ji,jj,8 ) = sinking (ji,jj,ikt)
@@ -129,11 +124,4 @@
                   trc_data(ji,jj,11) = tsn     (ji,jj,ikt,jp_tem)
                   trc_data(ji,jj,12) = tsn     (ji,jj,ikt,jp_sal)
-#   else
-                  trc_data(ji,jj,7 ) = sinksil (ji,jj,ikt)
-                  trc_data(ji,jj,8 ) = sinking (ji,jj,ikt)
-                  trc_data(ji,jj,9 ) = sinkcal (ji,jj,ikt)
-                  trc_data(ji,jj,10) = tsn     (ji,jj,ikt,jp_tem)
-                  trc_data(ji,jj,11) = tsn     (ji,jj,ikt,jp_sal)       
-#   endif
                ENDIF
             ENDDO
@@ -147,5 +135,4 @@
          CALL iom_get( numbio, jpdom_data, 'O2BOT'      , trc_data(:,:,5 ) )
          CALL iom_get( numbio, jpdom_data, 'SIBOT'      , trc_data(:,:,6 ) )
-#   if ! defined key_kriest
          CALL iom_get( numbio, jpdom_data, 'OPALFLXBOT' , trc_data(:,:,7 ) ) 
          CALL iom_get( numbio, jpdom_data, 'POCFLXBOT'  , trc_data(:,:,8 ) ) 
@@ -154,11 +141,4 @@
          CALL iom_get( numoce, jpdom_data, 'TBOT'       , trc_data(:,:,11) ) 
          CALL iom_get( numoce, jpdom_data, 'SBOT'       , trc_data(:,:,12) ) 
-#   else
-         CALL iom_get( numbio, jpdom_data, 'OPALFLXBOT' , trc_data(:,:,7 ) ) 
-         CALL iom_get( numbio, jpdom_data, 'POCFLXBOT'  , trc_data(:,:,8 ) ) 
-         CALL iom_get( numbio, jpdom_data, 'CACO3FLXBOT', trc_data(:,:,9 ) ) 
-         CALL iom_get( numoce, jpdom_data, 'TBOT'       , trc_data(:,:,10) ) 
-         CALL iom_get( numoce, jpdom_data, 'SBOT'       , trc_data(:,:,11) ) 
-#   endif
 #endif
 
@@ -186,5 +166,4 @@
          !  Solid components : 
          !-----------------------
-#if ! defined key_kriest
          !  Sinking fluxes for OPAL in mol.m-2.s-1 ; conversion in mol.cm-2.s-1
          CALL pack_arr ( jpoce, rainrm_dta(1:jpoce,jsopal), trc_data(1:jpi,1:jpj,7), iarroce(1:jpoce) ) 
@@ -200,19 +179,4 @@
          CALL pack_arr ( jpoce,  temp(1:jpoce), trc_data(1:jpi,1:jpj,11), iarroce(1:jpoce) )
          CALL pack_arr ( jpoce,  salt(1:jpoce), trc_data(1:jpi,1:jpj,12), iarroce(1:jpoce) )
-#else
-         !  Sinking fluxes for OPAL in mol.m-2.s-1 ; conversion in mol.cm-2.s-1
-         CALL pack_arr ( jpoce, rainrm_dta(1:jpoce,jsopal), trc_data(1:jpi,1:jpj,7), iarroce(1:jpoce) ) 
-         rainrm_dta(1:jpoce,jsopal) = rainrm_dta(1:jpoce,jsopal) * 1e-4
-         !  Sinking fluxes for POC in mol.m-2.s-1 ; conversion in mol.cm-2.s-1
-         CALL pack_arr ( jpoce, rainrm_dta(1:jpoce,jspoc), trc_data(1:jpi,1:jpj,8) , iarroce(1:jpoce) )      
-         rainrm_dta(1:jpoce,jspoc) = rainrm_dta(1:jpoce,jspoc) * 1e-4
-         !  Sinking fluxes for Calcite in mol.m-2.s-1 ; conversion in mol.cm-2.s-1
-         CALL pack_arr ( jpoce,  rainrm_dta(1:jpoce,jscal), trc_data(1:jpi,1:jpj,9), iarroce(1:jpoce) )
-         rainrm_dta(1:jpoce,jscal) = rainrm_dta(1:jpoce,jscal) * 1e-4
-         ! vector temperature [°C] and salinity 
-         CALL pack_arr ( jpoce,  temp(1:jpoce), trc_data(1:jpi,1:jpj,10), iarroce(1:jpoce) )
-         CALL pack_arr ( jpoce,  salt(1:jpoce), trc_data(1:jpi,1:jpj,11), iarroce(1:jpoce) )
-
-#endif
         
          ! Clay rain rate in [mol/(cm**2.s)] 
@@ -252,7 +216,5 @@
 
       DEALLOCATE( zdta ) 
-#if ! defined key_kriest
       DEALLOCATE( zdtap    ) ;  DEALLOCATE( zdtag    ) 
-#endif      
 
       IF( kt == nitsedend )   THEN
Index: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/par_pisces.F90
===================================================================
--- branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/par_pisces.F90	(revision 7627)
+++ branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/par_pisces.F90	(revision 8003)
@@ -38,17 +38,8 @@
 #elif defined key_pisces
    !!---------------------------------------------------------------------
-   !!   'key_pisces' & 'key_kriest'                 PISCES bio-model + ???
+   !!   'key_pisces'                                PISCES bio-model + ???
    !!---------------------------------------------------------------------
    LOGICAL, PUBLIC, PARAMETER ::   lk_pisces      = .TRUE.  !: PISCES flag 
    INTEGER, PUBLIC, PARAMETER ::   nn_p4z         =  2      !: p4z flag 
-#  if defined key_kriest
-   LOGICAL, PUBLIC, PARAMETER ::   lk_kriest      = .TRUE.  !: Kriest flag 
-   INTEGER, PUBLIC, PARAMETER ::   jp_kriest      =  1 
-   INTEGER, PUBLIC, PARAMETER ::   jp_kriest_diag =  7
-#  else
-   LOGICAL, PUBLIC, PARAMETER ::   lk_kriest      = .FALSE.  !: Kriest flag 
-   INTEGER, PUBLIC, PARAMETER ::   jp_kriest      =  2 
-   INTEGER, PUBLIC, PARAMETER ::   jp_kriest_diag =  0
-#  endif
 #  if defined key_ligand
    LOGICAL, PUBLIC, PARAMETER ::   lk_ligand      = .TRUE.  !: Kriest flag 
@@ -60,7 +51,7 @@
    INTEGER, PUBLIC, PARAMETER ::   jp_ligand_diag =  0
 #  endif
-   INTEGER, PUBLIC, PARAMETER ::   jp_pisces      =  22 + jp_kriest + jp_ligand            !: number of passive tracers
+   INTEGER, PUBLIC, PARAMETER ::   jp_pisces      =  24 + jp_ligand            !: number of passive tracers
    INTEGER, PUBLIC, PARAMETER ::   jp_pisces_2d   =  13                                    !: additional 2d output 
-   INTEGER, PUBLIC, PARAMETER ::   jp_pisces_3d   =  13 + jp_kriest_diag + jp_ligand_diag  !: additional 3d output 
+   INTEGER, PUBLIC, PARAMETER ::   jp_pisces_3d   =  13 + jp_ligand_diag  !: additional 3d output 
    INTEGER, PUBLIC, PARAMETER ::   jp_pisces_trd  =   1                                    !: number of sms trends for PISCES
 
@@ -90,30 +81,17 @@
    INTEGER, PUBLIC, PARAMETER ::   jpno3 = 21    !: Nitrates Concentration
    INTEGER, PUBLIC, PARAMETER ::   jpnh4 = 22    !: Ammonium Concentration
-#  if defined key_kriest
-   INTEGER, PUBLIC, PARAMETER ::   jpnum = 23    !: Number of particles in the aggregates
-#  else
    INTEGER, PUBLIC, PARAMETER ::   jpgoc = 23    !: Big OM particles Concentration
    INTEGER, PUBLIC, PARAMETER ::   jpbfe = 24    !: Big iron particles Concentration
-#  endif
 #  if defined key_ligand
-   INTEGER, PUBLIC, PARAMETER ::   jplgw = 22 + jp_kriest + 1    !: Weak Ligands
-   INTEGER, PUBLIC, PARAMETER ::   jpfep = 22 + jp_kriest + 2    !: Fe nanoparticle
+   INTEGER, PUBLIC, PARAMETER ::   jplgw = 24 + 1    !: Weak Ligands
+   INTEGER, PUBLIC, PARAMETER ::   jpfep = 24 + 2    !: Fe nanoparticle
 #  endif
 
 #elif defined key_pisces_quota 
    !!---------------------------------------------------------------------
-   !!   'key_pisces' & 'key_kriest'                 PISCES bio-model + ???
+   !!   'key_pisces'                                PISCES bio-model + ???
    !!---------------------------------------------------------------------
    LOGICAL, PUBLIC, PARAMETER ::   lk_pisces     = .TRUE.  !: PISCES flag 
    INTEGER, PUBLIC, PARAMETER ::   nn_p4z        =  3  !: p4z flag 
-#  if defined key_kriest
-   LOGICAL, PUBLIC, PARAMETER ::   lk_kriest     = .TRUE. !: Kriest flag 
-   INTEGER, PUBLIC, PARAMETER ::   jp_kriest      =  1
-   INTEGER, PUBLIC, PARAMETER ::   jp_kriest_diag =  7
-#  else
-   LOGICAL, PUBLIC, PARAMETER ::   lk_kriest     = .FALSE. !: Kriest flag 
-   INTEGER, PUBLIC, PARAMETER ::   jp_kriest      =  4
-   INTEGER, PUBLIC, PARAMETER ::   jp_kriest_diag =  7
-#  endif
 #  if defined key_ligand
    LOGICAL, PUBLIC, PARAMETER ::   lk_ligand      = .TRUE.  !: Kriest flag 
@@ -125,7 +103,7 @@
    INTEGER, PUBLIC, PARAMETER ::   jp_ligand_diag =  0
 #  endif
-   INTEGER, PUBLIC, PARAMETER ::   jp_pisces      =  35 + jp_kriest + jp_ligand            !: number of passive tracers
+   INTEGER, PUBLIC, PARAMETER ::   jp_pisces      =  39 + jp_ligand            !: number of passive tracers
    INTEGER, PUBLIC, PARAMETER ::   jp_pisces_2d   =  13     !: additional 2d output 
-   INTEGER, PUBLIC, PARAMETER ::   jp_pisces_3d   =  13 + jp_kriest_diag + jp_ligand_diag  !: additional 3d output 
+   INTEGER, PUBLIC, PARAMETER ::   jp_pisces_3d   =  20 + jp_ligand_diag  !: additional 3d output 
    INTEGER, PUBLIC, PARAMETER ::   jp_pisces_trd  =   1     !: number of sms trends for PISCES
 
@@ -168,15 +146,11 @@
    INTEGER, PUBLIC, PARAMETER ::   jppfe = 34    !: small particulate organic phosphorus concentration
    INTEGER, PUBLIC, PARAMETER ::   jppch = 35    !: small particulate organic phosphorus concentration
-#  if defined key_kriest
-   INTEGER, PUBLIC, PARAMETER ::   jpnum = 36    !: Number of particles in the aggregates
-#  else
    INTEGER, PUBLIC, PARAMETER ::   jpgoc = 36    !: Big carbon particles Concentration
    INTEGER, PUBLIC, PARAMETER ::   jpgon = 37    !: Big nitrogen particles Concentration
    INTEGER, PUBLIC, PARAMETER ::   jpgop = 38    !: Big phosphorus particles Concentration
    INTEGER, PUBLIC, PARAMETER ::   jpbfe = 39    !: Big iron particles Concentration
-#  endif
 #  if defined key_ligand
-   INTEGER, PUBLIC, PARAMETER ::   jplgw = 35 + jp_kriest + 1    !: Weak Ligands
-   INTEGER, PUBLIC, PARAMETER ::   jpfep = 35 + jp_kriest + 2    !: Fe nanoparticle
+   INTEGER, PUBLIC, PARAMETER ::   jplgw = 39 + 1    !: Weak Ligands
+   INTEGER, PUBLIC, PARAMETER ::   jpfep = 39 + 2    !: Fe nanoparticle
 #  endif
 
Index: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/sms_pisces.F90
===================================================================
--- branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/sms_pisces.F90	(revision 7627)
+++ branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/sms_pisces.F90	(revision 8003)
@@ -107,13 +107,4 @@
    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   tgfunc2   !: Temp. dependancy of mesozooplankton rates
 
-#if defined key_kriest
-   !!*  Kriest parameter for aggregation
-   REAL(wp) ::   xkr_eta                            !: Sinking  exponent 
-   REAL(wp) ::   xkr_zeta                           !:  N content exponent 
-   REAL(wp) ::   xkr_ncontent                       !:  N content factor   
-   REAL(wp) ::   xkr_massp                          !: 
-   REAL(wp) ::   xkr_mass_min, xkr_mass_max         !:  Minimum, Maximum mass for Aggregates 
-#endif
-
 #endif
 
Index: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/trcice_pisces.F90
===================================================================
--- branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/trcice_pisces.F90	(revision 7627)
+++ branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/trcice_pisces.F90	(revision 8003)
@@ -5,6 +5,4 @@
    !!======================================================================
    !! History :  3.5  ! 2013    (M. Vancoppenolle, O. Aumont, G. Madec), original code
-   !! Comment ! probably not properly done when the second particle export
-   !! scheme (kriest) is used
    !!----------------------------------------------------------------------
 #if defined key_pisces || defined key_pisces_reduced
@@ -107,10 +105,6 @@
       zpisc(jppo4,1) =  5.77e-7_wp / po4r 
       zpisc(jppoc,1) =  1.27e-6_wp  
-#  if ! defined key_kriest
       zpisc(jpgoc,1) =  5.23e-8_wp  
       zpisc(jpbfe,1) =  9.84e-13_wp 
-#  else
-      zpisc(jpnum,1) = 0. ! could not get this value since did not use it
-#  endif
       zpisc(jpsil,1) =  7.36e-6_wp  
       zpisc(jpdsi,1) =  1.07e-7_wp 
@@ -154,10 +148,6 @@
       zpisc(jppo4,2) =  4.09e-7_wp / po4r 
       zpisc(jppoc,2) =  4.05e-7_wp  
-#  if ! defined key_kriest
       zpisc(jpgoc,2) =  2.84e-8_wp  
       zpisc(jpbfe,2) =  7.03e-13_wp 
-#  else
-      zpisc(jpnum,2) =  0.00e-00_wp 
-#  endif
       zpisc(jpsil,2) =  6.87e-6_wp  
       zpisc(jpdsi,2) =  1.73e-7_wp 
@@ -202,10 +192,6 @@
       zpisc(jppo4,3) =  1.88e-6_wp / po4r  
       zpisc(jppoc,3) =  1.13e-6_wp  
-#  if ! defined key_kriest
       zpisc(jpgoc,3) =  2.89e-8_wp  
       zpisc(jpbfe,3) =  5.63e-13_wp 
-#  else
-      zpisc(jpnum,3) =  0.00e-00_wp 
-#  endif
       zpisc(jpsil,3) =  4.96e-5_wp  
       zpisc(jpdsi,3) =  5.63e-7_wp 
@@ -250,10 +236,6 @@
       zpisc(jppo4,4) = 2.85e-9_wp / po4r
       zpisc(jppoc,4) = 4.84e-7_wp
-#  if ! defined key_kriest
       zpisc(jpgoc,4) = 1.05e-8_wp
       zpisc(jpbfe,4) = 4.97e-13_wp
-#  else
-      zpisc(jpnum,4) = 0. ! could not get this value
-#  endif
       zpisc(jpsil,4) = 4.91e-5_wp
       zpisc(jpdsi,4) = 3.25e-7_wp
Index: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/trcini_pisces.F90
===================================================================
--- branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/trcini_pisces.F90	(revision 7627)
+++ branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/trcini_pisces.F90	(revision 8003)
@@ -142,12 +142,8 @@
          trn(:,:,:,jppon) = bioma0
          trn(:,:,:,jppop) = bioma0
-#  if ! defined key_kriest
          trn(:,:,:,jpgoc) = bioma0
          trn(:,:,:,jpgon) = bioma0
          trn(:,:,:,jpgop) = bioma0
          trn(:,:,:,jpbfe) = bioma0 * 5.e-6
-#  else
-         trn(:,:,:,jpnum) = bioma0 / ( 6. * xkr_massp )
-#  endif
          trn(:,:,:,jpsil) = silic1
          trn(:,:,:,jpdsi) = bioma0 * 0.15
@@ -293,10 +289,6 @@
          trn(:,:,:,jppo4) = po4 / po4r
          trn(:,:,:,jppoc) = bioma0
-#  if ! defined key_kriest
          trn(:,:,:,jpgoc) = bioma0
          trn(:,:,:,jpbfe) = bioma0 * 5.e-6
-#  else
-         trn(:,:,:,jpnum) = bioma0 / ( 6. * xkr_massp )
-#  endif
          trn(:,:,:,jpsil) = silic1
          trn(:,:,:,jpdsi) = bioma0 * 0.15
Index: branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/trcnam_pisces.F90
===================================================================
--- branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/trcnam_pisces.F90	(revision 7627)
+++ branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/trcnam_pisces.F90	(revision 8003)
@@ -46,5 +46,4 @@
       !! ** input   :   file 'namelist.trc.sms' containing the following
       !!             namelist: natext, natbio, natsms
-      !!                       natkriest ("key_kriest")
       !!----------------------------------------------------------------------
       !!
@@ -77,88 +76,4 @@
       IF(lwm) CALL ctl_opn( numonp     , 'output.namelist.pis' , 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. )
       !
-      IF( .NOT.lk_iomput .AND. ln_diatrc ) THEN
-         !
-         ! Namelist nampisdia
-         ! -------------------
-         REWIND( numnatp_ref )              ! Namelist nampisdia in reference namelist : Pisces diagnostics
-         READ  ( numnatp_ref, nampisdia, IOSTAT = ios, ERR = 901)
-901      IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisdia in reference namelist', lwp )
-
-         REWIND( numnatp_cfg )              ! Namelist nampisdia in configuration namelist : Pisces diagnostics
-         READ  ( numnatp_cfg, nampisdia, IOSTAT = ios, ERR = 902 )
-902      IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisdia in configuration namelist', lwp )
-         IF(lwm) WRITE ( numonp, nampisdia )
-
-         DO jl = 1, jp_pisces_2d
-            jn = jp_pcs0_2d + jl - 1
-            ctrc2d(jn) = pisdia2d(jl)%sname
-            ctrc2l(jn) = pisdia2d(jl)%lname
-            ctrc2u(jn) = pisdia2d(jl)%units
-         END DO
-
-         DO jl = 1, jp_pisces_3d
-            jn = jp_pcs0_3d + jl - 1
-            ctrc3d(jn) = pisdia3d(jl)%sname
-            ctrc3l(jn) = pisdia3d(jl)%lname
-            ctrc3u(jn) = pisdia3d(jl)%units
-         END DO
-
-         IF(lwp) THEN                   ! control print
-            WRITE(numout,*)
-            WRITE(numout,*) ' Namelist : natadd'
-            DO jl = 1, jp_pisces_3d
-               jn = jp_pcs0_3d + jl - 1
-               WRITE(numout,*) '  3d diag nb : ', jn, '    short name : ', ctrc3d(jn), &
-                 &             '  long name  : ', ctrc3l(jn), '   unit : ', ctrc3u(jn)
-            END DO
-            WRITE(numout,*) ' '
-
-            DO jl = 1, jp_pisces_2d
-               jn = jp_pcs0_2d + jl - 1
-               WRITE(numout,*) '  2d diag nb : ', jn, '    short name : ', ctrc2d(jn), &
-                 &             '  long name  : ', ctrc2l(jn), '   unit : ', ctrc2u(jn)
-            END DO
-            WRITE(numout,*) ' '
-         ENDIF
-         !
-      ENDIF
-
-#if defined key_pisces_reduced
-
-      IF( ( .NOT.lk_iomput .AND. ln_diabio ) .OR. lk_trdmld_trc ) THEN
-         !
-         ! Namelist nampisdbi
-         ! -------------------
-         REWIND( numnatp_ref )              ! Namelist nampisdbi in reference namelist : Pisces add. diagnostics
-         READ  ( numnatp_ref, nampisdbi, IOSTAT = ios, ERR = 903)
-903      IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisdbi in reference namelist', lwp )
-
-         REWIND( numnatp_cfg )              ! Namelist nampisdbi in configuration namelist : Pisces add. diagnostics
-         READ  ( numnatp_cfg, nampisdbi, IOSTAT = ios, ERR = 904 )
-904      IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisdbi in configuration namelist', lwp )
-         IF(lwm) WRITE ( numonp, nampisdbi )
-
-         DO jl = 1, jp_pisces_trd
-            jn = jp_pcs0_trd + jl - 1
-            ctrbio(jl) = pisdiabio(jl)%sname
-            ctrbil(jl) = pisdiabio(jl)%lname
-            ctrbiu(jl) = pisdiabio(jl)%units
-         END DO
-
-         IF(lwp) THEN                   ! control print
-            WRITE(numout,*)
-            WRITE(numout,*) ' Namelist : nampisdbi'
-            DO jl = 1, jp_pisces_trd
-               jn = jp_pcs0_trd + jl - 1
-               WRITE(numout,*) '  biological trend No : ', jn, '    short name : ', ctrbio(jn), &
-                 &             '  long name  : ', ctrbio(jn), '   unit : ', ctrbio(jn)
-            END DO
-            WRITE(numout,*) ' '
-         END IF
-         !
-      END IF
-
-#endif
-
    END SUBROUTINE trc_nam_pisces
 
