Index: /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zche.F90
===================================================================
--- /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zche.F90	(revision 5287)
+++ /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zche.F90	(revision 5288)
@@ -11,8 +11,9 @@
    !!             2.0  !  2007-12  (C. Ethe, G. Madec)  F90
    !!                  !  2011-02  (J. Simeon, J.Orr ) update O2 solubility constants
+   !!             3.6  !  2015-05  (O. Aumont) PISCES quota
    !!----------------------------------------------------------------------
 #if defined key_pisces || defined key_pisces_quota
    !!----------------------------------------------------------------------
-   !!   'key_pisces'                                       PISCES bio-model
+   !!   'key_pisces*'                                       PISCES bio-model
    !!----------------------------------------------------------------------
    !!   p4z_che      :  Sea water chemistry computed following OCMIP protocol
Index: /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zfechem.F90
===================================================================
--- /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zfechem.F90	(revision 5287)
+++ /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zfechem.F90	(revision 5288)
@@ -5,9 +5,10 @@
    !!======================================================================
    !! History :   3.5  !  2012-07 (O. Aumont, A. Tagliabue, C. Ethe) Original code
+   !!             3.6  !  2015-05  (O. Aumont) PISCES quota
    !!----------------------------------------------------------------------
 #if defined key_pisces || defined key_pisces_quota
    !!----------------------------------------------------------------------
    !!   'key_top'       and                                      TOP models
-   !!   'key_pisces'                                       PISCES bio-model
+   !!   'key_pisces*'                                       PISCES bio-model
    !!----------------------------------------------------------------------
    !!   p4z_fechem       :  Compute remineralization/scavenging of iron
Index: /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zflx.F90
===================================================================
--- /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zflx.F90	(revision 5287)
+++ /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zflx.F90	(revision 5288)
@@ -10,8 +10,9 @@
    !!             2.0  !  2007-12  (C. Ethe, G. Madec)  F90
    !!                  !  2011-02  (J. Simeon, J. Orr) Include total atm P correction 
+   !!             3.6  !  2015-05  (O. Aumont) PISCES quota
    !!----------------------------------------------------------------------
 #if defined key_pisces || defined key_pisces_quota
    !!----------------------------------------------------------------------
-   !!   'key_pisces'                                       PISCES bio-model
+   !!   'key_pisces*'                                      PISCES bio-model
    !!----------------------------------------------------------------------
    !!   p4z_flx       :   CALCULATES GAS EXCHANGE AND CHEMISTRY AT SEA SURFACE
Index: /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zint.F90
===================================================================
--- /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zint.F90	(revision 5287)
+++ /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zint.F90	(revision 5288)
@@ -6,8 +6,9 @@
    !! History :   1.0  !  2004-03 (O. Aumont) Original code
    !!             2.0  !  2007-12  (C. Ethe, G. Madec)  F90
+   !!             3.6  !  2015-05  (O. Aumont) PISCES quota
    !!----------------------------------------------------------------------
 #if defined key_pisces || defined key_pisces_quota
    !!----------------------------------------------------------------------
-   !!   'key_pisces'                                       PISCES bio-model
+   !!   'key_pisces*'                                       PISCES bio-model
    !!----------------------------------------------------------------------
    !!   p4z_int        :  interpolation and computation of various accessory fields
Index: /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zlys.F90
===================================================================
--- /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zlys.F90	(revision 5287)
+++ /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zlys.F90	(revision 5288)
@@ -11,8 +11,9 @@
    !!                  !  2011-02  (J. Simeon, J. Orr)  Calcon salinity dependence
    !!             3.4  !  2011-06  (O. Aumont, C. Ethe) Improvment of calcite dissolution
+   !!             3.6  !  2015-05  (O. Aumont) PISCES quota
    !!----------------------------------------------------------------------
 #if defined key_pisces || defined key_pisces_quota
    !!----------------------------------------------------------------------
-   !!   'key_pisces'                                       PISCES bio-model
+   !!   'key_pisces*'                                       PISCES bio-model
    !!----------------------------------------------------------------------
    !!   p4z_lys        :   Compute the CaCO3 dissolution 
Index: /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zopt.F90
===================================================================
--- /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zopt.F90	(revision 5287)
+++ /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zopt.F90	(revision 5288)
@@ -8,4 +8,5 @@
    !!             3.2  !  2009-04  (C. Ethe, G. Madec)  optimisation
    !!             3.4  !  2011-06  (O. Aumont, C. Ethe) Improve light availability of nano & diat
+   !!             3.6  !  2015-05  (O. Aumont) PISCES quota
    !!----------------------------------------------------------------------
 #if defined  key_pisces || defined key_pisces_quota
@@ -218,18 +219,23 @@
       neln(:,:) = 1                            !  ------------------------
       heup(:,:) = 300.
+      heup_01(:,:) = 300.
 
       DO jk = 2, nksrp
          DO jj = 1, jpj
            DO ji = 1, jpi
-              IF( etot(ji,jj,jk) * tmask(ji,jj,jk) >= 0.0043 * qsr(ji,jj) )  THEN
+              IF( etot(ji,jj,jk) * tmask(ji,jj,jk) >= 0.01 * parlux * qsr(ji,jj) )  THEN
                  neln(ji,jj) = jk+1                    ! Euphotic level : 1rst T-level strictly below Euphotic layer
                  !                                     ! nb: ensure the compatibility with nmld_trc definition in trd_mld_trc_zint
                  heup(ji,jj) = fsdepw(ji,jj,jk+1)      ! Euphotic layer depth
               ENDIF
