Index: trunk/NEMO/TOP_SRC/PISCES/p4zrem.F90
===================================================================
--- trunk/NEMO/TOP_SRC/PISCES/p4zrem.F90	(revision 1739)
+++ trunk/NEMO/TOP_SRC/PISCES/p4zrem.F90	(revision 1744)
@@ -41,4 +41,6 @@
      &                   denitr                     !: denitrification array
 
+   REAL(wp) ::   &
+     xstep            !: Time step duration for biology
 
    !!* Substitution
@@ -70,5 +72,5 @@
       REAL(wp) ::   zofer2, zdenom, zdenom2
 #endif
-      REAL(wp) ::   zlamfac, zstep, zonitr
+      REAL(wp) ::   zlamfac, zonitr
       REAL(wp), DIMENSION(jpi,jpj)     ::   ztempbac
       REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zdepbac, zfesatur, zolimi
@@ -78,8 +80,17 @@
 
 
-      IF( ( kt * jnt ) == nittrc000  )   CALL p4z_rem_init      ! Initialization (first time-step only)
-
-       zstep = rfact2 / rday      ! Time step duration for the biology
-
+      IF( ( kt * jnt ) == nittrc000  )  THEN
+         CALL p4z_rem_init                ! Initialization (first time-step only)
+         xstep = rfact2 / rday            ! Time step duration for the biology
+         nitrfac(:,:,:) = 0.0
+         denitr (:,:,:) = 0.0  
+      ENDIF
+
+
+       ! Initialisation of temprary arrys
+       zdepbac (:,:,:) = 0.0
+       zfesatur(:,:,:) = 0.0
+       zolimi  (:,:,:) = 0.0
+       ztempbac(:,:)   = 0.0
 
 !      Computation of the mean phytoplankton concentration as
@@ -124,10 +135,10 @@
 !     of the bacterial activity. 
 !     ----------------------------------------------------------------
-               zremik = xremik * zstep / 1.e-6 * xlimbac(ji,jj,jk)         &
+               zremik = xremik * xstep / 1.e-6 * xlimbac(ji,jj,jk)         &
 # if defined key_off_degrad
                   &            * facvol(ji,jj,jk)              &
 # endif
                   &            * zdepbac(ji,jj,jk)
-               zremik = MAX( zremik, 5.5e-4 * zstep )
+               zremik = MAX( zremik, 5.5e-4 * xstep )
 
 !     Ammonification in oxic waters with oxygen consumption
@@ -144,6 +155,12 @@
       END DO
 
-      zolimi (:,:,:) = MAX( 0.e0, zolimi (:,:,:) )
-      denitr (:,:,:) = MAX( 0.e0, denitr (:,:,:) )
+      DO jk = 1, jpkm1
+         DO jj = 1, jpj
+            DO ji = 1, jpi
+               zolimi (ji,jj,jk) = MAX( 0.e0, zolimi (ji,jj,jk) )
+               denitr (ji,jj,jk) = MAX( 0.e0, denitr (ji,jj,jk) )
+            END DO
+         END DO
+      END DO
 
       DO jk = 1, jpkm1
@@ -154,5 +171,5 @@
 !    below 2 umol/L. Inhibited at strong light 
 !    ----------------------------------------------------------
-               zonitr  = nitrif * zstep * trn(ji,jj,jk,jpnh4) / ( 1.+ emoy(ji,jj,jk) )     &
+               zonitr  = nitrif * xstep * trn(ji,jj,jk,jpnh4) / ( 1.+ emoy(ji,jj,jk) )     &
 # if defined key_off_degrad
                   &      * facvol(ji,jj,jk)              &
@@ -216,5 +233,5 @@
 !    POC disaggregation by turbulence and bacterial activity. 
 !    -------------------------------------------------------------
-               zremip = xremip * zstep * tgfunc(ji,jj,jk)   &
+               zremip = xremip * xstep * tgfunc(ji,jj,jk)   &
 # if defined key_off_degrad
                   &            * facvol(ji,jj,jk)              &
@@ -273,7 +290,7 @@
                znusil  = 0.225  * ( 1. + tn(ji,jj,jk) / 15.) * zsatur + 0.775 * zsatur2**9
 #    if defined key_off_degrad
-               zsiremin = xsirem * zstep * znusil * facvol(ji,jj,jk)
+               zsiremin = xsirem * xstep * znusil * facvol(ji,jj,jk)
 # else
-               zsiremin = xsirem * zstep * znusil
+               zsiremin = xsirem * xstep * znusil
 #    endif
                zosil = zsiremin * trn(ji,jj,jk,jpdsi)
@@ -334,7 +351,7 @@
 
 # if defined key_off_degrad
-               zscave = zfeequi * zlam1b * zstep  * facvol(ji,jj,jk)
+               zscave = zfeequi * zlam1b * xstep  * facvol(ji,jj,jk)
 # else
-               zscave = zfeequi * zlam1b * zstep
+               zscave = zfeequi * zlam1b * xstep
 # endif
 
@@ -358,7 +375,7 @@
 
 # if defined key_off_degrad
-               zaggdfe = zlam1b * zstep * 0.5 * ( trn(ji,jj,jk,jpfer) - zfeequi ) * facvol(ji,jj,jk)
+               zaggdfe = zlam1b * xstep * 0.5 * ( trn(ji,jj,jk,jpfer) - zfeequi ) * facvol(ji,jj,jk)
 # else
-               zaggdfe = zlam1b * zstep * 0.5 * ( trn(ji,jj,jk,jpfer) - zfeequi )
+               zaggdfe = zlam1b * xstep * 0.5 * ( trn(ji,jj,jk,jpfer) - zfeequi )
 # endif
 
