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 8003)
+++ branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zlim.F90	(revision 8004)
@@ -158,5 +158,5 @@
       REAL(wp) ::   fanano, fananop, fananof, fadiat, fadiatp, fadiatf
       REAL(wp) ::   fapico, fapicop, fapicof
-      REAL(wp) ::   zrpho, zrass, zcoef, zfuptk, zratchl
+      REAL(wp) ::   zrpho, zrass, zcoef, zfuptk, zratchl, zphotnp
       REAL(wp) ::   zfvn, zfvp, zfvf, zsizen, zsizep, zsized, znanochl, zpicochl, zdiatchl
       REAL(wp) ::   zqfemn, zqfemp, zqfemd
@@ -165,5 +165,6 @@
       IF( nn_timing == 1 )  CALL timing_start('p5z_lim')
       !
-      zratchl = 6.0
+      zratchl = 7.0
+      zphotnp = zratchl * 16./ 53.
       !
       DO jk = 1, jpkm1
@@ -364,10 +365,10 @@
                ! Size estimation of nanophytoplankton
                ! ------------------------------------
-               zfvn = 2. * fvnuptk(ji,jj,jk)
+               zfvn = zpsiuptk / rno3 * fvnuptk(ji,jj,jk)
                sizen(ji,jj,jk) = MAX(1., MIN(xsizern, 1.0 / ( MAX(rtrn, zfvn) ) ) )
                ! N/P ratio of nanophytoplankton
                ! ------------------------------
                zfuptk = 0.23 * zfvn
-               zrpho = 2.24 * trb(ji,jj,jk,jpnch) / ( trb(ji,jj,jk,jpnph) * rno3 * 15. + rtrn )
+               zrpho = zphotnp * trb(ji,jj,jk,jpnch) / ( trb(ji,jj,jk,jpnph) * rno3 * 15. + rtrn )
                zrass = (1. - 0.2 - zrpho - zfuptk)
                xqpnmax(ji,jj,jk) = ( zfuptk + zrpho ) * 0.0128 * 16. + zrass * 1./ 7.2 * 16. + 0.13
@@ -377,5 +378,5 @@
                ! Size estimation of picophytoplankton
                ! ------------------------------------
-               zfvn = 2. * fvpuptk(ji,jj,jk)
+               zfvn = zpsiuptk / rno3  * fvpuptk(ji,jj,jk)
                sizep(ji,jj,jk) = MAX(1., MIN(xsizerp, 1.0 / ( MAX(rtrn, zfvn) ) ) )
 
@@ -383,5 +384,5 @@
                ! ------------------------------
                zfuptk = 0.35 * zfvn
-               zrpho = 2.24 * trb(ji,jj,jk,jppch) / ( trb(ji,jj,jk,jpnpi) * rno3 * 15. + rtrn )
+               zrpho = zphotnp * trb(ji,jj,jk,jppch) / ( trb(ji,jj,jk,jpnpi) * rno3 * 15. + rtrn )
                zrass = (1. - 0.3 - zrpho - zfuptk)
                xqppmax(ji,jj,jk) =  (zrpho + zfuptk) * 0.0128 * 16. + zrass * 1./ 10.9 * 16. + 0.13
@@ -391,5 +392,5 @@
                ! Size estimation of diatoms
                ! --------------------------
-               zfvn = 2. * fvduptk(ji,jj,jk)
+               zfvn = zpsiuptk / rno3 * fvduptk(ji,jj,jk)
                sized(ji,jj,jk) = MAX(1., MIN(xsizerd, 1.0 / ( MAX(rtrn, zfvn) ) ) )
 !               zcoef = trb(ji,jj,jk,jpdia) - MIN(xsizedia, trb(ji,jj,jk,jpdia) )
@@ -399,5 +400,5 @@
                ! --------------------
                zfuptk = 0.2 * zfvn
-               zrpho = 2.24 * trb(ji,jj,jk,jpdch) / ( trb(ji,jj,jk,jpndi) * rno3 * 15. + rtrn )
+               zrpho = zphotnp * trb(ji,jj,jk,jpdch) / ( trb(ji,jj,jk,jpndi) * rno3 * 15. + rtrn )
                zrass = 1. - 0.2 - zrpho - zfuptk
                xqpdmax(ji,jj,jk) = ( zfuptk + zrpho ) * 0.0128 * 16. + zrass * 1./ 7.2 * 16. + 0.13
@@ -417,5 +418,5 @@
                &        / ( trb(ji,jj,jk,jpnh4) + concnnh4 ) )
                zlim2  = trb(ji,jj,jk,jppo4) / ( trb(ji,jj,jk,jppo4) + concnpo4 )
-               zlim3  = trb(ji,jj,jk,jpfer) / ( trb(ji,jj,jk,jpfer) +  5.E-11 ) 
+               zlim3  = trb(ji,jj,jk,jpfer) / ( trb(ji,jj,jk,jpfer) +  1.E-10 ) 
                ztem1  = MAX( 0., tsn(ji,jj,jk,jp_tem) )
                ztem2  = tsn(ji,jj,jk,jp_tem) - 10.
@@ -423,5 +424,5 @@
 
 !               xfracal(ji,jj,jk) = caco3r * MIN( zlim1, zlim2, zlim3 )                  &
-               xfracal(ji,jj,jk) = caco3r                 &
+               xfracal(ji,jj,jk) = caco3r * xlimphy(ji,jj,jk)    &
                &                   * ztem1 / ( 1. + ztem1 ) * MAX( 1., trb(ji,jj,jk,jpphy)*1E6 )   &
                   &                * ( 1. + EXP(-ztem2 * ztem2 / 25. ) )         &