+              IF( etot(ji,jj,jk) * tmask(ji,jj,jk) >= 0.1 )  THEN
+                 heup_01(ji,jj) = fsdepw(ji,jj,jk+1)      ! Absolute euphotic layer depth
+              ENDIF
            END DO
         END DO
       END DO
  
-      heup(:,:) = MIN( 300., heup(:,:) )
+      heup(:,:)    = MIN( 300., heup(:,:) )
+      heup_01(:,:) = MIN( 300., heup_01(:,:) )
 
       !                                        !* mean light over the mixed layer
@@ -284,5 +290,5 @@
         IF( lk_iomput ) THEN
            IF( jnt == nrdttrc ) THEN
-              CALL iom_put( "Heup", heup(:,:  ) * tmask(:,:,1) )  ! euphotic layer deptht
+              CALL iom_put( "Heup", heup_01(:,:  ) * tmask(:,:,1) )  ! euphotic layer deptht
               CALL iom_put( "PAR" , emoy(:,:,:) * tmask(:,:,:) )  ! Photosynthetically Available Radiation
            ENDIF
Index: /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zbio.F90
===================================================================
--- /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zbio.F90	(revision 5287)
+++ /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zbio.F90	(revision 5288)
@@ -6,5 +6,5 @@
    !! History :   1.0  !  2004     (O. Aumont) Original code
    !!             2.0  !  2007-12  (C. Ethe, G. Madec)  F90
-   !!             3.0  !  2015-05  (O. Aumont) PISCES QUOTA
+   !!             3.6  !  2015-05  (O. Aumont) PISCES quota
    !!----------------------------------------------------------------------
 #if defined key_pisces_quota
@@ -82,15 +82,4 @@
       CALL p4z_opt  ( kt, jnt )     ! Optic: PAR in the water column
       CALL p5z_sink ( kt, jnt )     ! vertical flux of particulate organic matter
-      DO jk = 1, jpk
-        DO jj = 1, jpj
-          DO ji = 1, jpi
-            IF (mig(ji) == 72 .and. mjg(jj) == 74 .and. jk == 5) THEN
-            DO jn = 1, jptra
-            write(0,*) 'plante ',trn(ji,jj,jk,jn)*1E6
-            END DO
-            ENDIF
-          END DO
-        END DO
-      END DO
       CALL p4z_fechem(kt, jnt )     ! Iron chemistry/scavenging
       CALL p5z_lim  ( kt, jnt )     ! co-limitations by the various nutrients
Index: /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zlim.F90
===================================================================
--- /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zlim.F90	(revision 5287)
+++ /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zlim.F90	(revision 5288)
@@ -7,5 +7,5 @@
    !!             2.0  !  2007-12  (C. Ethe, G. Madec)  F90
    !!             3.4  !  2011-04  (O. Aumont, C. Ethe) Limitation for iron modelled in quota 
-   !!             3.6  !  2015-04  (O. Aumont) variable stoichiometry
+   !!             3.6  !  2015-05  (O. Aumont) PISCES quota
    !!----------------------------------------------------------------------
 #if defined key_pisces_quota
@@ -476,6 +476,4 @@
       zpsino3 = 2.3 * rno3
       zpsinh4 = 1.8 * rno3
-!      zpsino3 = 1.1 * rno3
-!      zpsinh4 = 0.6 * rno3
       zpsiuptk = 2.3 * rno3
 
Index: /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zmeso.F90
===================================================================
--- /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zmeso.F90	(revision 5287)
+++ /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zmeso.F90	(revision 5288)
@@ -7,4 +7,5 @@
    !!             2.0  !  2007-12  (C. Ethe, G. Madec)  F90
    !!             3.4  !  2011-06  (O. Aumont, C. Ethe) Quota model for iron
+   !!             3.6  !  2015-05  (O. Aumont) PISCES quota
    !!----------------------------------------------------------------------
 #if defined key_pisces_quota
@@ -47,9 +48,11 @@
    REAL(wp), PUBLIC ::  mzrat2       !: microzooplankton mortality rate 
    REAL(wp), PUBLIC ::  grazrat2     !: maximal mesozoo grazing rate
-   REAL(wp), PUBLIC ::  xkgraz2      !: non assimilated fraction of P by mesozoo 
-   REAL(wp), PUBLIC ::  unass2c       !: Efficicency of mesozoo growth 
-   REAL(wp), PUBLIC ::  unass2n       !: Efficicency of mesozoo growth 
-   REAL(wp), PUBLIC ::  unass2p       !: Efficicency of mesozoo growth 
+   REAL(wp), PUBLIC ::  xkgraz2      !: non assimilated fraction of P by mesozoo
+   REAL(wp), PUBLIC ::  unass2c      !: Efficicency of mesozoo growth 
+   REAL(wp), PUBLIC ::  unass2n      !: Efficicency of mesozoo growth 
+   REAL(wp), PUBLIC ::  unass2p      !: Efficicency of mesozoo growth 
    REAL(wp), PUBLIC ::  epsher2      !: half sturation constant for grazing 2
+   REAL(wp), PUBLIC ::  ssigma2      !: Fraction excreted as semi-labile DOM
+   REAL(wp), PUBLIC ::  srespir2     !: Active respiration
    REAL(wp), PUBLIC ::  grazflux     !: mesozoo flux feeding rate
 
@@ -79,7 +82,7 @@
       REAL(wp) :: zepsherf, zepshert, zepsherv, zrespirc, zrespirn, zrespirp, zbasresb, zbasresi
       REAL(wp) :: zgraztotc, zgraztotn, zgraztotp, zgraztotf
-      REAL(wp) :: zexcess, zgradoc, zgradon, zgradop
+      REAL(wp) :: zgradoc, zgradon, zgradop, zgratmp, zgradoct, zgradont, zgrafert, zgradopt
       REAL(wp) :: zgrapoc, zgrapon, zgrapop, zgrapof, zprcaca, zmortz
-      REAL(wp) :: zgrarem, zgraren, zgrarep, zgrafer
+      REAL(wp) :: zexcess, zgrarem, zgraren, zgrarep, zgrafer
       REAL(wp) :: zbeta, zrespz, ztortz, zgrasratp, zgrasratn, zgrasratf
       REAL(wp) :: ztmp1, ztmp2, ztmp3, ztmp4, ztmp5, ztmptot
@@ -265,21 +268,21 @@
                zbasresb = MAX(0., zrespz - zexcess)
                zbasresi = zexcess + MIN(0., zrespz - zexcess)
-               zrespirc = 0.2 * zepsherv * zgraztotc + zbasresb
+               zrespirc = srespir2 * zepsherv * zgraztotc + zbasresb
 
                !   Voiding of the excessive elements as organic matter
                !   --------------------------------------------------------
-               zgradoc = (1. - unass2c - zepsherv) * zgraztotc - zbasresi
-               zgradon = (1. - unass2n) * zgraztotn - zepsherv * no3rat3 * zgraztotc
-               zgradop = (1. - unass2p) * zgraztotp - zepsherv * po4rat3 * zgraztotc
-               zgrafer = (1. - unass2c) * zgraztotf - zepsherv * ferat3 * zgraztotc
+               zgradoct = (1. - unass2c - zepsherv) * zgraztotc - zbasresi
+               zgradont = (1. - unass2n) * zgraztotn - zepsherv * no3rat3 * zgraztotc
+               zgradopt = (1. - unass2p) * zgraztotp - zepsherv * po4rat3 * zgraztotc
+               zgrafert = (1. - unass2c) * zgraztotf - zepsherv * ferat3 * zgraztotc
                ztmp1   = ( 1. - epsher2 - unass2c ) /( 1. - 0.8 * epsher2 ) * ztortz
-               zgradoc = zgradoc + ztmp1
-               zgradon = zgradon + no3rat3 * ztmp1
-               zgradop = zgradop + po4rat3 * ztmp1
-               zgrafer = zgrafer + ferat3  * ztmp1
-               zgrarem = 0.2 * epsher2 /( 1. - 0.8 * epsher2 ) * ztortz
-               zgraren = no3rat3 * zgrarem
-               zgrarep = po4rat3 * zgrarem
-               zgrafer = zgrafer + ferat3 * zgrarem
+               zgradoc = (zgradoct + ztmp1) * ssigma2
+               zgradon = (zgradont + no3rat3 * ztmp1) * ssigma2
+               zgradop = (zgradopt + po4rat3 * ztmp1) * ssigma2
+               zgratmp = 0.2 * epsher2 /( 1. - 0.8 * epsher2 ) * ztortz
+               zgrarem = zgratmp + ( zgradoct + ztmp1 ) * (1.0 - ssigma2)
+               zgraren = no3rat3 * zgratmp + ( zgradont + no3rat3 * ztmp1 ) * (1.0 - ssigma2)
+               zgrarep = po4rat3 * zgratmp + ( zgradopt + po4rat3 * ztmp1 ) * (1.0 - ssigma2)
+               zgrafer = zgrafert + ferat3 * ( ztmp1 + zgratmp )
 
                !   Defecation as a result of non assimilated products
@@ -302,7 +305,7 @@
                tra(ji,jj,jk,jpdon) = tra(ji,jj,jk,jpdon) + zgradon
                tra(ji,jj,jk,jpdop) = tra(ji,jj,jk,jpdop) + zgradop
-               tra(ji,jj,jk,jpoxy) = tra(ji,jj,jk,jpoxy) - o2ut * (zgraren + zrespirn)
+               tra(ji,jj,jk,jpoxy) = tra(ji,jj,jk,jpoxy) - o2ut * (zgrarem + zrespirc)
                tra(ji,jj,jk,jpfer) = tra(ji,jj,jk,jpfer) + zgrafer
-               tra(ji,jj,jk,jpdic) = tra(ji,jj,jk,jpdic) + zrespirc
+               tra(ji,jj,jk,jpdic) = tra(ji,jj,jk,jpdic) + zrespirc + zgrarem
                tra(ji,jj,jk,jptal) = tra(ji,jj,jk,jptal) + rno3 * (zgraren + zrespirn)
                tra(ji,jj,jk,jpmes) = tra(ji,jj,jk,jpmes) + zepsherv * zgraztotc - zrespirc   &
@@ -349,5 +352,5 @@
                zprcaca = part2 * zprcaca
                tra(ji,jj,jk,jpdic) = tra(ji,jj,jk,jpdic) + zgrazcal - zprcaca
-               tra(ji,jj,jk,jptal) = tra(ji,jj,jk,jptal) + 2. * ( zgrazcal + zprcaca )
+               tra(ji,jj,jk,jptal) = tra(ji,jj,jk,jptal) + 2. * ( zgrazcal - zprcaca )
                tra(ji,jj,jk,jpcal) = tra(ji,jj,jk,jpcal) - zgrazcal + zprcaca
             END DO
@@ -389,6 +392,6 @@
       NAMELIST/nampismes/ part2, grazrat2, resrat2, mzrat2, xpref2c, xpref2p, xpref2z, xpref2m,   &
          &                xpref2d, xthresh2dia, xthresh2phy, xthresh2zoo, xthresh2poc, &
-         &                xthresh2mes, xthresh2, xkgraz2, epsher2, unass2c, &
-      &                   unass2n, unass2p, grazflux
+         &                xthresh2mes, xthresh2, xkgraz2, epsher2, ssigma2, unass2c, &
+      &                   unass2n, unass2p, srespir2, grazflux
 
       INTEGER :: ios                 ! Local integer output status for namelist read
@@ -428,5 +431,7 @@
          WRITE(numout,*) '    C egested fraction of food by mesozoo          unass2p       =', unass2p
          WRITE(numout,*) '    Efficicency of Mesozoo growth                  epsher2      =', epsher2
-         WRITE(numout,*) '    half sturation constant for grazing 2          xkgraz2      =', xkgraz2
+         WRITE(numout,*) '    Fraction excreted as semi-labile DOM           ssigma2       =', ssigma2
+         WRITE(numout,*) '    Active respiration                             srespir2      =', srespir2
+         WRITE(numout,*) '    half sturation constant for grazing 2          xkgraz2       =', xkgraz2
       ENDIF
 
Index: /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zmicro.F90
===================================================================
--- /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zmicro.F90	(revision 5287)
+++ /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zmicro.F90	(revision 5288)
@@ -7,4 +7,5 @@
    !!             2.0  !  2007-12  (C. Ethe, G. Madec)  F90
    !!             3.4  !  2011-06  (O. Aumont, C. Ethe) Quota model for iron
+   !!             3.6  !  2015-05  (O. Aumont) PISCES quota
    !!----------------------------------------------------------------------
 #if defined key_pisces_quota
@@ -47,9 +48,11 @@
    REAL(wp), PUBLIC ::  mzrat       !: microzooplankton mortality rate 
    REAL(wp), PUBLIC ::  grazrat     !: maximal microzoo grazing rate
-   REAL(wp), PUBLIC ::  xkgraz      !: non assimilated fraction of P by microzoo 
+   REAL(wp), PUBLIC ::  xkgraz      !: non assimilated fraction of P by microzoo
    REAL(wp), PUBLIC ::  unassc      !: Efficicency of microzoo growth 
    REAL(wp), PUBLIC ::  unassn      !: Efficicency of microzoo growth 
    REAL(wp), PUBLIC ::  unassp      !: Efficicency of microzoo growth 
    REAL(wp), PUBLIC ::  epsher      !: half sturation constant for grazing 1 
+   REAL(wp), PUBLIC ::  srespir     !: half sturation constant for grazing 1 
+   REAL(wp), PUBLIC ::  ssigma      !: Fraction excreted as semi-labile DOM
 
 
@@ -81,5 +84,6 @@
       REAL(wp) :: zepsherf, zepshert, zepsherv, zrespirc, zrespirn, zrespirp, zbasresb, zbasresi
       REAL(wp) :: zgraztotc, zgraztotn, zgraztotp, zgraztotf
-      REAL(wp) :: zexcess, zgradoc, zgradon, zgradop, zgrafer
+      REAL(wp) :: zgradoc, zgradon, zgradop, zgrafer, zgradoct, zgradont, zgradopt, zgrafert
+      REAL(wp) :: zexcess, zgraren, zgrarep, zgrarem
       REAL(wp) :: zgrapoc, zgrapon, zgrapop, zgrapof, zprcaca, zmortz
       REAL(wp) :: zrespz, ztortz, zgrasratf, zgrasratn, zgrasratp
@@ -200,12 +204,19 @@
                zbasresb = MAX(0., zrespz - zexcess)
                zbasresi = zexcess + MIN(0., zrespz - zexcess)  
-               zrespirc = 0.2 * zepsherv * zgraztotc + zbasresb
+               zrespirc = srespir * zepsherv * zgraztotc + zbasresb
 
                !   Voiding of the excessive elements as DOM
                !   ----------------------------------------
-               zgradoc   = (1. - unassc - zepsherv) * zgraztotc - zbasresi  
-               zgradon   = (1. - unassn) * zgraztotn - zepsherv * no3rat3 * zgraztotc
-               zgradop   = (1. - unassp) * zgraztotp - zepsherv * po4rat3 * zgraztotc
-               zgrafer   = (1. - unassc) * zgraztotf - zepsherv * ferat3 * zgraztotc
+               zgradoct   = (1. - unassc - zepsherv) * zgraztotc - zbasresi  
+               zgradont   = (1. - unassn) * zgraztotn - zepsherv * no3rat3 * zgraztotc
+               zgradopt   = (1. - unassp) * zgraztotp - zepsherv * po4rat3 * zgraztotc
+               zgrafert   = (1. - unassc) * zgraztotf - zepsherv * ferat3 * zgraztotc
+               zgradoc =  zgradoct * ssigma
+               zgradon =  zgradont * ssigma
+               zgradop =  zgradopt * ssigma
+               zgrarem = (1.0 - ssigma) * zgradoct
+               zgraren = (1.0 - ssigma) * zgradont
+               zgrarep = (1.0 - ssigma) * zgradopt
+               zgrafer = zgrafert
 
                !   Defecation as a result of non assimilated products
@@ -218,14 +229,14 @@
                !   Update of the TRA arrays
                !   ------------------------
-               zrespirn  = zrespirc * no3rat3
+               zrespirn  = zrespirc * no3rat3 
                zrespirp  = zrespirc * po4rat3
                zgrafer   = zgrafer + zrespirc * ferat3
 
-               tra(ji,jj,jk,jppo4) = tra(ji,jj,jk,jppo4) + zrespirp
-               tra(ji,jj,jk,jpnh4) = tra(ji,jj,jk,jpnh4) + zrespirn
+               tra(ji,jj,jk,jppo4) = tra(ji,jj,jk,jppo4) + zrespirp + zgrarep
+               tra(ji,jj,jk,jpnh4) = tra(ji,jj,jk,jpnh4) + zrespirn + zgraren
                tra(ji,jj,jk,jpdoc) = tra(ji,jj,jk,jpdoc) + zgradoc
                tra(ji,jj,jk,jpdon) = tra(ji,jj,jk,jpdon) + zgradon
                tra(ji,jj,jk,jpdop) = tra(ji,jj,jk,jpdop) + zgradop
-               tra(ji,jj,jk,jpoxy) = tra(ji,jj,jk,jpoxy) - o2ut * zrespirc
+               tra(ji,jj,jk,jpoxy) = tra(ji,jj,jk,jpoxy) - o2ut * ( zrespirc + zgrarem )
                tra(ji,jj,jk,jpfer) = tra(ji,jj,jk,jpfer) + zgrafer
                tra(ji,jj,jk,jpzoo) = tra(ji,jj,jk,jpzoo) + zepsherv * zgraztotc - zrespirc   &
@@ -261,7 +272,7 @@
                !
                zprcaca = part * zprcaca
-               tra(ji,jj,jk,jpdic) = tra(ji,jj,jk,jpdic) + zrespirc - zprcaca
+               tra(ji,jj,jk,jpdic) = tra(ji,jj,jk,jpdic) + zrespirc + zgrarem - zprcaca
                tra(ji,jj,jk,jptal) = tra(ji,jj,jk,jptal) - 2. * zprcaca
-               tra(ji,jj,jk,jpcal) = tra(ji,jj,jk,jpcal) + rno3 * zrespirn + zprcaca
+               tra(ji,jj,jk,jpcal) = tra(ji,jj,jk,jpcal) + rno3 * ( zrespirn + zgraren ) + zprcaca
 #if defined key_kriest
                tra(ji,jj,jk,jpnum) = tra(ji,jj,jk,jpnum) + ztortz * xkr_dmicro &
@@ -307,5 +318,5 @@
          &                xprefp, xprefd, xprefz, xthreshdia, xthreshphy, &
          &                xthreshpic, xthreshpoc, xthreshzoo, xthresh, xkgraz, &
-         &                epsher, unassc, unassn, unassp
+         &                epsher, ssigma, srespir, unassc, unassn, unassp
 
       INTEGER :: ios                 ! Local integer output status for namelist read
@@ -343,4 +354,6 @@
          WRITE(numout,*) '    P egested fraction of fodd by microzoo          unassp      =', unassp
          WRITE(numout,*) '    Efficicency of microzoo growth                  epsher      =', epsher
+         WRITE(numout,*) '    Fraction excreted as semi-labile DOM            ssigma      =', ssigma
+         WRITE(numout,*) '    Active respiration                              srespir     =', srespir
          WRITE(numout,*) '    half sturation constant for grazing 1           xkgraz      =', xkgraz
       ENDIF
Index: /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zmort.F90
===================================================================
--- /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zmort.F90	(revision 5287)
+++ /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zmort.F90	(revision 5288)
@@ -6,4 +6,5 @@
    !! History :   1.0  !  2002     (O. Aumont)  Original code
    !!             2.0  !  2007-12  (C. Ethe, G. Madec)  F90
+   !!             3.6  !  2015-05  (O. Aumont) PISCES quota
    !!----------------------------------------------------------------------
 #if defined key_pisces_quota
@@ -338,7 +339,7 @@
          WRITE(numout,*) '    quadratic mortality of phytoplankton      wchl      =', wchl
          WRITE(numout,*) '    quadratic mortality of picophyto.         wchlp     =', wchlp
-         WRITE(numout,*) '    maximum quadratic mortality of diatoms    wchld     =', wchld
-         WRITE(numout,*) '    maximum quadratic mortality of diatoms    wchldm    =', wchldm
-         WRITE(numout,*) '    phytoplankton mortality rate              mprat     =', mprat
+         WRITE(numout,*) '    quadratic mortality of diatoms            wchld     =', wchld
+         WRITE(numout,*) '    Additional quadratic mortality of diatoms wchldm    =', wchldm
+         WRITE(numout,*) '    nanophyto. mortality rate                 mprat     =', mprat
          WRITE(numout,*) '    picophyto. mortality rate                 mpratp    =', mpratp
          WRITE(numout,*) '    Diatoms mortality rate                    mprat2    =', mprat2
Index: /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zprod.F90
===================================================================
--- /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zprod.F90	(revision 5287)
+++ /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zprod.F90	(revision 5288)
@@ -7,4 +7,5 @@
    !!             2.0  !  2007-12  (C. Ethe, G. Madec)  F90
    !!             3.4  !  2011-05  (O. Aumont, C. Ethe) New parameterization of light limitation
+   !!             3.6  !  2015-05  (O. Aumont) PISCES quota
    !!----------------------------------------------------------------------
 #if defined key_pisces_quota
@@ -40,9 +41,12 @@
    REAL(wp), PUBLIC ::  excret2         !:
    REAL(wp), PUBLIC ::  bresp           !:
-   REAL(wp), PUBLIC ::  chlcpm          !:
-   REAL(wp), PUBLIC ::  chlcnm          !:
-   REAL(wp), PUBLIC ::  chlcdm          !:
+   REAL(wp), PUBLIC ::  thetanpm        !:
+   REAL(wp), PUBLIC ::  thetannm        !:
+   REAL(wp), PUBLIC ::  thetandm        !:
    REAL(wp), PUBLIC ::  chlcmin         !:
    REAL(wp), PUBLIC ::  grosip          !:
+   REAL(wp), PUBLIC ::  zlimmxln        !:
+   REAL(wp), PUBLIC ::  zlimmxlp        !:
+   REAL(wp), PUBLIC ::  zlimmxld        !:
 
    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   prmaxn   !: optimal production = f(temperature)
@@ -84,6 +88,6 @@
       REAL(wp) ::   zlim, zsilfac2, zsiborn, zprod, zprontot, zproptot, zprodtot
       REAL(wp) ::   zmxltst, zmxlday, zprnutmax
-      REAL(wp) ::   zpislopen, zpislopep, zpislope2n, zpsichl
-      REAL(wp) ::   zrum, zcodel, zargu, zval, thetannm, thetanpm, thetandm
+      REAL(wp) ::   zpislopen, zpislopep, zpislope2n
+      REAL(wp) ::   zrum, zcodel, zargu, zval
       REAL(wp) ::   zrfact2
       CHARACTER (len=25) :: charout
@@ -142,12 +146,7 @@
 
       ! Computation of the optimal production
-      zpsichl = 0.
-      thetannm = 0.25
-      thetanpm = 0.25
-      thetandm = 0.35
-
-      prmaxn(:,:,:) = ( 0.8_wp * (1. + zpsino3 * qnpmax + zpsichl ) ) * r1_rday * tgfunc(:,:,:)
+      prmaxn(:,:,:) = ( 0.8_wp * (1. + zpsino3 * qnpmax ) ) * r1_rday * tgfunc(:,:,:)
       prmaxp(:,:,:) = 0.6 / 0.8 * prmaxn(:,:,:) 
-      prmaxd(:,:,:) = 0.8 / 0.8 * prmaxn(:,:,:) 
+      prmaxd(:,:,:) = prmaxn(:,:,:) 
       zprnut(:,:,:) = 0.8_wp * r1_rday * tgfunc(:,:,:)
 
@@ -258,9 +257,9 @@
       DO jj = 1, jpj
          DO ji = 1, jpi
-            zmxltst = MAX( 0.e0, hmld(ji,jj) - heup(ji,jj) )
+            zmxltst = MAX( 0.e0, hmld(ji,jj) - heup_01(ji,jj) )
             zmxlday = zmxltst * zmxltst * r1_rday
-            zmixnano(ji,jj) = 1. - zmxlday / ( 2. + zmxlday )
-            zmixpico(ji,jj) = 1. - zmxlday / ( 2. + zmxlday )
-            zmixdiat(ji,jj) = 1. - zmxlday / ( 4. + zmxlday )
+            zmixnano(ji,jj) = 1. - zmxlday / ( zlimmxln + zmxlday )
+            zmixpico(ji,jj) = 1. - zmxlday / ( zlimmxlp + zmxlday )
+            zmixdiat(ji,jj) = 1. - zmxlday / ( zlimmxld + zmxlday )
          END DO
       END DO
@@ -290,5 +289,4 @@
                   zprorcan(ji,jj,jk) = zprbio(ji,jj,jk)  * xlimphy(ji,jj,jk) * trn(ji,jj,jk,jpphy) * rfact2
                   !
-                  zrespn(ji,jj,jk) = zprorcan(ji,jj,jk) * zpsichl
                   zration = trn(ji,jj,jk,jpnph) / ( trn(ji,jj,jk,jpphy) + rtrn )
                   zratiop = trn(ji,jj,jk,jppph) / ( trn(ji,jj,jk,jpphy) + rtrn )
@@ -312,5 +310,5 @@
                   zmax = MAX(0., MIN(1., (1. - zrat)/ (1.05 - zrat) * 1.05))
                   zprofmax = zprnutmax * qfnmax * zmax
-                  zprofen(ji,jj,jk) = zprofmax * xnanofer(ji,jj,jk) * ( 4. - 4.5 * xlimnfe(ji,jj,jk)    &
+                  zprofen(ji,jj,jk) = zprofmax * xnanofer(ji,jj,jk) * ( 4. - 3.6 * xlimnfe(ji,jj,jk)    &
                   &          / ( xlimnfe(ji,jj,jk) + 0.2 ) ) * (1. + 0.8 * xnanono3(ji,jj,jk) / ( rtrn  &
                   &          + xnanono3(ji,jj,jk) + xnanonh4(ji,jj,jk) ) * (1. - xnanofer(ji,jj,jk) ) )
@@ -328,5 +326,4 @@
                   zprorcap(ji,jj,jk) = zprpic(ji,jj,jk)  * xlimpic(ji,jj,jk) * trn(ji,jj,jk,jppic) * rfact2
                   !
-                  zrespp(ji,jj,jk) = zprorcap(ji,jj,jk) * zpsichl
                   zration = trn(ji,jj,jk,jpnpi) / ( trn(ji,jj,jk,jppic) + rtrn )
                   zratiop = trn(ji,jj,jk,jpppi) / ( trn(ji,jj,jk,jppic) + rtrn )
@@ -350,5 +347,5 @@
                   zmax = MAX(0., MIN(1., (1. - zrat)/ (1.05 - zrat) * 1.05))
                   zprofmax = zprnutmax * qfpmax * zmax
-                  zprofep(ji,jj,jk) = zprofmax * xpicofer(ji,jj,jk) * ( 4. - 4.5 * xlimpfe(ji,jj,jk)   &
+                  zprofep(ji,jj,jk) = zprofmax * xpicofer(ji,jj,jk) * ( 4. - 3.6 * xlimpfe(ji,jj,jk)   &
                   &          / ( xlimpfe(ji,jj,jk) + 0.2 ) ) * (1. + 0.8 * xpicono3(ji,jj,jk) / ( rtrn   &
                   &          + xpicono3(ji,jj,jk) + xpiconh4(ji,jj,jk) ) * (1. - xpicofer(ji,jj,jk) ) )
@@ -367,5 +364,4 @@
                   ! Computation of the respiration term according to pahlow 
                   ! & oschlies (2013)
-                  zrespd(ji,jj,jk) = zprorcad(ji,jj,jk) * zpsichl
                   !
                   zration = trn(ji,jj,jk,jpndi) / ( trn(ji,jj,jk,jpdia) + rtrn )
@@ -390,5 +386,5 @@
                   zmax = MAX(0., MIN(1., (1. - zrat)/ (1.05 - zrat) * 1.05))
                   zprofmax = zprnutmax * qfdmax * zmax
-                  zprofed(ji,jj,jk) = zprofmax * xdiatfer(ji,jj,jk) * ( 4. - 4.5 * xlimdfe(ji,jj,jk)     &
+                  zprofed(ji,jj,jk) = zprofmax * xdiatfer(ji,jj,jk) * ( 4. - 3.6 * xlimdfe(ji,jj,jk)     &
                   &          / ( xlimdfe(ji,jj,jk) + 0.2 ) ) * (1. + 0.8 * xdiatno3(ji,jj,jk) / ( rtrn   &
                   &          + xdiatno3(ji,jj,jk) + xdiatnh4(ji,jj,jk) ) * (1. - xdiatfer(ji,jj,jk) ) )
@@ -562,5 +558,6 @@
       !
       NAMELIST/nampisprod/ pislope, pislopep, pislope2, xadap, bresp, excret, excretp, excret2,  &
-         &                 chlcnm, chlcpm, chlcdm, chlcmin, grosip
+         &                 thetannm, thetanpm, thetandm, chlcmin, grosip, zlimmxln,           &
+         &                 zlimmxlp, zlimmxld
 
       INTEGER :: ios                 ! Local integer output status for namelist read
@@ -590,7 +587,10 @@
          WRITE(numout,*) '    P-I slope  for diatoms                    pislope2     =', pislope2
          WRITE(numout,*) '    P-I slope  for picophytoplankton          pislopep     =', pislopep
-         WRITE(numout,*) '    Minimum Chl/C in nanophytoplankton        chlcnm       =', chlcnm
-         WRITE(numout,*) '    Minimum Chl/C in picophytoplankton        chlcpm       =', chlcpm
-         WRITE(numout,*) '    Minimum Chl/C in diatoms                  chlcdm       =', chlcdm
+         WRITE(numout,*) '    Minimum Chl/N in nanophytoplankton        thetannm     =', thetannm
+         WRITE(numout,*) '    Minimum Chl/N in picophytoplankton        thetanpm     =', thetanpm
+         WRITE(numout,*) '    Minimum Chl/N in diatoms                  thetandm     =', thetandm
+         WRITE(numout,*) '    Critical time scale for mixing (nano)     zlimmxln     =', zlimmxln
+         WRITE(numout,*) '    Critical time scale for mixing (pico)     zlimmxlp     =', zlimmxlp
+         WRITE(numout,*) '    Critical time scale for mixing (diatoms)  zlimmxld     =', zlimmxld
       ENDIF
       !
Index: /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zrem.F90
===================================================================
--- /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zrem.F90	(revision 5287)
+++ /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zrem.F90	(revision 5288)
@@ -7,4 +7,5 @@
    !!             2.0  !  2007-12  (C. Ethe, G. Madec)  F90
    !!             3.4  !  2011-06  (O. Aumont, C. Ethe) Quota model for iron
+   !!             3.6  !  2015-05  (O. Aumont) PISCES quota
    !!----------------------------------------------------------------------
 #if defined key_pisces_quota
@@ -48,5 +49,6 @@
    REAL(wp), PUBLIC ::  xsiremlab  !: fast remineralisation rate of POC 
    REAL(wp), PUBLIC ::  xsilab     !: fraction of labile biogenic silica 
-   REAL(wp), PUBLIC ::  oxymin     !: halk saturation constant for anoxia 
+   REAL(wp), PUBLIC ::  oxymin     !: half saturation constant for anoxia 
+   REAL(wp), PUBLIC ::  oxymin2    !: Minimum O2 concentration for oxic remin.
 
 
@@ -105,5 +107,5 @@
          DO jj = 1, jpj
             DO ji = 1, jpi
-               zdep = MAX( hmld(ji,jj), heup(ji,jj) )
+               zdep = MAX( hmld(ji,jj), heup_01(ji,jj) )
                IF( fsdept(ji,jj,jk) < zdep ) THEN
                   zdepbac(ji,jj,jk) = MIN( 0.7 * ( trn(ji,jj,jk,jpzoo) + 2.* trn(ji,jj,jk,jpmes) ), 4.e-6 )
@@ -123,5 +125,5 @@
                ! denitrification factor computed from O2 levels
                ! ----------------------------------------------
-               nitrfac(ji,jj,jk) = MAX(  0.e0, 0.4 * ( 6.e-6  - trn(ji,jj,jk,jpoxy) )    &
+               nitrfac(ji,jj,jk) = MAX(  0.e0, 0.4 * ( oxymin2 - trn(ji,jj,jk,jpoxy) )    &
                   &                                / ( oxymin + trn(ji,jj,jk,jpoxy) )  )
                nitrfac(ji,jj,jk) = MIN( 1., nitrfac(ji,jj,jk) )
@@ -324,5 +326,5 @@
                ! constant and specified in the namelist.
                ! ----------------------------------------------------------
-               zdep     = MAX( hmld(ji,jj), heup(ji,jj) ) 
+               zdep     = MAX( hmld(ji,jj), heup_01(ji,jj) ) 
                zdep     = MAX( 0., fsdept(ji,jj,jk) - zdep )
                ztem     = MAX( tsn(ji,jj,1,jp_tem), 0. )
@@ -377,5 +379,5 @@
       !!----------------------------------------------------------------------
       NAMELIST/nampisrem/ xremikc, xremikn, xremikp, xremipc, xremipn, xremipp,   &
-      &                   nitrif, xsirem, xsiremlab, xsilab, oxymin
+      &                   nitrif, xsirem, xsiremlab, xsilab, oxymin, oxymin2
       INTEGER :: ios                 ! Local integer output status for namelist read
 
@@ -403,5 +405,6 @@
          WRITE(numout,*) '    fraction of labile biogenic silica        xsilab    =', xsilab
          WRITE(numout,*) '    NH4 nitrification rate                    nitrif    =', nitrif
-         WRITE(numout,*) '    halk saturation constant for anoxia       oxymin    =', oxymin
+         WRITE(numout,*) '    half saturation constant for anoxia       oxymin    =', oxymin
+         WRITE(numout,*) '    Minimum O2 concentration for oxic remin.  oxymin2   =', oxymin2
       ENDIF
       !
Index: /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zsed.F90
===================================================================
--- /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zsed.F90	(revision 5287)
+++ /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zsed.F90	(revision 5288)
@@ -8,4 +8,5 @@
    !!             3.4  !  2011-06 (C. Ethe) USE of fldread
    !!             3.5  !  2012-07 (O. Aumont) improvment of river input of nutrients 
+   !!             3.6  !  2015-05  (O. Aumont) PISCES quota
    !!----------------------------------------------------------------------
 #if defined key_pisces_quota
Index: /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zsink.F90
===================================================================
--- /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zsink.F90	(revision 5287)
+++ /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zsink.F90	(revision 5288)
@@ -8,4 +8,5 @@
    !!             3.4  !  2011-06  (O. Aumont, C. Ethe) Change aggregation formula
    !!             3.5  !  2012-07  (O. Aumont) Introduce potential time-splitting
+   !!             3.6  !  2015-05  (O. Aumont) PISCES quota
    !!----------------------------------------------------------------------
 #if defined key_pisces_quota
@@ -111,7 +112,7 @@
          DO jj = 1, jpj
             DO ji = 1,jpi
-               zmax  = MAX( heup(ji,jj), hmld(ji,jj) )
+               zmax  = MAX( heup_01(ji,jj), hmld(ji,jj) )
                zfact = MAX( 0., fsdepw(ji,jj,jk+1) - zmax ) / 5000._wp
-               wsbio4(ji,jj,jk) = wsbio2 + ( 200.- wsbio2 ) * zfact
+               wsbio4(ji,jj,jk) = wsbio2 
             END DO
          END DO
Index: /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zsms.F90
===================================================================
--- /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zsms.F90	(revision 5287)
+++ /branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zsms.F90	(revision 5288)
@@ -6,4 +6,5 @@
    !! History :   1.0  !  2004-03 (O. Aumont) Original code
    !!             2.0  !  2007-12  (C. Ethe, G. Madec)  F90
+   !!             3.6  !  2015-05  (O. Aumont) PISCES quota
    !!----------------------------------------------------------------------
 #if defined key_pisces_quota
