Index: trunk/NEMO/TOP_SRC/SMS/par_sms.F90
===================================================================
--- trunk/NEMO/TOP_SRC/SMS/par_sms.F90	(revision 335)
+++ trunk/NEMO/TOP_SRC/SMS/par_sms.F90	(revision 336)
@@ -1,40 +1,38 @@
 MODULE par_sms
-!!======================================================================
-!!
-!!                         PARAMETER SMS
-!!                       *******************************
-!!
-!!  purpose :
-!!  ---------
-!!     INCLUDE PARAMETER FILE for SMS  models
-!!
-!!======================================================================
-!!  TOP 1.0,  LOCEAN-IPSL (2005)
-!! $Header$
-!! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt
-!!----------------------------------------------------------------------
-
+   !!---------------------------------------------------------------------
+   !!
+   !!                         PARAMETER SMS
+   !!                       *******************************
+   !!
+   !!  purpose :
+   !!  ---------
+   !!     INCLUDE PARAMETER FILE for SMS  models
+   !!
+   !!
    USE par_trc_trp
    IMPLICIT NONE
-#if defined key_trc_npzd
-#    include "par_sms_npzd.h90"
-#elif defined key_trc_lobster1
-#    include "par_sms_lobster1.h90"
-#elif defined key_trc_hamocc3
-#  if defined key_trc_p3zd
-#    include "par_sms_p3zd.h90"
-#  else
-#    include "par_sms_hamocc3.h90"
-#  endif
+
+#if defined key_trc_lobster1
+   !!----------------------------------------------------------------------
+   !!   'key_trc_lobster1'                        LOBSTER1 biological model  
+   !!----------------------------------------------------------------------
+#  include "par_sms_lobster1.h90"
+
+#elif defined key_trc_pisces
+   !!----------------------------------------------------------------------
+   !!   'key_trc_pisces'                            PISCES biological model                  
+   !!----------------------------------------------------------------------
+#  include "par_sms_pisces.h90"
+
 #elif defined key_cfc
-#    include "par_sms_cfc.h90"
-#elif defined key_gosac
-#    include "par_sms_gosac.h90"
-#elif defined key_trc_pisces
-#    include "par_sms_pisces.h90"
+   !!----------------------------------------------------------------------
+   !!   'key_cfc  '                                          CFC model                  
+   !!----------------------------------------------------------------------
+#  include "par_sms_cfc.h90"
+
 #else
-!!  purpose :
-!!  ---------
-!!     No SMS  models
+   !!  purpose :
+   !!  ---------
+   !!     No SMS  models
 #endif
 
Index: trunk/NEMO/TOP_SRC/SMS/par_sms_cfc.h90
===================================================================
--- trunk/NEMO/TOP_SRC/SMS/par_sms_cfc.h90	(revision 335)
+++ trunk/NEMO/TOP_SRC/SMS/par_sms_cfc.h90	(revision 336)
@@ -1,24 +1,16 @@
-!!
-!!                         PARAMETER passivetrc.cfc
-!!                       *******************************
-!!
-!!  purpose :
-!!  ---------
-!!     INCLUDE PARAMETER FILE for passive tracer CFC
-!!
-!!       jptra  : number of tracers
-!!
-!!----------------------------------------------------------------------
-!!  TOP 1.0,  LOCEAN-IPSL (2005)
-!! $Header$
-!! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt
-!!----------------------------------------------------------------------
+   !!---------------------------------------------------------------------
+   !!                     ***  par_sms_cfc.h90  ***  
+   !!                    CFC Source Minus Sink model
+   !!---------------------------------------------------------------------
 
-      INTEGER nsort,nsatm
-      PARAMETER(nsort=8,nsatm=4)     
-!!
-!!    temporal and hemispheric parameter 
-!!  --------------------------------------
-      integer jpyear,jphem
-      parameter (jpyear=100,jphem=2)
+   !!----------------------------------------------------------------------
+   !!  TOP 1.0,  LOCEAN-IPSL (2005)
+   !!----------------------------------------------------------------------
 
+   INTEGER , PARAMETER :: &
+      jpyear = 100,       & ! temporal parameter 
+      jphem  = 2            ! hemispheric parameter
+
+   INTEGER, PARAMETER ::  & 
+      jp11 = 1,           & ! CFC-11
+      jp12 = 2              ! CFC-12
Index: trunk/NEMO/TOP_SRC/SMS/sms.F90
===================================================================
--- trunk/NEMO/TOP_SRC/SMS/sms.F90	(revision 335)
+++ trunk/NEMO/TOP_SRC/SMS/sms.F90	(revision 336)
@@ -1,10 +1,13 @@
 MODULE sms
-
-!!---------------------------------------------------------------------
-!!  TOP 1.0,  LOCEAN-IPSL (2005)
-!! $Header$
-!! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt
-!!----------------------------------------------------------------------
-
+   !!======================================================================
+   !!                        ***  sms  ***
+   !! passive tracers :   set the passive tracers variables
+   !!======================================================================
+   !! History :
+   !!   9.0  !  04-03  (C. Ethe)  Free form and module
+   !!----------------------------------------------------------------------
+   !!  TOP 1.0,  LOCEAN-IPSL (2005)
+   !!----------------------------------------------------------------------
+   !! * Modules used
 #if defined key_passivetrc
 
@@ -13,35 +16,29 @@
    USE par_sms
    IMPLICIT NONE
-# if defined key_trc_npzd
-#    include "sms_npzd.h90"
-# endif
-!!
-# if defined key_trc_lobster1
-#    include "sms_lobster1.h90"
-# endif
-!!
-# if defined key_trc_hamocc3
-#  if defined key_trc_p3zd
-#    include "sms_p3zd.h90"
-#  else
-#    include "sms_hamocc3.h90"
-#  endif
-# endif
-# if defined key_cfc
-#    include "sms_cfc.h90"
-# endif
-# if defined key_gosac
-#    include "sms_gosac.h90"
-# endif
-# if defined key_trc_age
-#    include "sms_age.h90"
-# endif
-# if defined key_trc_pisces
-#    include "sms_pisces.h90"
-# endif
+
+#if defined key_trc_lobster1
+   !!----------------------------------------------------------------------
+   !!   'key_trc_lobster1'                        LOBSTER1 biological model  
+   !!----------------------------------------------------------------------
+#  include "sms_lobster1.h90"
+
+#elif defined key_trc_pisces
+   !!----------------------------------------------------------------------
+   !!   'key_trc_pisces'                            PISCES biological model                  
+   !!----------------------------------------------------------------------
+#  include "sms_pisces.h90"
+
+#elif defined key_cfc
+   !!----------------------------------------------------------------------
+   !!   'key_cfc  '                                          CFC model                  
+   !!----------------------------------------------------------------------
+#  include "sms_cfc.h90"
+
+#endif
+
 #else
-!!
-!! no passive tracer COMMON specification
-!!
+   !!======================================================================
+   !!  Empty module : No passive tracer 
+   !!======================================================================
 #endif
 
Index: trunk/NEMO/TOP_SRC/SMS/sms_cfc.h90
===================================================================
--- trunk/NEMO/TOP_SRC/SMS/sms_cfc.h90	(revision 335)
+++ trunk/NEMO/TOP_SRC/SMS/sms_cfc.h90	(revision 336)
@@ -1,108 +1,30 @@
-!!----------------------------------------------------------------------
-!!  TOP 1.0,  LOCEAN-IPSL (2005)
-!! $Header$
-!! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt
-!!----------------------------------------------------------------------
-#if defined key_cfc
-      integer it
-!!
-!!     tracer background: xinitri
-!!     --------------------------
-        real xinitri
-       common/cxinitri/xinitri
-!!
-!! boundary condition function for cfc 11 and 12 
-!!----------------------------------------------------------------
-#if defined key_ocmip
-!!
-!!    common pour le coefficient d''echange de gaz
-!!    -------------------------------------------
-!!      INTEGER      nvak, npdtanak, npdtmoak, nmanak, ndemiak
-!!      INTEGER      ntrak1, ntrak2, iak
-!!      REAL         ak0 (jpi,jpj,12)
-!!      REAL         ak   (jpi,jpj)
+   !!---------------------------------------------------------------------
+   !!                     ***  sms_cfc.h90  ***  
+   !!                    CFC Source Minus Sink model
+   !!---------------------------------------------------------------------
+
+   !!----------------------------------------------------------------------
+   !!  TOP 1.0,  LOCEAN-IPSL (2005)
+   !!----------------------------------------------------------------------
+
+    INTEGER, PUBLIC :: &
+       ndate_beg,     & ! initial calendar date (aammjj) for CFC
+       nyear_res,     & ! restoring time constant (year)
+       nyear_beg        ! initial year (aa) 
+   
+    REAL(wp), PUBLIC, DIMENSION(jpi,jpj)  ::  &
+       xphem            ! spatial interpolation factor for patm
 
 
-!!      COMMON/cak/ nvak, npdtanak, npdtmoak, nmanak, ndemiak &
-!!                , ak0, ak  &
-!!                , iak, ntrak1, ntrak2
-#else
-!!       real wspd(jpi,jpj) !wind speed - change to vatm (sea ice model)
-!!      common/cak/wspd
-#endif
-#if defined key_patm
-!!
-!!    common pour la pression partielle atmospherique
-!!    -------------------------------------------------
-      INTEGER      nvpatm, npdtanpatm, npdtmopatm, nmanpatm, ndemipatm
-      INTEGER      ntrpatm1, ntrpatm2, ipatm
-      REAL         patm0 (jpi,jpj,12)
-      REAL         patm   (jpi,jpj)
+    REAL(wp), PUBLIC, DIMENSION(jpyear,jphem, jptra)  ::  &   
+       p_cfc            ! partial hemispheric pressure for CFC          
 
-      COMMON/cpatm/ nvpatm, npdtanpatm, npdtmopatm, nmanpatm, ndemipatm &
-                , patm0, patm &
-                , ipatm, ntrpatm1, ntrpatm2
-#endif
-
-!!#if defined key_seaice
-!!
-!!   common pour glace de mer
-!!   ------------------------
-!!#include "common.seaice.h"
-!!#endif
-!!
-!!     concentration atmospherique de cfc
-!!     ----------------------------------                   
-!!      p11: pression partielle hemispherique de CFC11
-!!      p12: pression partielle hemispherique de CFC12
-!!      xphem: facteur d'interpolation spatial
-!!             de la pression partielle atmospherique
-!!
-        real p11(jpyear,jphem),p12(jpyear,jphem),xphem(jpi,jpj)
-!!
-!!       interpolation temporelle des concentrations atmospheriques
-!!       -----------------------------------------------------------
-        integer iandebf,ianfinf,imoisf,i1,i2
-        real patm11(jphem),patm12(jphem),pp11(jpi,jpj),pp12(jpi,jpj)
-!!
-!!       solubilite
-!!       -----------
-        real sol(jpi,jpj,jptra)
-
-!!       nombre de schmidt
-!!       ------------------
-        real sc_cfc(jpi,jpj,jptra)
-
-!!       concentration a l'equilibre
-!!       ----------------------------
-        real ca11(jpi,jpj),ca12(jpi,jpj)
-
-!!       coefficients de transfert * nb de schmidt
-!!      ------------------------------------------
-        real ak11(jpi,jpj),ak12(jpi,jpj)
-!!
-        common/cocfc_cl/i1,i2,iandebf,ianfinf,p11,p12,xphem, &
-             patm11,patm12,pp11,pp12,sc_cfc,sol,ca11, &
-             ca12,ak11,ak12
-!!
-!!   common pour flux et bilan
-!!   -------------------------
-        real erreur
-        real qint0(jptra),qcumul(jptra),tdepart(jptra),tcumul(jptra)
-        real qtr(jpi,jpj,jptra),qint(jpi,jpj,jptra)
-        real bt(jpi,jpj,jpk)
-        common/cocfc_bil/erreur,qint0,qcumul,tdepart,tcumul,qtr,qint,bt
-!!
-!!    common pour les sorties
-!!    ------------------------
-      real XIMT(8),xsort(7),SORSEL(jpi,jpj,nsort),XATM(nsatm)
-      real trfi(jpi,jpj,jpk,jptra)
-      common/cfcfc_sor/XIMT,xsort,SORSEL,XATM,trfi
-#if defined key_cfcmean
-      integer nmoytra
-      real qtram(jpi,jpj,jptra),tsurfm(jpi,jpj),ssurfm(jpi,jpj)
-      common/cfc_sorm/nmoytra,qtram,tsurfm,ssurfm
-#endif
-#endif
+ 
+    REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jptra) ::  &  
+       pp_cfc           ! temporal interpolation of atmospheric concentrations 
 
 
+    REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jptra) ::  &  
+       qtr,          & ! input function
+       qint            ! flux function
+
Index: trunk/NEMO/TOP_SRC/SMS/sms_lobster1.h90
===================================================================
--- trunk/NEMO/TOP_SRC/SMS/sms_lobster1.h90	(revision 335)
+++ trunk/NEMO/TOP_SRC/SMS/sms_lobster1.h90	(revision 336)
@@ -15,7 +15,5 @@
 !!
 !!---------------------------------------------------------------------
-!!  TOP 1.0,  LOCEAN-IPSL (2005)
-!! $Header$
-!! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt
+!!  opa8, ipsl (11/96)
 !!---------------------------------------------------------------------
 !!
@@ -31,8 +29,11 @@
 !!      admin     : minimum detritus concentration (NAMELIST)
 !!      redf      : redfield ratio c:n (NAMELIST)
+!!      reddom    : redfield ratio c:n for DOM
 !!      slopet    : van t hoff coefficient (NAMELIST)
 !!      toptp     : optimal photosynthesis temperature (NAMELIST)
 !!      aknut     : half-saturation nutrient (NAMELIST)
-!!      r!!hl     : standard carbone/chlorophyl ratio (NAMELIST)
+!!      akno3     : half-saturation for nitrate (NAMELIST)
+!!      aknh4     : half-saturation for ammonium (NAMELIST)
+!!      psinut    : inhibition of nitrate uptake by ammonium (NAMELIST)
 !!      rgamma    : phytoplankton exudation fraction (NAMELIST)
 !!      toptgz    : optimal temperature for zooplankton growth (NAMELIST)
@@ -68,21 +69,28 @@
 !!      xhr       : coeff for Martin's remineralistion profile
 !!
+!!      added by asklod AS Kremeur 2005-03:
+!!      fphylab   : NH4 fraction of phytoplankton excretion
+!!      fzoolab   : NH4 fraction of zooplankton excretion
+!!      fdetlab   : NH4 fraction of detritus dissolution
+!!      fdbod     : zooplankton mortality fraction that goes to detritus
 
       REAL apmin,azmin,anmin,admin,  &
-                    redf,slopet,toptp,aknut,rcchl,  &
+                    redf,reddom,slopet,toptp,aknut,psinut,akno3,aknh4,rcchl,  &
                      rgamma,toptgz,tmaxgz,rgz,  &
                      rppz,taus,aks,filmax,rpnaz,rdnaz,eggzoo,tauzn,  &
                      tmmaxp,tmminp,tmmaxz,tmminz,anumin,afdmin,taudn,  &
                      vsed,tmumax,aki,  &
-                     tmaxr,tminr,fdoml,taunn,taudomn,xhr
+                     tmaxr,tminr,fdoml,taunn,taudomn,xhr,  &
+                     fphylab,fzoolab,fdetlab,fdbod
       REAL remdmp(jpk,jptra)
 
       COMMON/cotbio/  apmin,azmin,anmin,admin,  &
-                     redf,slopet,toptp,aknut,rcchl,  &
+                     redf,reddom,slopet,toptp,aknut,psinut,akno3,aknh4,rcchl,  &
                      rgamma,toptgz,tmaxgz,rgz,  &
                      rppz,taus,aks,filmax,rpnaz,rdnaz,eggzoo,tauzn,  &
                      tmmaxp,tmminp,tmmaxz,tmminz,anumin,afdmin,taudn,  &
                      vsed,tmumax,aki,  &
-                     tmaxr,tminr,remdmp,fdoml,taunn,taudomn,xhr
+                     tmaxr,tminr,remdmp,fdoml,taunn,taudomn,xhr,  &
+                     fphylab,fzoolab,fdetlab,fdbod
 !!
 !!
@@ -111,7 +119,11 @@
 !!
 !!      nwritebio: time step frequency for biological outputs (NAMELIST)
+! asklod 10-2005: oubli de cette partie dans l update:
+!!      nitb     : id for additional array output FILE
+!!      ndepitb  : id for depth mesh
+!!      nhoritb  : id for horizontal mesh
 !!
-      INTEGER nwritebio
-      COMMON/cibcdf/nwritebio
+      INTEGER nwritebio,nitb,ndepitb,nhoritb
+      COMMON/cibcdf/nwritebio,nitb,ndepitb,nhoritb
 
 #    endif 
@@ -145,12 +157,17 @@
 !!      dmin3  : fraction of sinking POC released at each level
 !!      dminl  : fraction of sinking POC released in sediments
-!!      sedpoc : mass of POC in sediments
+!! asklod add sedpocb, sedpocn, sedpoca 17 06 2005
+!!      sedpocb : mass of POC in sediments
+!!      sedpocn : mass of POC in sediments
+!!      sedpoca : mass of POC in sediments
 !!      fbod   : rapid sinking particles
 !!
 !!
       REAL sedlam,sedlostpoc
-      REAL dmin3(jpi,jpj,jpk), dminl(jpi,jpj),sedpoc(jpi,jpj)
+      REAL dmin3(jpi,jpj,jpk), dminl(jpi,jpj)
+      REAL sedpoca(jpi,jpj),sedpocb(jpi,jpj),sedpocn(jpi,jpj)
       REAL fbod(jpi,jpj),cmask(jpi,jpj),areacot
 
-      COMMON/cotsedim/sedlam,dmin3,dminl,sedpoc,fbod,sedlostpoc, &
-     &                cmask, areacot
+      COMMON/cotsedim/sedlam,dmin3,dminl,fbod,sedlostpoc, &
+         &               sedpoca, sedpocb, sedpocn, &
+         &                cmask, areacot
Index: trunk/NEMO/TOP_SRC/SMS/sms_pisces.h90
===================================================================
--- trunk/NEMO/TOP_SRC/SMS/sms_pisces.h90	(revision 335)
+++ trunk/NEMO/TOP_SRC/SMS/sms_pisces.h90	(revision 336)
@@ -13,7 +13,5 @@
 !!
 !!---------------------------------------------------------------------
-!!  TOP 1.0,  LOCEAN-IPSL (2005)
-!! $Header$
-!! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt
+!!  opa8, ipsl (11/96)
 !!---------------------------------------------------------------------
 !!
@@ -40,22 +38,28 @@
 !! ---------------------------------------------------------------------
 !!
-      REAL akcc1, akcc2, akcc3, akcc4, devk1, devk2, devkb
-      REAL devk1t, devk2t, devkbt, devkst, devks
+      REAL akcc1, akcc2, akcc3, akcc4, devk1(4), devk2(4)
+      REAL devk3(4), devk4(4), devk5(4), devkst, devks
       REAL bor1, bor2, c00, c01, c02, c03, c04, c05, c10, c11
       REAL c12, c13, c20, c21, c22, c23, cb0, cb1, cb2, cb3
-      REAL c14, c15, c16, c17, c24, c25, c26, c27
-      REAL cb4, cb5, cb6, cb7, cb8, cb9, cb10, cb11
+      REAL cb4, cb5, cb6, cb7, cb8, cb9, cb10, cb11, c14
       REAL cw3, cw4, cw5, cw6, cw0, cw1, cw2, ox0, ox1
       REAL ox2, ox3, ox4, salchl, rgas, oxyco, ox5
-      REAL chemc(jpi,jpj,3)
-
-      COMMON/cchem2/ akcc1, akcc2, akcc3, akcc4, devk1, devk2,  &
-      devkb, devk1t, devk2t, devkbt, devkst, devks,  &
-      bor1, bor2, c00, c01, c02, c03, c04, c05, c10, c11,  &
-      c12, c13, c20, c21, c22, c23, cb0, cb1, cb2, cb3,  &
-      c14, c15, c16, c17, c24, c25, c26, c27, cb4, cb5,  &
-      cb6, cb7, cb8, cb9, cb10, cb11,  cw3, cw4, cw5, cw6,  &
-      cw0, cw1, cw2, ox0, ox1, ox2, ox3, ox4, ox5, salchl,  &
-      rgas, oxyco, chemc
+      REAL ca0, ca1, ca2, ca3, ca4, ca5, ca6, chemc(jpi,jpj,3)
+      REAL cp10, cp11, cp12, cp13, cp14, cp15, cp16, cp20, cp21
+      REAL cp22, cp23, cp24, cp25, cp26, cp30, cp31, cp32, cp33
+      REAL cp34, cp35, cs10, cs11, cs12, cs13, cs14, cs15, cs16
+      REAL cs17, cs18, cs19
+
+      COMMON/cchem2/ akcc1, akcc2, akcc3, akcc4, devk1, devk2,   &
+       devk3, devk4, devk5, devkst, devks,   &
+       bor1, bor2, c00, c01, c02, c03, c04, c05, c10, c11, &
+       c12, c13, c20, c21, c22, c23, cb0, cb1, cb2, cb3,  &
+       c14, cb4, cb5, ca0, ca1, ca2, ca3, ca4, ca5, ca6,  &
+       cb6, cb7, cb8, cb9, cb10, cb11,  cw3, cw4, cw5, cw6,  &
+       cw0, cw1, cw2, ox0, ox1, ox2, ox3, ox4, ox5, salchl,  &
+       cp10, cp11, cp12, cp13, cp14, cp15, cp16, cp20, cp21,  &
+       cp22, cp23, cp24, cp25, cp26, cp30, cp31, cp32, cp33,  &
+       cp34, cp35, cs10, cs11, cs12, cs13, cs14, cs15, cs16,  &
+       cs17, cs18, cs19, rgas, oxyco, chemc
 !!
 !! COMMON/cchem3/ : Variable for chemistry of Fe and SIO3
@@ -86,9 +90,9 @@
 !!
 
-      INTEGER iabsyr, nrdttrc
+      INTEGER iabsyr, nrdttrc, ndayflxtr
       REAL tspyr, absyr, xtvit
       REAL rfact, rfactr, rfact2, rfact2r
 
-      COMMON/cottim/iabsyr,nrdttrc,tspyr, absyr,xtvit, &
+      COMMON/cottim/iabsyr,nrdttrc,tspyr, absyr,xtvit, ndayflxtr, &
                     rfact, rfactr, rfact2, rfact2r
 
@@ -120,7 +124,7 @@
       REAL caco3r, rno3, o2ut, po4r
       REAL sco2, dispo0, conc0,sumdepsi,rivalkinput,sedfeinput
-      REAL calcon, rivpo4input,rivnitinput,oxymin,spocri
+      REAL calcon, rivpo4input,nitdepinput,oxymin,spocri
       REAL nitrif,rdenit,o2nit,concnnh4,concdnh4
-      REAL pislope,excret,wsbio,wchl,resrat,mprat
+      REAL pislope,excret,wsbio,wchl,resrat,mprat,wchld
       REAL mzrat,grazrat,xprefc,xprefp,unass,xkgraz,xkmort
       REAL xksi1,xksi2,sicmax,xremik,xremip,xkdoc1
@@ -129,12 +133,12 @@
       REAL unass2,xprefpoc,epsher,epsher2,pislope2,mpratm
       REAL sigma1, sigma2, zprefc, zprefp, zprefd, wchl2, ferat3
-      REAL xsirem
+      REAL xsirem, fecnm, fecdm, chlcnm, chlcdm
 
 
       COMMON/cotham/jkopt,caco3r, rno3, o2ut, po4r,   &
                     sco2, dispo0, conc0,sumdepsi,rivalkinput,sedfeinput,   &
-                    calcon, rivpo4input,rivnitinput,oxymin,spocri,   &
+                    calcon, rivpo4input,nitdepinput,oxymin,spocri,   &
                     nitrif,rdenit,o2nit,concnnh4,concdnh4, &
-                    pislope,excret,wsbio,wchl,resrat,mprat,   &
+                    pislope,excret,wsbio,wchl,resrat,mprat,wchld,   &
                     mzrat,grazrat,xprefc,xprefp,unass,xkgraz,xkmort,   &
                     xksi1,xksi2,sicmax,xremik,xremip,xkdoc1,   &
@@ -143,5 +147,5 @@
                     unass2,xprefpoc,epsher,epsher2,pislope2,mpratm, &
                     sigma1,sigma2, zprefc, zprefp, zprefd, wchl2, ferat3, &
-                    xsirem
+                    xsirem, fecnm, fecdm, chlcnm, chlcdm
 
 !!
@@ -163,5 +167,5 @@
 !!----------------------------------------------------------
 !!
-      REAL prmax(jpi,jpj,jpk),tgfunc(jpi,jpj,jpk)
+      REAL prmax(jpi,jpj,jpk),tgfunc(jpi,jpj,jpk), tgfunc2(jpi,jpj,jpk)
       REAL prcaca(jpi,jpj,jpk), silpro(jpi,jpj,jpk), prorca(jpi,jpj,jpk)
       REAL prorca2(jpi,jpj,jpk),prorca3(jpi,jpj,jpk)
@@ -174,10 +178,14 @@
       REAL xlimphy(jpi,jpj,jpk),xlimdia(jpi,jpj,jpk)
       REAL xksimax(jpi,jpj), xksi(jpi,jpj)
+      REAL concdfe(jpi,jpj,jpk),xlimdia2(jpi,jpj,jpk)
+      REAL concnfe(jpi,jpj,jpk),znegtr(jpi,jpj,jpk)
+
 
 
       COMMON/cotppp/prmax,tgfunc,prcaca,silpro,prorca,prorca2,  &
           prorca3,prorca4,prorca5,prorca6,prorca7,pronew,  &
-          pronew2,proreg,proreg2,xnanono3,xdiatno3,  &
-          xnanonh4,xdiatnh4,xlimphy,xlimdia,xksimax,xksi
+          pronew2,proreg,proreg2,xnanono3,xdiatno3,tgfunc2,  &
+          xnanonh4,xdiatnh4,xlimphy,xlimdia,xksimax,xksi,  &
+          concdfe, xlimdia2, concnfe, znegtr
 !!
 !!------------------------------------------
@@ -247,9 +255,11 @@
       REAL sinksil(jpi,jpj,jpk),sinkcal(jpi,jpj,jpk)
       REAL nitrfac(jpi,jpj,jpk),xlimbac(jpi,jpj,jpk)
+      REAL wscal(jpi,jpj,jpk)
 
       COMMON/cotpdom/sinking2,phymoy,sinking,sinkfer,sinkfer2,  &
           xagg,xaggfe,xbact,xaggdoc,xaggdfe,xbactfer,xscave,  &
           olimi,orem,orem2,ofer,ofer2,osil,xaggdoc2,wsbio4,  &
-          wsbio3,wsbio2,sinksil,sinkcal,nitrfac,xlimbac,zdiss
+          wsbio3,wsbio2,sinksil,sinkcal,nitrfac,xlimbac,zdiss, &
+          wscal
 !!
 !!---------------------------------------------------------
@@ -261,14 +271,13 @@
       REAL onitr(jpi,jpj,jpk),denitr(jpi,jpj,jpk)
       REAL dust(jpi,jpj),dustmo(jpi,jpj,12)
-      REAL cmask(jpi,jpj,jpk),areacot,cotdep(jpi,jpj,jpk)
-      REAL nitdep(jpi,jpj,jpk)
-      REAL ironsed(jpi,jpj,jpk),po4dep(jpi,jpj,jpk)
+      REAL cmask(jpi,jpj,jpk),areacot,cotdep(jpi,jpj)
+      REAL nitdep(jpi,jpj) 
+      REAL ironsed(jpi,jpj,jpk),rivinp(jpi,jpj)
       LOGICAL bdustfer, briver, bndepo, bsedinput
 
       COMMON/cotesms/onitr,denitr,dust,dustmo,cmask,areacot, &
-                     cotdep,nitdep,ironsed,po4dep,bdustfer,briver, &
+                     cotdep,nitdep,ironsed,rivinp,bdustfer,briver, &
                      bndepo,bsedinput
 
-
 #endif
 
Index: trunk/NEMO/TOP_SRC/SMS/trcctl.pisces.h90
===================================================================
--- trunk/NEMO/TOP_SRC/SMS/trcctl.pisces.h90	(revision 335)
+++ trunk/NEMO/TOP_SRC/SMS/trcctl.pisces.h90	(revision 336)
@@ -1,7 +1,2 @@
-!!----------------------------------------------------------------------
-!!  TOP 1.0,  LOCEAN-IPSL (2005)
-!! $Header$
-!! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt
-!!----------------------------------------------------------------------
 #if defined key_trc_pisces
       IF(lwp) WRITE(numout,*) ' use PISCES biological model '
@@ -21,21 +16,3 @@
           STOP 'TRC_CTL'
       END IF 
-
-! check consistency of key_trc_hamocc3 and key_trc_p3zd
-! ------------------------------------------------------
-
-#    if defined key_trc_diaadd
-      IF ( jpdia2d /= 16 .AND. jpdia3d /= 9 ) THEN 
-          IF (lwp) THEN 
-              WRITE (numout,*) ' ===>>>> : w a r n i n g '
-              WRITE (numout,*) ' =======   ============= '
-              WRITE (numout,*)                                      &
-              &   ' STOP, change jpdia2d to 13 and jpdia3d to 2'    &
-              &   ,' in parameter.passivetrc.h '                    & 
-              &   ,' (key_trc_pisces and key_trc_diaadd)'
-          END IF 
-          STOP 'TRC_CTL'
-      END IF
-
-#    endif
 #endif
Index: trunk/NEMO/TOP_SRC/SMS/trcini.lobster1.h90
===================================================================
--- trunk/NEMO/TOP_SRC/SMS/trcini.lobster1.h90	(revision 335)
+++ trunk/NEMO/TOP_SRC/SMS/trcini.lobster1.h90	(revision 336)
@@ -1,70 +1,77 @@
-!!---------------------------------------------------------------------
-!!
-!!                        trcini.lobster1.h
-!!  purpose :
-!!  ---------
-!!     specific initialisation for lobster1 model
-!!
-!!   History :
-!!   --------
-!!      original    : 99-09 (M. Levy) 
-!!      additions   : 00-12 (0. Aumont, E. Kestenare)
-!!                           add sediment computations
-!!    03-05 : O. Aumont and A. El Moussaoui F90  
-!!---------------------------------------------------------------------
-!!  TOP 1.0,  LOCEAN-IPSL (2005)
-!! $Header$
-!! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt
-!!---------------------------------------------------------------------
-!! local declarations
-!! ==================
-      INTEGER ji,jj,jk
+   !!----------------------------------------------------------------------
+   !!                    ***  trcini.lobster1.h90 ***
+   !!----------------------------------------------------------------------
+#  include "domzgr_substitute.h90"
+#  include "passivetrc_substitute.h90"
+CONTAINS
+
+   SUBROUTINE trc_ini
+      !!---------------------------------------------------------------------
+      !!                    ***  ROUTINE trc_ini  ***
+      !!  purpose :
+      !!  ---------
+      !!     specific initialisation for lobster1 model
+      !!
+      !!   History :
+      !!   --------
+      !!      original    : 99-09 (M. Levy) 
+      !!      additions   : 00-12 (0. Aumont, E. Kestenare)
+      !!                           add sediment computations
+      !!    03-05 : O. Aumont and A. El Moussaoui F90  
+      !!---------------------------------------------------------------------
+      !! local declarations
+      !! ==================
+      INTEGER ji,jj,jk,jn
       REAL zdm0(jpi,jpj,jpk),zrro(jpi,jpj),zfluo,zfluu
       REAL ztest
 
-!! 1. initialization of fields for optical model
-!! --------------------------------------------
+      !! 1. initialization of fields for optical model
+      !! --------------------------------------------
 
-          xze(:,:)=5.
-          xpar(:,:,:)=0.
+      xze(:,:)=5.
+      xpar(:,:,:)=0.
 
-!! 2. initialization for passive tracer remineralisation-damping  array
-!! -------------------------------------------------------------------------
- 
+      !! 2. initialization for passive tracer remineralisation-damping  array
+      !! -------------------------------------------------------------------------
+
       DO jn=1,jptra
-          remdmp(:,jn)=tminr
+         remdmp(:,jn)=tminr
       END DO
 
       IF(lwp) THEN
-          WRITE(numout,*) ' '
-          WRITE(numout,*) ' trcini: compute remineralisation-damping  '
-          WRITE(numout,*) '         arrays for tracers'
+         WRITE(numout,*) ' '
+         WRITE(numout,*) ' trcini: compute remineralisation-damping  '
+         WRITE(numout,*) '         arrays for tracers'
       ENDIF
 
-!! 3. initialization of biological variables
-!! ------------------------------------------
+      !! 3. initialization of biological variables
+      !! ------------------------------------------
 
-!! Calculate vertical distribution of newly formed biogenic poc
-!! in the water column in the case of max. possible bottom depth
-!! ------------------------------------------------------------
+      !! Calculate vertical distribution of newly formed biogenic poc
+      !! in the water column in the case of max. possible bottom depth
+      !! ------------------------------------------------------------
 
       zdm0   = 0.
       zrro = 1.
       DO jk = jpkb,jpkm1
-            zfluo = (fsdepw(:,:,jk)/fsdepw(:,:,jpkb))**xhr 
-            zfluu = (fsdepw(:,:,jk+1)/fsdepw(:,:,jpkb))**xhr
-            IF (zfluo.gt.1.) zfluo = 1.
-            zdm0(:,:,jk) = zfluo-zfluu
-            IF (jk.le.jpkb-1) zdm0(:,:,jk)=0.
-            zrro(:,:) = zrro(:,:)-zdm0(:,:,jk)
+         DO jj =1, jpj
+            DO ji =1, jpi
+               zfluo = (fsdepw(ji,jj,jk)/fsdepw(ji,jj,jpkb))**xhr 
+               zfluu = (fsdepw(ji,jj,jk+1)/fsdepw(ji,jj,jpkb))**xhr
+               IF (zfluo.GT.1.) zfluo = 1.
+               zdm0(ji,jj,jk) = zfluo-zfluu
+               IF (jk.LE.jpkb-1) zdm0(ji,jj,jk)=0.
+               zrro(ji,jj) = zrro(ji,jj)-zdm0(ji,jj,jk)
+            ENDDO
+         ENDDO
       ENDDO
 !!!
 
-          zdm0(:,:,jpk) = zrro(:,:)
+      zdm0(:,:,jpk) = zrro(:,:)
 
-!! Calculate vertical distribution of newly formed biogenic poc
-!! in the water column with realistic topography (first "dry" layer
-!! contains total fraction, which has passed to the upper layers)
-!! ----------------------------------------------------------------------
+      !! Calculate vertical distribution of newly formed biogenic poc
+      !! in the water column with realistic topography (first "dry" layer
+      !! contains total fraction, which has passed to the upper layers)
+      !! ----------------------------------------------------------------------
 
       dminl = 0.
@@ -73,45 +80,45 @@
       DO jk = 1,jpk
          DO jj = 1,jpj
-           DO ji = 1,jpi
+            DO ji = 1,jpi
 
-            IF(tmask(ji,jj,jk) == 0) THEN
-                dminl(ji,jj) = dminl(ji,jj)+dmin3(ji,jj,jk)
-                dmin3(ji,jj,jk) = 0.0
-            ENDIF
+               IF(tmask(ji,jj,jk) == 0) THEN
+                  dminl(ji,jj) = dminl(ji,jj)+dmin3(ji,jj,jk)
+                  dmin3(ji,jj,jk) = 0.0
+               ENDIF
 
-          ENDDO
-        ENDDO
+            ENDDO
+         ENDDO
       ENDDO
 
       DO jj = 1,jpj
-        DO ji = 1,jpi
-          IF (tmask(ji,jj,1) == 0) dmin3(ji,jj,1) = 0.
-        ENDDO
+         DO ji = 1,jpi
+            IF (tmask(ji,jj,1) == 0) dmin3(ji,jj,1) = 0.
+         ENDDO
       ENDDO
 
-!! CALCUL DU MASK DE COTE
-!! ----------------------   
-        cmask=0.
-        do ji=2,jpi-1
-          do jj=2,jpj-1
+      !! CALCUL DU MASK DE COTE
+      !! ----------------------   
+      cmask=0.
+      do ji=2,jpi-1
+         do jj=2,jpj-1
             if (tmask(ji,jj,1) == 1) then
-             ztest=tmask(ji+1,jj,1)*tmask(ji-1,jj,1)*tmask(ji,jj+1,1)
-     .             *tmask(ji,jj-1,1)
-             if (ztest == 0) cmask(ji,jj)=1.
-             endif
-          end do
-        end do
+               ztest=tmask(ji+1,jj,1)*tmask(ji-1,jj,1)*tmask(ji,jj+1,1)*tmask(ji,jj-1,1)
+               IF (ztest == 0) cmask(ji,jj) = 1.
+            endif
+         end do
+      end do
 
-        cmask(1,:)=cmask(jpi-1,:)
-        cmask(jpi,:)=cmask(2,:)
+      cmask(1,:)=cmask(jpi-1,:)
+      cmask(jpi,:)=cmask(2,:)
 
 
-!! CALCUL DE LA SURFACE COTIERE
-!! ----------------------------
-         areacot=0.
-         do ji=2,jpi-1
-            do jj=2,jpj-1
-               areacot=areacot+e1t(ji,jj)*e2t(ji,jj)*cmask(ji,jj)
-            end do
+      !! CALCUL DE LA SURFACE COTIERE
+      !! ----------------------------
+      areacot=0.
+      do ji=2,jpi-1
+         do jj=2,jpj-1
+            areacot=areacot+e1t(ji,jj)*e2t(ji,jj)*cmask(ji,jj)
          end do
+      end do
 
+   END SUBROUTINE trc_ini
Index: trunk/NEMO/TOP_SRC/SMS/trcini.pisces.h90
===================================================================
--- trunk/NEMO/TOP_SRC/SMS/trcini.pisces.h90	(revision 335)
+++ trunk/NEMO/TOP_SRC/SMS/trcini.pisces.h90	(revision 336)
@@ -1,42 +1,47 @@
-!!-----------------------------------------------------------------
-!!
-!!                     ROUTINE trcini.pisces.h90
-!!                     ************************
-!!
-!!  PURPOSE :
-!!  ---------
-!!     Initialisation of PISCES biological and chemical variables
-!!
-!!   INPUT :
-!!   -----
-!!      common
-!!              all the common defined in opa 
-!!
-!!
-!!   OUTPUT :                   : no
-!!   ------
-!!
-!!   EXTERNAL :
-!!   ----------
-!!         p4zche
-!!
-!!   MODIFICATIONS:
-!!   --------------
-!!      original  : 1988-07  E. MAIER-REIMER      MPI HAMBURG
-!!      additions : 1999-10  O. Aumont and C. Le Quere
-!!      additions : 2002     O. Aumont (PISCES)
-!!     03-2005 O. Aumont and A. El Moussaoui F90
-!!---------------------------------------------------------------------
-!!  TOP 1.0,  LOCEAN-IPSL (2005)
-!! $Header$
-!! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt
-!!----------------------------------------------------------------------
-!! local declarations
-!! ==================
+   !!----------------------------------------------------------------------
+   !!                    ***  trcini.pisces.h90 ***
+   !!----------------------------------------------------------------------
+#  include "domzgr_substitute.h90"
+#  include "passivetrc_substitute.h90"
+CONTAINS
+
+   SUBROUTINE trc_ini
+      !!-----------------------------------------------------------------
+      !!
+      !!                   ***  ROUTINE trc_ini ***
+      !!                     
+      !!
+      !!  Purpose :
+      !!  ---------
+      !!     Initialisation of PISCES biological and chemical variables
+      !!
+      !!   INPUT :
+      !!   -----
+      !!      common
+      !!              all the common defined in opa 
+      !!
+      !!
+      !!   OUTPUT :                   : no
+      !!   ------
+      !!
+      !!   EXTERNAL :
+      !!   ----------
+      !!         p4zche
+      !!
+      !!   MODIFICATIONS:
+      !!   --------------
+      !!      original  : 1988-07  E. MAIER-REIMER      MPI HAMBURG
+      !!      additions : 1999-10  O. Aumont and C. Le Quere
+      !!      additions : 2002     O. Aumont (PISCES)
+      !!     03-2005 O. Aumont and A. El Moussaoui F90
+      !!---------------------------------------------------------------------
+      !! local declarations
+      !! ==================
+      INTEGER :: ji,jj,jk
       INTEGER :: ichl,iband,mo
       INTEGER , PARAMETER :: jpmois = 12,      &
-                             jpan   = 1 
-
-      REAL(wp) :: xtoto,expide,denitide,ztra
+         jpan   = 1 
+
+      REAL(wp) :: xtoto,expide,denitide,ztra,zmaskt
       REAL(wp) , DIMENSION (jpi,jpj) :: riverdoc,river,ndepo
       CHARACTER (len=34) :: clname
@@ -50,10 +55,10 @@
       INTEGER :: numriv,numdust,numbath,numdep
 
-!! 1. initialization
-!! -----------------
-
-!! computation of the record length for direct access FILE
-!! this length depend of 512 for the t3d machine
-!!
+      !! 1. initialization
+      !! -----------------
+
+      !! computation of the record length for direct access FILE
+      !! this length depend of 512 for the t3d machine
+      !!
       rfact = rdttra(1) * float(ndttrc)
       rfactr = 1./rfact
@@ -63,16 +68,16 @@
       IF(lwp) write(numout,*) ' Biology time step=',rfact2
 
-!!    INITIALISE DUST INPUT FROM ATMOSPHERE
-!!    -------------------------------------
-
-       IF (bdustfer) THEN
+      !!    INITIALISE DUST INPUT FROM ATMOSPHERE
+      !!    -------------------------------------
+
+      IF (bdustfer) THEN
          clname='dust.orca.nc'
-       CALL flinopen(clname,mig(1),nlci,mjg(1),nlcj,.false.,ipi,ipj,0        &
-     &      ,zlon,zlat,zlev,itime,istep,zdate0,zsecond,numdust)
-       CALL flinget(numdust,'dust',jpidta,jpjdta,0,jpmois,1,                 &
-     &        12,mig(1),nlci,mjg(1),nlcj,dustmo(1:nlci,1:nlcj,:) )
-       CALL flinclo(numdust)
-
-        ! Extra-halo initialization in MPP
+         CALL flinopen(clname,mig(1),nlci,mjg(1),nlcj,.false.,ipi,ipj,0        &
+            &      ,zlon,zlat,zlev,itime,istep,zdate0,zsecond,numdust)
+         CALL flinget(numdust,'dust',jpidta,jpjdta,0,jpmois,1,                 &
+            &        12,mig(1),nlci,mjg(1),nlcj,dustmo(1:nlci,1:nlcj,:) )
+         CALL flinclo(numdust)
+
+         ! Extra-halo initialization in MPP
          IF( lk_mpp ) THEN
             DO ji = nlci+1, jpi
@@ -83,22 +88,22 @@
             ENDDO
          ENDIF
-       ELSE
-       dustmo(:,:,:)=0.
-       ENDIF
-
-!!    INITIALISE THE NUTRIENT INPUT BY RIVERS
-!!    ---------------------------------------
-
-       IF (briver) THEN
-        clname='river.orca.nc'
-       CALL flinopen(clname,mig(1),nlci,mjg(1),nlcj,.false.,ipi,ipj,0        &
-      &      ,zlon,zlat,zlev,itime,istep0,zdate0,zsecond,numriv)
-       CALL flinget(numriv,'riverdic',jpidta,jpjdta,0,jpan,1,                &
-      &        1,mig(1),nlci,mjg(1),nlcj,river(1:nlci,1:nlcj) )
-       CALL flinget(numriv,'riverdoc',jpidta,jpjdta,0,jpan,1,                &
-      &        1,mig(1),nlci,mjg(1),nlcj,riverdoc(1:nlci,1:nlcj) )
-       CALL flinclo(numriv)
-
-        ! Extra-halo initialization in MPP
+      ELSE
+         dustmo(:,:,:)=0.
+      ENDIF
+
+      !!    INITIALISE THE NUTRIENT INPUT BY RIVERS
+      !!    ---------------------------------------
+
+      IF (briver) THEN
+         clname='river.orca.nc'
+         CALL flinopen(clname,mig(1),nlci,mjg(1),nlcj,.false.,ipi,ipj,0        &
+            &      ,zlon,zlat,zlev,itime,istep0,zdate0,zsecond,numriv)
+         CALL flinget(numriv,'riverdic',jpidta,jpjdta,0,jpan,1,                &
+            &        1,mig(1),nlci,mjg(1),nlcj,river(1:nlci,1:nlcj) )
+         CALL flinget(numriv,'riverdoc',jpidta,jpjdta,0,jpan,1,                &
+            &        1,mig(1),nlci,mjg(1),nlcj,riverdoc(1:nlci,1:nlcj) )
+         CALL flinclo(numriv)
+
+         ! Extra-halo initialization in MPP
          IF( lk_mpp ) THEN
             DO ji = nlci+1, jpi
@@ -112,21 +117,21 @@
          ENDIF
 
-       ELSE
-       river(:,:)=0.
-       riverdoc(:,:)=0.
-       endif
-
-!!    INITIALISE THE N INPUT BY DUST
-!!  ---------------------------------------
-
-       IF (bndepo) THEN
-        clname='ndeposition.orca.nc'
-       CALL flinopen(clname,mig(1),nlci,mjg(1),nlcj,.false.,ipi,ipj,0        &
-     &      ,zlon,zlat,zlev,itime,istep0,zdate0,zsecond,numdep)
-       CALL flinget(numdep,'ndep',jpidta,jpjdta,0,jpan,1,                   &
-     &        1,mig(1),nlci,mjg(1),nlcj,ndepo(1:nlci,1:nlcj) )
-       CALL flinclo(numdep)
-
-        ! Extra-halo initialization in MPP
+      ELSE
+         river(:,:)=0.
+         riverdoc(:,:)=0.
+      endif
+
+      !!    INITIALISE THE N INPUT BY DUST
+      !!  ---------------------------------------
+
+      IF (bndepo) THEN
+         clname='ndeposition.orca.nc'
+         CALL flinopen(clname,mig(1),nlci,mjg(1),nlcj,.false.,ipi,ipj,0        &
+            &      ,zlon,zlat,zlev,itime,istep0,zdate0,zsecond,numdep)
+         CALL flinget(numdep,'ndep',jpidta,jpjdta,0,jpan,1,                   &
+            &        1,mig(1),nlci,mjg(1),nlcj,ndepo(1:nlci,1:nlcj) )
+         CALL flinclo(numdep)
+
+         ! Extra-halo initialization in MPP
          IF( lk_mpp ) THEN
             DO ji = nlci+1, jpi
@@ -138,22 +143,37 @@
          ENDIF
 
-       ELSE
-       ndepo(:,:)=0.
-       ENDIF
-
-!!    Computation of the coastal mask.
-!!    Computation of an island mask to enhance coastal supply
-!!    of iron
-!!    -------------------------------------------------------
-
-       IF (bsedinput) THEN
-        clname='bathy.orca.nc'
-       CALL flinopen(clname,mig(1),nlci,mjg(1),nlcj,.false.,ipi,ipj,ipk      &
-    &      ,zlon,zlat,zlev,itime,istep0,zdate0,zsecond,numbath)
-       CALL flinget(numbath,'bathy',jpidta,jpjdta,jpk,jpan,1,                &
-    &        1,mig(1),nlci,mjg(1),nlcj,cmask(1:nlci,1:nlcj,1:jpk) )
-       CALL flinclo(numbath)
-
-        ! Extra-halo initialization in MPP
+      ELSE
+         ndepo(:,:)=0.
+      ENDIF
+
+      !!    Computation of the coastal mask.
+      !!    Computation of an island mask to enhance coastal supply
+      !!    of iron
+      !!    -------------------------------------------------------
+
+      IF (bsedinput) THEN
+         clname='bathy.orca.nc'
+         CALL flinopen(clname,mig(1),nlci,mjg(1),nlcj,.false.,ipi,ipj,ipk      &
+            &      ,zlon,zlat,zlev,itime,istep0,zdate0,zsecond,numbath)
+         CALL flinget(numbath,'bathy',jpidta,jpjdta,jpk,jpan,1,                &
+            &        1,mig(1),nlci,mjg(1),nlcj,cmask(1:nlci,1:nlcj,1:jpk) )
+         CALL flinclo(numbath)
+
+         do jk=1,5
+            do jj=2,jpj-1
+               do ji=2,jpi-1
+                  if (tmask(ji,jj,jk).ne.0) then
+                     zmaskt=tmask(ji+1,jj,jk)*tmask(ji-1,jj,jk)*tmask(ji,jj+1,jk)    &
+                        &          *tmask(ji,jj-1,jk)*tmask(ji,jj,jk+1)
+                     if (zmaskt.eq.0) then
+                        cmask(ji,jj,jk)=0.1
+                     endif
+                  endif
+               end do
+            end do
+         end do
+
+
+         ! Extra-halo initialization in MPP
          IF( lk_mpp ) THEN
             DO ji = nlci+1, jpi
@@ -166,115 +186,118 @@
 
          DO jk = 1, jpk
-           DO jj = 1, jpj
-             DO ji = 1, jpi
-               expide=min(8.,(fsdept(ji,jj,jk)/500.)**(-1.5))
-               denitide=-0.9543+0.7662*log(expide)-0.235*log(expide)**2
-               cmask(ji,jj,jk)=cmask(ji,jj,jk)*exp(denitide)/0.6858
-             END DO
-           END DO
+            DO jj = 1, jpj
+               DO ji = 1, jpi
+                  expide=min(8.,(fsdept(ji,jj,jk)/500.)**(-1.5))
+                  denitide=-0.9543+0.7662*log(expide)-0.235*log(expide)**2
+                  cmask(ji,jj,jk)=cmask(ji,jj,jk)*min(1.,exp(denitide)/0.5)
+               END DO
+            END DO
          END DO
 
-       ELSE
-       cmask(:,:,:)=0.
-       ENDIF
-
-!!     Computation of the total atmospheric supply of Si
-!!     -------------------------------------------------
-
-       sumdepsi=0.
-       DO mo=1,12
+      ELSE
+         cmask(:,:,:)=0.
+      ENDIF
+
+      ! Lateral boundary conditions on ( avt, en )   (sign unchanged)
+      CALL lbc_lnk( cmask , 'T', 1. )
+
+      !!     Computation of the total atmospheric supply of Si
+      !!     -------------------------------------------------
+
+      sumdepsi=0.
+      DO mo=1,12
          DO jj=2,jpjm1
-           DO ji=2,jpim1
-           sumdepsi=sumdepsi+dustmo(ji,jj,mo)/(12.*rmoss)*8.8        &
-              *0.075/28.1*e1t(ji,jj)*e2t(ji,jj)*tmask(ji,jj,1)
-           END DO
+            DO ji=2,jpim1
+               sumdepsi=sumdepsi+dustmo(ji,jj,mo)/(12.*rmoss)*8.8        &
+                  *0.075/28.1*e1t(ji,jj)*e2t(ji,jj)*tmask(ji,jj,1)
+            END DO
          END DO
-       END DO
-
-       IF( lk_mpp )   CALL mpp_sum( sumdepsi )  ! sum over the global domain
-
-!!    COMPUTATION OF THE N/P RELEASE DUE TO COASTAL RIVERS
-!!    COMPUTATION OF THE Si RELEASE DUE TO COASTAL RIVERS 
-!!    ---------------------------------------------------
-
-       DO jj=1,jpj
+      END DO
+
+      IF( lk_mpp )   CALL mpp_sum( sumdepsi )  ! sum over the global domain
+
+      !!    COMPUTATION OF THE N/P RELEASE DUE TO COASTAL RIVERS
+      !!    COMPUTATION OF THE Si RELEASE DUE TO COASTAL RIVERS 
+      !!    ---------------------------------------------------
+
+      DO jj=1,jpj
          DO ji=1,jpi
-       cotdep(ji,jj,1)=river(ji,jj)*1E9/(12.*raass                          &
-                       *e1t(ji,jj)*e2t(ji,jj)*fse3t(ji,jj,1)+rtrn)*tmask(ji,jj,1)
-       po4dep(ji,jj,1)=(river(ji,jj)+riverdoc(ji,jj))*1E9                   &
-                       /(31.6*raass*e1t(ji,jj)*e2t(ji,jj)*fse3t(ji,jj,1)+rtrn)   &
-                       *tmask(ji,jj,1)
-       nitdep(ji,jj,1)=7.6*ndepo(ji,jj)*tmask(ji,jj,1)/(14E6*raass          &
-                       *fse3t(ji,jj,1)+rtrn)
+            cotdep(ji,jj)=river(ji,jj)*1E9/(12.*raass                          &
+               *e1t(ji,jj)*e2t(ji,jj)*fse3t(ji,jj,1)+rtrn)*tmask(ji,jj,1)
+            rivinp(ji,jj)=(river(ji,jj)+riverdoc(ji,jj))*1E9                   &
+               /(31.6*raass*e1t(ji,jj)*e2t(ji,jj)*fse3t(ji,jj,1)+rtrn)   &
+               *tmask(ji,jj,1)
+            nitdep(ji,jj)=7.6*ndepo(ji,jj)*tmask(ji,jj,1)/(14E6*raass          &
+               *fse3t(ji,jj,1)+rtrn)
          END DO
-       END DO
+      END DO
+      ! Lateral boundary conditions on ( cotdep, rivinp, nitdep )   (sign unchanged)
+      CALL lbc_lnk( cotdep , 'T', 1. )  ;  CALL lbc_lnk( rivinp , 'T', 1. )  ;  CALL lbc_lnk( nitdep , 'T', 1. )
 
       rivpo4input=0.
       rivalkinput=0.
-      rivnitinput=0.
-       DO jj=2,jpjm1
+      nitdepinput=0.
+      DO jj=2,jpjm1
          DO ji=2,jpim1
-         rivpo4input=rivpo4input+po4dep(ji,jj,1)*(e1t(ji,jj)*e2t(ji,jj)    &
-                     *fse3t(ji,jj,1))*tmask(ji,jj,1)*raass
-         rivalkinput=rivalkinput+cotdep(ji,jj,1)*(e1t(ji,jj)*e2t(ji,jj)    &
-                     *fse3t(ji,jj,1))*tmask(ji,jj,1)*raass
-         rivnitinput=rivnitinput+nitdep(ji,jj,1)*(e1t(ji,jj)*e2t(ji,jj)    &
-                     *fse3t(ji,jj,1))*tmask(ji,jj,1)*raass
+            rivpo4input=rivpo4input+rivinp(ji,jj)*(e1t(ji,jj)*e2t(ji,jj)    &
+               *fse3t(ji,jj,1))*tmask(ji,jj,1)*raass
+            rivalkinput=rivalkinput+cotdep(ji,jj)*(e1t(ji,jj)*e2t(ji,jj)    &
+               *fse3t(ji,jj,1))*tmask(ji,jj,1)*raass
+            nitdepinput=nitdepinput+nitdep(ji,jj)*(e1t(ji,jj)*e2t(ji,jj)    &
+               *fse3t(ji,jj,1))*tmask(ji,jj,1)*raass
          END DO
-       END DO
-
-        IF( lk_mpp ) THEN
-          CALL mpp_sum( rivpo4input )  ! sum over the global domain
-          CALL mpp_sum( rivalkinput )  ! sum over the global domain
-          CALL mpp_sum( rivnitinput )  ! sum over the global domain
-        ENDIF
-
-
-!!    Coastal supply of iron
-!!    ----------------------
+      END DO
+
+      IF( lk_mpp ) THEN
+         CALL mpp_sum( rivpo4input )  ! sum over the global domain
+         CALL mpp_sum( rivalkinput )  ! sum over the global domain
+         CALL mpp_sum( nitdepinput )  ! sum over the global domain
+      ENDIF
+
+
+      !!    Coastal supply of iron
+      !!    ----------------------
 
       DO jk=1,jpkm1
-          ironsed(:,:,jk)=sedfeinput*cmask(:,:,jk)         &
-                            /(fse3t(:,:,jk)*rjjss)
+         ironsed(:,:,jk)=sedfeinput*cmask(:,:,jk)         &
+            /(fse3t(:,:,jk)*rjjss)
       END DO
-!!----------------------------------------------------------------------
-!!
-!! Initialize biological variables 
-!!
-!!----------------------------------------------------------------------
-
-      spocri = 0.003
-      jkopt = 14
-
-!! Set biological ratios
-!! ---------------------
+
+      ! Lateral boundary conditions on ( ironsed )   (sign unchanged)
+      CALL lbc_lnk( ironsed , 'T', 1. )
+      !!----------------------------------------------------------------------
+      !!
+      !! Initialize biological variables 
+      !!
+      !!----------------------------------------------------------------------
+      !! Set biological ratios
+      !! ---------------------
 
       rno3   = (16.+2.)/122.
       po4r   = 1./122.
-      o2ut   = 172./122.
       o2nit  = 32./122.
       rdenit = 97.6/16.
       o2ut   = 140./122.
 
-!!----------------------------------------------------------------------
-!!
-!! Initialize chemical variables 
-!!
-!!----------------------------------------------------------------------
-
-!! set pre-industrial atmospheric [co2] (ppm) and o2/n2 ratio
-!! ----------------------------------------------------------
+      !!----------------------------------------------------------------------
+      !!
+      !! Initialize chemical variables 
+      !!
+      !!----------------------------------------------------------------------
+
+      !! set pre-industrial atmospheric [co2] (ppm) and o2/n2 ratio
+      !! ----------------------------------------------------------
 
       atcox = 0.20946
 
-!! Set lower/upper limits for temperature and salinity
-!! ---------------------------------------------------
+      !! Set lower/upper limits for temperature and salinity
+      !! ---------------------------------------------------
 
       salchl = 1./1.80655
       calcon = 1.03E-2
 
-!! Set coefficients for apparent solubility equilibrium
-!!   of calcite (Ingle, 1800, eq. 6)
-!! ----------------------------------------------------
+      !! Set coefficients for apparent solubility equilibrium
+      !!   of calcite (Ingle, 1800, eq. 6)
+      !! ----------------------------------------------------
 
       akcc1 = -34.452
@@ -284,65 +307,83 @@
 
 
-!! Set coefficients for seawater pressure correction
-!! -------------------------------------------------
-
-      devk1  = 24.2
-      devk2  = 16.4
-      devkb  = 27.5
-      devk1t = 0.085
-      devk2t = 0.04
-      devkbt = 0.095
+      !! Set coefficients for seawater pressure correction
+      !! -------------------------------------------------
+
+      devk1(1) = -25.5
+      devk2(1) = 0.1271
+      devk3(1) = 0.
+      devk4(1) = -3.08E-3
+      devk5(1) = 0.0877E-3
+
+      devk1(2) = -15.82
+      devk2(2) = -0.0219
+      devk3(2) = 0.
+      devk4(2) = 1.13E-3
+      devk5(2) = -0.1475E-3
+
+      devk1(3) = -29.48
+      devk2(3) = 0.1622
+      devk3(3) = 2.608E-3
+      devk4(3) = -2.84E-3
+      devk5(3) = 0.
+
+      devk1(4) = -25.60
+      devk2(4) = 0.2324
+      devk3(4) = -3.6246E-3
+      devk4(4) = -5.13E-3
+      devk5(4) = 0.0794E-3
 
       devkst = 0.23
       devks  = 35.4
 
-!! Set universal gas constants
-!! ---------------------------
+      !! Set universal gas constants
+      !! ---------------------------
 
       rgas = 83.143
       oxyco = 1./22.4144
 
-!! Set boron constants
-!! -------------------
+      !! Set boron constants
+      !! -------------------
 
       bor1 = 0.00023
       bor2 = 1./10.82
 
-!! Set volumetric solubility constants for co2 in ml/l (Weiss, 1974)
-!! -----------------------------------------------------------------
-
-      c00 = -58.0931
-      c01 = 90.5069
-      c02 = 22.2940
-      c03 = 0.027766
-      c04 = -0.025888
-      c05 = 0.0050578
-
-!! Set coeff. for 1. dissoc. of carbonic acid (Edmond and Gieskes, 1970)
-!! ---------------------------------------------------------------------
-
-      c10 = -2307.1266
-      c11 = 2.83655
-      c12 = -1.5529413
-      c13 = -4.0484
-      c14 = -0.20760841
-      c15 = 0.08468345
-      c16 = -0.00654208
-      c17 = -0.001005
-
-!! Set coeff. for 2. dissoc. of carbonic acid (Edmond and Gieskes, 1970)
-!! ---------------------------------------------------------------------
-  
-      c20 = -3351.6106
-      c21 = -9.226508
-      c22 = -0.2005743
-      c23 = -23.9722
-      c24 = -0.106901773
-      c25 = 0.1130822
-      c26 = -0.00846934
-      c27 = -0.001005
-
-!! Set coeff. for 1. dissoc. of boric acid (Edmond and Gieskes, 1970)
-!! ------------------------------------------------------------------
+      !! Set volumetric solubility constants for co2 in ml/l (Weiss, 1974)
+      !! -----------------------------------------------------------------
+
+      c00 = -60.2409
+      c01 = 93.4517
+      c02 = 23.3585
+      c03 = 0.023517
+      c04 = -0.023656
+      c05 = 0.0047036
+
+      ca0 = -162.8301
+      ca1 = 218.2968
+      ca2 = 90.9241
+      ca3 = -1.47696
+      ca4 = 0.025695
+      ca5 = -0.025225
+      ca6 = 0.0049867
+
+      !! Set coeff. for 1. dissoc. of carbonic acid (Edmond and Gieskes, 1970)
+      !! ---------------------------------------------------------------------
+
+      c10 = -3670.7
+      c11 =  62.008
+      c12 = -9.7944
+      c13 = 0.0118
+      c14 = -0.000116
+
+      !! Set coeff. for 2. dissoc. of carbonic acid (Edmond and Gieskes, 1970)
+      !! ---------------------------------------------------------------------
+
+      c20 = -1394.7
+      c21 = -4.777
+      c22 = 0.0184
+      c23 = -0.000118
+
+      !! Set coeff. for 1. dissoc. of boric acid (Edmond and Gieskes, 1970)
+      !! ------------------------------------------------------------------
 
       cb0  = -8966.90
@@ -359,8 +400,8 @@
       cb11 = 0.053105
 
-!! Set coeff. for dissoc. of water (Dickson and Riley, 1979, 
-!!   eq. 7, coefficient cw2 corrected from 0.9415 to 0.09415 
-!!   after pers. commun. to B. Bacastow, 1988)
-!! ---------------------------------------------------------
+      !! Set coeff. for dissoc. of water (Dickson and Riley, 1979, 
+      !!   eq. 7, coefficient cw2 corrected from 0.9415 to 0.09415 
+      !!   after pers. commun. to B. Bacastow, 1988)
+      !! ---------------------------------------------------------
 
       cw0 = -13847.26
@@ -372,6 +413,48 @@
       cw6 = -0.01615
 
-!! Set volumetric solubility constants for o2 in ml/l (Weiss, 1970)
-!! ----------------------------------------------------------------
+      !
+      ! Set coeff. for dissoc. of phosphate (Millero (1974)
+      ! ---------------------------------------------------
+      !
+      cp10 = 115.525
+      cp11 = -4576.752
+      cp12 = -18.453
+      cp13 = -106.736
+      cp14 = 0.69171
+      cp15 = -0.65643
+      cp16 = -0.01844
+
+      cp20 = 172.0883
+      cp21 = -8814.715
+      cp22 = -27.927
+      cp23 = -160.340
+      cp24 = 1.3566
+      cp25 = 0.37335
+      cp26 = -0.05778
+
+
+      cp30 = -18.141
+      cp31 = -3070.75
+      cp32 = 17.27039
+      cp33 = 2.81197
+      cp34 = -44.99486
+      cp35 = -0.09984
+      !
+      ! Set coeff. for dissoc. of phosphate (Millero (1974)
+      ! ---------------------------------------------------
+      !
+      cs10 = 117.385
+      cs11 = -8904.2
+      cs12 = -19.334
+      cs13 = -458.79
+      cs14 =  3.5913
+      cs15 = 188.74
+      cs16 = -1.5998
+      cs17 = -12.1652
+      cs18 = 0.07871
+      cs19 = -0.001005
+
+      !! Set volumetric solubility constants for o2 in ml/l (Weiss, 1970)
+      !! ----------------------------------------------------------------
 
       ox0 = -58.3877
@@ -382,17 +465,17 @@
       ox5 = -0.0019387
 
-!!  FROM THE NEW BIOOPTIC MODEL PROPOSED JM ANDRE, WE READ HERE
-!!  A PRECOMPUTED ARRAY CORRESPONDING TO THE ATTENUATION COEFFICIENT
-
-         open(49,file='kRGB61.txt',form='formatted')
-         do ichl=1,61
-           READ(49,*) xtoto,(xkrgb(iband,ichl),iband = 1,3)
-         end do
-         close(49)
-      
+      !!  FROM THE NEW BIOOPTIC MODEL PROPOSED JM ANDRE, WE READ HERE
+      !!  A PRECOMPUTED ARRAY CORRESPONDING TO THE ATTENUATION COEFFICIENT
+
+      open(49,file='kRGB61.txt',form='formatted')
+      do ichl=1,61
+         READ(49,*) xtoto,(xkrgb(iband,ichl),iband = 1,3)
+      end do
+      close(49)
+
 #if defined key_off_degrad
 
-!! Read volume for degraded regions (DEGINIT)
-!! ------------------------------------------
+      !! Read volume for degraded regions (DEGINIT)
+      !! ------------------------------------------
 
 #    if defined key_vpp
@@ -404,8 +487,14 @@
 
 
-!!  Call p4zche to initialize the chemical constants
-!!  ------------------------------------------------
+      !!  Call p4zche to initialize the chemical constants
+      !!  ------------------------------------------------
 
       CALL p4zche
+      !!
+      !!  Initialize a counter for the computation of chemistry
+      !!
+      ndayflxtr=0
 
       IF(lwp) WRITE(numout,*) ' Initialisation of PISCES done'
+
+   END SUBROUTINE trc_ini
Index: trunk/NEMO/TOP_SRC/SMS/trclsm.cfc.h90
===================================================================
--- trunk/NEMO/TOP_SRC/SMS/trclsm.cfc.h90	(revision 335)
+++ trunk/NEMO/TOP_SRC/SMS/trclsm.cfc.h90	(revision 336)
@@ -1,49 +1,56 @@
-!!!
-!!!                       trclsm.cfc.h
-!!!                       ****************
-!!!
-!!!  PURPOSE :
-!!!  ---------
-!!!     READs and PRINT options for cfc  namelist
+   !!----------------------------------------------------------------------
+   !!                    ***  trclsm.cfc.h90 ***
+   !!----------------------------------------------------------------------
+CONTAINS
 
-#if defined key_passivetrc && defined key_cfc
+   SUBROUTINE trc_lsm
+      !!-------------------------------------------------------------------
+      !!                  ***  ROUTINE trc_lsm ***
+      !!                 
+      !! ** Purpose :   Definition some run parameter for CFC model
+      !!
+      !! ** Method  :   Read the namcfc namelist and check the parameter 
+      !!       values called at the first timestep (nit000)
+      !!
+      !! ** input   :   Namelist namcfc
+      !!
+      !! history :
+      !!   2.0  !  03-08 (C. Ethe)  Original code
+      !!-------------------------------------------------------------------
 
-      CHARACTER (len=32) :: clname
+      CHARACTER (len=32) ::  &
+         clname = 'namelist.sms.cfc'
+      INTEGER ::  &
+         numnat = 80
 
+      NAMELIST/namdates/ndate_beg, nyear_res
+      !!-------------------------------------------------------------------
 
-!!---------------------------------------------------------------------
-!!  TOP 1.0,  LOCEAN-IPSL (2005)
-!! $Header$
-!! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt
-!!---------------------------------------------------------------------
-
-! 0. initializations
-! ------------------
-
-      NAMELIST/coffset/xinitri
-
-      numnat=80
-      clname ='namelist.sms.cfc'
-      OPEN( numnat, FILE= clname, FORM='formatted', STATUS = 'old')
-
-
-!  Namelist traback :
-!  ------------------
-      READ(numnat,coffset)
+      ndate_beg = 300101
+      nyear_res = 1950
 
       IF(lwp) THEN
-          WRITE(numout,*) ' '
-          WRITE(numout,*) 'coffset'
-          write(numout,coffset)
-          WRITE(numout,*) ' '
+         WRITE(numout,*) ' '
+         WRITE(numout,*) ' Namelist for CFC model'
+         WRITE(numout,*) ' ***********************'
+         WRITE(numout,*) ' '
       ENDIF
 
-#endif
+      OPEN( UNIT=numnat, FILE=clname, FORM='FORMATTED', STATUS='OLD' )
+      READ( numnat , namdates )
 
+      IF(lwp) THEN
+         WRITE(numout,*)
+         WRITE(numout,*) ' trc_lsm: Namelist parameter'
+         WRITE(numout,*) ' ~~~~~~~~~~~~~~'
+         WRITE(numout,*) '  initial calendar date (aammjj) for CFC  ndate_beg = ', ndate_beg
+         WRITE(numout,*) '  restoring time constant (year)          nyear_res = ', nyear_res
+      ENDIF
+      nyear_beg = ndate_beg / 10000
+      IF(lwp) THEN
+         WRITE(numout,*) '  initial year (aa)                       nyear_beg = ', nyear_beg
+         WRITE(numout,*) ' '
+      ENDIF
 
+   END SUBROUTINE trc_lsm
 
-
-
-
-
-
Index: trunk/NEMO/TOP_SRC/SMS/trclsm.lobster1.h90
===================================================================
--- trunk/NEMO/TOP_SRC/SMS/trclsm.lobster1.h90	(revision 335)
+++ trunk/NEMO/TOP_SRC/SMS/trclsm.lobster1.h90	(revision 336)
@@ -1,41 +1,43 @@
-!!!
-!!!                        trclsm.lobster1.h
-!!!                     **********************
-!!!
-!!!  PURPOSE :
-!!!  ---------
-!!!     READS the specific NAMELIST for LOBSTER1 model
-!!!
-!!   WORKSPACE :                : no
-!!   ---------
-!!
-!!   MODIFICATIONS:
-!!   --------------
-!!      original  : 99-10 (M.A. Foujols, M. Levy) passive tracer
-!!      additions : 00-12 (O. Aumont, E. Kestenare) add sediments
-!! ----------------------------------------------------------------------
-!! local declarations
-!! ==================
-
-#if defined key_passivetrc && defined key_trc_lobster1
+!!----------------------------------------------------------------------
+!!                    ***  trclsm.lobster1.h90 ***
+!!----------------------------------------------------------------------
+CONTAINS
+
+   SUBROUTINE trc_lsm
+      !!----------------------------------------------------------------------
+      !!                        trclsm.lobster1.h
+      !!                     **********************
+      !!
+      !!  PURPOSE :
+      !!  ---------
+      !!     READS the specific NAMELIST for LOBSTER1 model
+      !!
+      !!   WORKSPACE :                : no
+      !!   ---------
+      !!
+      !!   MODIFICATIONS:
+      !!   --------------
+      !!      original  : 99-10 (M.A. Foujols, M. Levy) passive tracer
+      !!      additions : 00-12 (O. Aumont, E. Kestenare) add sediments
+      !! ----------------------------------------------------------------------
+      !! local declarations
+      !! ==================
       INTEGER :: ji
       CHARACTER (len=32) :: clname
 
-!!---------------------------------------------------------------------
-!!  TOP 1.0,  LOCEAN-IPSL (2005)
-!! $Header$
-!! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt
-!!---------------------------------------------------------------------
-
-! 0. initializations
-! ------------------
-
-      NAMELIST/natbio/apmin,azmin,anmin,admin,   &
-      &   redf,slopet,toptp,aknut,rcchl,        &
+      !!---------------------------------------------------------------------
+      !!  OPA8, LODYC (15/11/96)
+      !!---------------------------------------------------------------------
+
+      ! 0. initializations
+      ! ------------------
+     NAMELIST/natbio/apmin,azmin,anmin,admin,   &
+      &   redf,reddom,slopet,toptp,psinut,akno3,aknh4,rcchl,        &
       &   rgamma,toptgz,tmaxgz,rgz,             &
       &   rppz,taus,aks,filmax,rpnaz,rdnaz,eggzoo,tauzn,   &
       &   tmmaxp,tmminp,tmmaxz,tmminz,anumin,afdmin,taudn,   &
-      &   vsed,tmumax,aki,tmaxr,tminr, fdoml, taunn, taudomn,xhr,   &
-      &   sedlam, sedlostpoc
+      &   vsed,tmumax,aki,tmaxr,tminr, taunn, taudomn,xhr,   &
+      &   sedlam, sedlostpoc,  &
+      &    fphylab,fzoolab,fdetlab,fdbod
       NAMELIST/natopt/xkg0,xkr0,xkgp,xkrp,xlg,xlr,rpig
 #if defined key_trc_diabio
@@ -43,13 +45,12 @@
 #endif
 
-
-      IF(lwp) THEN
-          WRITE(numout,*) ' '
-          WRITE(numout,*) ' ROUTINE trclsm'
-          WRITE(numout,*) ' **************'
-          WRITE(numout,*) ' '
-          WRITE(numout,*) ' namelist for lobster1 model'
-          WRITE(numout,*) ' ***************************'
-          WRITE(numout,*) ' '
+      IF(lwp) THEN
+         WRITE(numout,*) ' '
+         WRITE(numout,*) ' ROUTINE trclsm'
+         WRITE(numout,*) ' **************'
+         WRITE(numout,*) ' '
+         WRITE(numout,*) ' namelist for lobster1 model'
+         WRITE(numout,*) ' ***************************'
+         WRITE(numout,*) ' '
       ENDIF
 
@@ -59,46 +60,52 @@
       OPEN( numnat, FILE= clname, FORM='formatted', STATUS = 'old')
 
-! 1.4 namelist natbio : biological parameters
-! -------------------------------------------
-
-      apmin = 0
-      azmin = 0
-      anmin = 0
-      admin = 0
-      redf  = 0
-      slopet= 0
-      toptp = 0
-      aknut = 0
-      rcchl = 0
-      rgamma= 0
-      toptgz= 0
-      tmaxgz= 0
-      rgz   = 0
-      rppz  = 0
-      taus  = 0
-      aks   = 0
-      filmax= 0
-      rpnaz = 0
-      rdnaz = 0
-      eggzoo= 0
-      tauzn = 0
-      tmmaxp= 0
-      tmminp= 0
-      tmmaxz= 0
-      tmminz= 0
-      anumin= 0
-      afdmin= 0
-      taudn = 0
-      vsed  = 0
-      tmumax= 0
-      aki   = 0
+      ! 1.4 namelist natbio : biological parameters
+      ! -------------------------------------------
+
+      apmin = 0.
+      azmin = 0.
+      anmin = 0.
+      admin = 0.
+      redf  = 0.
+      reddom = 0.
+      slopet = 0.
+      toptp = 0.
+      psinut = 0.
+      akno3  = 0.
+      aknh4 = 0.
+      rcchl = 0.
+      rgamma= 0.
+      toptgz= 0.
+      tmaxgz= 0.
+      rgz   = 0.
+      rppz  = 0.
+      taus  = 0.
+      aks   = 0.
+      filmax= 0.
+      rpnaz = 0.
+      rdnaz = 0.
+      eggzoo= 0.
+      tauzn = 0.
+      tmmaxp= 0.
+      tmminp= 0.
+      tmmaxz= 0.
+      tmminz= 0.
+      anumin= 0.
+      afdmin= 0.
+      taudn = 0.
+      vsed  = 0.
+      tmumax= 0.
+      aki   = 0.
       tmaxr   = 1./(     4.*rday)*0.
       tminr   = 1./(24.*30.*rday)*0.
-      fdoml = 0
-      xhr=0
-      sedlam=0
-      sedlostpoc=0
-      taudomn = 0
-      taunn = 0
+      xhr=0.
+      sedlam=0.
+      sedlostpoc=0.
+      taudomn = 0.
+      taunn = 0.
+      fphylab = 0.
+      fzoolab = 0.
+      fdetlab = 0.
+      fdbod = 0.
 
       READ(numnat,natbio)
@@ -122,5 +129,9 @@
           &   ' optimal photosynthesis temperature   toptp =', toptp
           WRITE(numout,*)     &
-          &   ' half-saturation nutrient             aknut =', aknut
+          &   ' inhibition of no3 uptake by nh4      psinut =', psinut
+          WRITE(numout,*)     &
+          &   ' half-saturation nutrient for no3 uptake   akno3 =', akno3
+          WRITE(numout,*)     &
+          &   ' half-saturation nutrient for nh4 uptake   aknh4 =', aknh4
           WRITE(numout,*)     &
           &   ' carbone/chlorophyl ratio             rcchl =', rcchl
@@ -181,6 +192,4 @@
           &   ' damping-remineralisation rate        tminr =', tminr
           WRITE(numout,*)     & 
-          &   ' damping-remineralisation rate        fdoml =', fdoml
-          WRITE(numout,*)     & 
           &   ' nitrification rate                   taunn =', taunn
           WRITE(numout,*)     & 
@@ -192,8 +201,16 @@
           WRITE(numout,*)     &
           &   ' Sediment geol loss for POC  sedlostpoc =', sedlostpoc
+          WRITE(numout,*)     &
+          & ' NH4 fraction of phytoplankton exsudation fphylab =', fphylab
+          WRITE(numout,*)     &
+          & ' NH4 fraction of zooplankton excretion fzoolab =', fzoolab
+          WRITE(numout,*)     &
+          & ' NH4 fraction of detritus dissolution  fdetlab =', fdetlab
+          WRITE(numout,*)     &
+          & ' Zooplankton mortality fraction that goes to detritus fdbod =', fdbod
       ENDIF
 
-! 1.5 namelist natopt : parameters for optic
-! ------------------------------------------
+      ! 1.5 namelist natopt : parameters for optic
+      ! ------------------------------------------
 
       xkg0  = 0.
@@ -208,14 +225,14 @@
 
       IF(lwp) THEN
-          WRITE(numout,*) 'natopt'
-          WRITE(numout,*) ' '
-          WRITE(numout,*) ' green   water absorption coeff  xkg0  = ',xkg0
-          WRITE(numout,*) ' red water absorption coeff      xkr0  = ',xkr0
-          WRITE(numout,*) ' pigment red absorption coeff    xkrp  = ',xkrp
-          WRITE(numout,*) ' pigment green absorption coeff  xkgp  = ',xkgp
-          WRITE(numout,*) ' green chl exposant              xlg   = ',xlg
-          WRITE(numout,*) ' red   chl exposant              xlr   = ',xlr
-          WRITE(numout,*) ' chla/chla+phea ratio            rpig  = ',rpig
-          WRITE(numout,*) ' '
+         WRITE(numout,*) 'natopt'
+         WRITE(numout,*) ' '
+         WRITE(numout,*) ' green   water absorption coeff  xkg0  = ',xkg0
+         WRITE(numout,*) ' red water absorption coeff      xkr0  = ',xkr0
+         WRITE(numout,*) ' pigment red absorption coeff    xkrp  = ',xkrp
+         WRITE(numout,*) ' pigment green absorption coeff  xkgp  = ',xkgp
+         WRITE(numout,*) ' green chl exposant              xlg   = ',xlg
+         WRITE(numout,*) ' red   chl exposant              xlr   = ',xlr
+         WRITE(numout,*) ' chla/chla+phea ratio            rpig  = ',rpig
+         WRITE(numout,*) ' '
 
       ENDIF
@@ -223,19 +240,19 @@
 #if defined key_trc_diabio
 
-! NAMELIST : natdbi 
-
-! default name for biological trends : short and long name, units
+      ! NAMELIST : natdbi 
+
+      ! default name for biological trends : short and long name, units
 
       DO ji=1,jpdiabio
-        IF (ji < 10) THEN 
+         IF (ji < 10) THEN 
             WRITE (ctrbio(ji),'("BIO_",I1)') ji
-        ELSE IF (ji < 100) THEN
+         ELSE IF (ji < 100) THEN
             WRITE (ctrbio(ji),'("BIO_",I2)') ji
-        ELSE
+         ELSE
             WRITE (ctrbio(ji),'("BIO_",I3)') ji
-        ENDIF 
-        WRITE (ctrbil(ji),'("BIOLOGICAL TREND NUMBER ",I2)') ji
-        ctrbiu(ji)='mmoleN/m3/s '
-      END DO 
+         ENDIF
+         WRITE (ctrbil(ji),'("BIOLOGICAL TREND NUMBER ",I2)') ji
+         ctrbiu(ji)='mmoleN/m3/s '
+      END DO
 
       nwritebio = 10
@@ -244,22 +261,18 @@
 
       IF(lwp) THEN
-          WRITE(numout,*) 'natdbi'
-          WRITE(numout,*) ' '
-          WRITE(numout,*)      &
-          &   ' frequency of outputs for biological outputs = '    &
-          &   ,nwritebio
-          WRITE(numout,*) ' '
-          DO ji=1,jpdiabio
+         WRITE(numout,*) 'natdbi'
+         WRITE(numout,*) ' '
+         WRITE(numout,*)      &
+            &   ' frequency of outputs for biological outputs = '    &
+            &   ,nwritebio
+         WRITE(numout,*) ' '
+         DO ji=1,jpdiabio
             WRITE(numout,*)     &
-            &   'name of biological trend number :',ji,' : ',ctrbio(ji)  
+               &   'name of biological trend number :',ji,' : ',ctrbio(ji)  
             WRITE(numout,*) ctrbil(ji)  
             WRITE(numout,*) ' in unit = ',ctrbiu(ji)
-          END DO 
-      END IF 
+         END DO
+      END IF
 #endif
 
-#else
-
-! no passive tracers
-
-#endif
+   END SUBROUTINE trc_lsm
Index: trunk/NEMO/TOP_SRC/SMS/trclsm.pisces.h90
===================================================================
--- trunk/NEMO/TOP_SRC/SMS/trclsm.pisces.h90	(revision 335)
+++ trunk/NEMO/TOP_SRC/SMS/trclsm.pisces.h90	(revision 336)
@@ -1,58 +1,62 @@
-!!
-!!                       trclsm.pisces.h
-!!                       ****************
-!!
-!!  PURPOSE :
-!!  ---------
-!!     READs and PRINT options for PISCES namelist
-!!
-!!   MODIFICATIONS:
-!!   --------------
-!!      original  : 99-10 (M.A. Foujols, M. Levy) passive tracer
-!!      addition  : 00-01 (L. Bopp) hamocc3,p3zd
-!!     
 !!----------------------------------------------------------------------
+!!                    ***  trclsm.pisces.h90 ***
 !!----------------------------------------------------------------------
-!! local declarations
-!! ==================
-
-#if defined key_passivetrc && defined key_trc_pisces
+CONTAINS
+
+   SUBROUTINE trc_lsm
+      !!----------------------------------------------------------------------
+      !!
+      !!                       trclsm.pisces.h
+      !!                       ****************
+      !!
+      !!  PURPOSE :
+      !!  ---------
+      !!     READs and PRINT options for PISCES namelist
+      !!
+      !!   MODIFICATIONS:
+      !!   --------------
+      !!      original  : 99-10 (M.A. Foujols, M. Levy) passive tracer
+      !!      addition  : 00-01 (L. Bopp) hamocc3,p3zd
+      !!     
+      !!----------------------------------------------------------------------
+      !!----------------------------------------------------------------------
+      !! local declarations
+      !! ==================
       CHARACTER (len=32) clname
 
-!!---------------------------------------------------------------------
-!!  TOP 1.0,  LOCEAN-IPSL (2005)
-!! $Header$
-!! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt
-!!---------------------------------------------------------------------
-
-! 0. initializations
-! ------------------
-!
-       NAMELIST/natgas/ gasfac, igaswind, icice
-       NAMELIST/natext/ atcco2
-       NAMELIST/natbio/caco3r,                                          &
-       &               dispo0,conc0,oxymin,grosip, sedlam,              &
-       &               sedlostpoc,sedlostcal,sedlostsil,nrdttrc,        &
-       &               pislope, excret,wsbio,wchl,resrat,mprat,mzrat,   &
-       &               grazrat,xprefc,xprefp,unass,xkgraz,xkmort,xksi1, &
-       &               xksi2,sicmax,xremip,xremik,xsirem,xkdoc1,xkdoc2, &
-       &               excret2,resrat2,mprat2,mpratm,mzrat2,grazrat2,   &
-       &               xprefz,xprefpoc,unass2,wchl2,xkgraz2,xlam1,      &
-       &               ferat3,conc1,conc2,conc3,concnnh4,concdnh4,      &
-       &               nitrif,epsher,epsher2,pislope2,wsbio2,sigma1,    &
-       &               sigma2, zprefc, zprefp, zprefd,sedfeinput
-       NAMELIST/natsms/bdustfer, briver, bndepo, bsedinput
-
-! initialize the number of LOGICAL UNIT used
-! ------------------------------------------
-    
-      IF(lwp) THEN
-          WRITE(numout,*) ' '
-          WRITE(numout,*) ' ROUTINE trclec'
-          WRITE(numout,*) ' **************'
-          WRITE(numout,*) ' '
-          WRITE(numout,*) ' namelist for PISCES model'
-          WRITE(numout,*) ' ***********************'
-          WRITE(numout,*) ' '
+      !!---------------------------------------------------------------------
+      !!  OPA8, LODYC (15/11/96)
+      !!---------------------------------------------------------------------
+
+      ! 0. initializations
+      ! ------------------
+      !
+      NAMELIST/natgas/ gasfac, igaswind, icice
+      NAMELIST/natext/ atcco2
+      NAMELIST/natbio/caco3r,                                          &
+         &          dispo0,conc0,oxymin,grosip, sedlam,              &
+         &          sedlostpoc,sedlostcal,sedlostsil,nrdttrc,        &
+         &          pislope, excret,wsbio,wchl,wchld,resrat,mprat,mzrat,   &
+         &          grazrat,xprefc,xprefp,unass,xkgraz,xkmort,xksi1, &
+         &          xksi2,xremip,xremik,xsirem,xkdoc1,xkdoc2, &
+         &          excret2,resrat2,mprat2,mpratm,mzrat2,grazrat2,   &
+         &          xprefz,xprefpoc,unass2,xkgraz2,xlam1,      &
+         &          ferat3,conc1,conc2,conc3,concnnh4,concdnh4,      &
+         &          nitrif,epsher,epsher2,pislope2,wsbio2,sigma1,    &
+         &          sigma2, zprefc, zprefp, zprefd,fecnm,fecdm,      &
+         &          chlcnm,chlcdm, sedfeinput
+      NAMELIST/natsms/bdustfer, briver, bndepo, bsedinput
+
+      ! initialize the number of LOGICAL UNIT used
+      ! ------------------------------------------
+
+      IF(lwp) THEN
+         WRITE(numout,*) ' '
+         WRITE(numout,*) ' ROUTINE trclec'
+         WRITE(numout,*) ' **************'
+         WRITE(numout,*) ' '
+         WRITE(numout,*) ' namelist for PISCES model'
+         WRITE(numout,*) ' ***********************'
+         WRITE(numout,*) ' '
       ENDIF
 
@@ -62,30 +66,30 @@
 
 
-! 1 Namelist natgas :
-! -------------------
+      ! 1 Namelist natgas :
+      ! -------------------
 
       READ(numnat,natgas)
 
       IF(lwp) THEN
-          WRITE(numout,*) ' '
-          WRITE(numout,*) 'natgas'
-          write(numout,*) 'gasfac = ',gasfac
-          WRITE(numout,*) ' '
-          write(numout,*) 'igaswind = ',igaswind
-          WRITE(numout,*) ' '
-          write(numout,*) 'icice = ',icice
-          WRITE(numout,*) ' '
-      ENDIF
-
-! 2 Namelist natext :
-! -------------------
+         WRITE(numout,*) ' '
+         WRITE(numout,*) 'natgas'
+         write(numout,*) 'gasfac = ',gasfac
+         WRITE(numout,*) ' '
+         write(numout,*) 'igaswind = ',igaswind
+         WRITE(numout,*) ' '
+         write(numout,*) 'icice = ',icice
+         WRITE(numout,*) ' '
+      ENDIF
+
+      ! 2 Namelist natext :
+      ! -------------------
       READ(numnat,natext)
 
       IF(lwp) THEN
-          WRITE(numout,*) ' '
-          WRITE(numout,*) 'natext'
-          WRITE(numout,*) ' '
-          WRITE(numout,*) 'atmospheric pCO2= ',atcco2
-          WRITE(numout,*) ' '
+         WRITE(numout,*) ' '
+         WRITE(numout,*) 'natext'
+         WRITE(numout,*) ' '
+         WRITE(numout,*) 'atmospheric pCO2= ',atcco2
+         WRITE(numout,*) ' '
       ENDIF
 
@@ -93,143 +97,144 @@
       READ(numnat,natbio)
       IF(lwp) THEN
-          WRITE(numout,*) 'natbio'
-          WRITE(numout,*) ' '
-          WRITE(numout,*)      &
-          &   ' mean rainratio                             =', caco3r
-          WRITE(numout,*)      &
-          &   ' mean Si/C ratio                            =', grosip
-          WRITE(numout,*)      &
-          &   ' Calcite dissolution half saturation        =', dispo0
-          WRITE(numout,*)      &
-          &   ' Phosphate half saturation                  =', conc0
-          WRITE(numout,*)      &
-          &   ' Sediment bioturbation factor               =', sedlam
-          WRITE(numout,*)      &
-          &   ' Sediment burying ratio for POC         =', sedlostpoc
-          WRITE(numout,*)      &
-          &   ' Sediment burying ratio for CACO3       =', sedlostcal
-          WRITE(numout,*)      &
-          &   ' Sediment burying ratio for SI          =', sedlostsil
-          WRITE(numout,*)      &
-          &   ' frequence pour la biologie                 =', nrdttrc
-          WRITE(numout,*)      &
-          &   ' P-I slope                                  =', pislope
-          WRITE(numout,*)      &
-          &   ' excretion ratio of phytoplankton           =', excret
-          WRITE(numout,*)      &
-          &   ' POC sinking speed                          =', wsbio
-          WRITE(numout,*)      &
-          &   ' exsudation rate of zooplankton             =', resrat
-          WRITE(numout,*)      &
-          &   ' phytoplankton mortality rate               =', mprat
-          WRITE(numout,*)      &
-          &   ' zooplankton mortality rate                 =', mzrat
-          WRITE(numout,*)      &
-          &   ' zoo preference for phyto                   =', xprefc
-          WRITE(numout,*)      &
-          &   ' zoo preference for POC                     =', xprefp
-          WRITE(numout,*)      &
-          &   ' maximal zoo grazing rate                   =', grazrat
-          WRITE(numout,*)      &
-          &   ' non assimilated fraction of phyto by zoo   =', unass
-          WRITE(numout,*)      &
-          &   ' half sturation constant for grazing        =', xkgraz
-          WRITE(numout,*)      &
-          &   ' half saturation constant for mortality     =', xkmort
-          WRITE(numout,*)      &
-          &   ' half saturation constant for Si uptake     =', xksi1
-          WRITE(numout,*)      &
-          &   ' half saturation constant for Si/C          =', xksi2
-          WRITE(numout,*)      &
-          &   ' maximum Si/C                               =', sicmax
-          WRITE(numout,*)      &
-          &   ' remineralisation rate of POC               =', xremip
-          WRITE(numout,*)      &
-          &   ' remineralization rate of DOC               =', xremik
-          WRITE(numout,*)      & 
-          &   ' remineralization rate of Si                =', xsirem 
-          WRITE(numout,*)      &
-          &   ' 1st half-sat. of DOC remineralization      =', xkdoc1
-          WRITE(numout,*)      &
-          &   ' 2nd half-sat. of DOC remineralization      =', xkdoc2
-          WRITE(numout,*)      &
-          &   ' excretion ratio of diatoms                 =', excret2
-          WRITE(numout,*)      &
-          &   ' exsudation rate of mesozooplankton         =', resrat2
-          WRITE(numout,*)      &
-          &   ' Diatoms mortality rate                     =', mprat2
-          WRITE(numout,*)      &
-          &   ' Phytoplankton minimum mortality rate       =', mpratm
-          WRITE(numout,*)      &
-          &   ' mesozooplankton mortality rate             =', mzrat2
-          WRITE(numout,*)      &
-          &   ' zoo preference for zoo                     =', xprefz
-          WRITE(numout,*)      &
-          &   ' zoo preference for poc                   =', xprefpoc
-          WRITE(numout,*)      &
-          &   ' maximal mesozoo grazing rate               =', grazrat2
-          WRITE(numout,*)      &
-          &   ' non assimilated fraction of P by mesozoo   =', unass2
-          WRITE(numout,*)      &
-          &   ' Efficicency of Mesozoo growth              =', epsher2 
-          WRITE(numout,*)      &
-          &   ' Efficiency of microzoo growth              =', epsher
-          WRITE(numout,*)      &
-          &   ' half sturation constant for grazing 2      =', xkgraz2
-          WRITE(numout,*)      &
-          &   ' Aggregation rate for diatoms               =', wchl2
-          WRITE(numout,*)      &
-          &   ' scavenging rate of Iron                    =', xlam1
-          WRITE(numout,*)      &
-          &   ' Fe/C in zooplankton                        =', ferat3
-          WRITE(numout,*)      &
-          &   ' Phosphate half saturation for diatoms      =', conc1
-          WRITE(numout,*)      &
-          &   ' Iron half saturation for phyto             =', conc2
-          WRITE(numout,*)      &
-          &   ' Iron half saturation for diatoms           =', conc3
-          WRITE(numout,*)      &
-          &   ' NH4 half saturation for phyto              =', concnnh4
-          WRITE(numout,*)      &
-          &   ' NH4 half saturation for diatoms            =', concdnh4
-          WRITE(numout,*)      &
-          &   ' NH4 nitrification rate                     =', nitrif
-          WRITE(numout,*)      &
-          &   ' P-I slope  for diatoms                     =', pislope2
-          WRITE(numout,*)      &
-          &   ' Big particles sinking speed                =', wsbio2
-          WRITE(numout,*)      &
-          &   ' Fraction of microzoo excretion as DOM      =', sigma1
-          WRITE(numout,*)      &
-          &   ' Fraction of mesozoo excretion as DOM       =', sigma2
-          WRITE(numout,*)      &
-          &   ' Microzoo preference for POM                =', zprefc
-          WRITE(numout,*)      &
-          &   ' Microzoo preference for Nanophyto          =', zprefp
-          WRITE(numout,*)      &
-          &   ' Microzoo preference for Diatoms          =', zprefd
-          WRITE(numout,*)      &
-          &   ' Coastal release of Iron                 =', sedfeinput
+         WRITE(numout,*) 'natbio'
+         WRITE(numout,*) ' '
+         WRITE(numout,*)      &
+            &   ' mean rainratio                             =', caco3r
+         WRITE(numout,*)      &
+            &   ' mean Si/C ratio                            =', grosip
+         WRITE(numout,*)      &
+            &   ' Calcite dissolution half saturation        =', dispo0
+         WRITE(numout,*)      &
+            &   ' Phosphate half saturation                  =', conc0
+         WRITE(numout,*)      &
+            &   ' Sediment bioturbation factor               =', sedlam
+         WRITE(numout,*)      &
+            &   ' Sediment burying ratio for POC         =', sedlostpoc
+         WRITE(numout,*)      &
+            &   ' Sediment burying ratio for CACO3       =', sedlostcal
+         WRITE(numout,*)      &
+            &   ' Sediment burying ratio for SI          =', sedlostsil
+         WRITE(numout,*)      &
+            &   ' frequence pour la biologie                 =', nrdttrc
+         WRITE(numout,*)      &
+            &   ' P-I slope                                  =', pislope
+         WRITE(numout,*)      &
+            &   ' excretion ratio of phytoplankton           =', excret
+         WRITE(numout,*)      &
+            &   ' POC sinking speed                          =', wsbio
+         WRITE(numout,*)      &
+            &   ' exsudation rate of zooplankton             =', resrat
+         WRITE(numout,*)      &
+            &   ' phytoplankton mortality rate               =', mprat
+         WRITE(numout,*)      &
+            &   ' zooplankton mortality rate                 =', mzrat
+         WRITE(numout,*)      &
+            &   ' zoo preference for phyto                   =', xprefc
+         WRITE(numout,*)      &
+            &   ' zoo preference for POC                     =', xprefp
+         WRITE(numout,*)      &
+            &   ' maximal zoo grazing rate                   =', grazrat
+         WRITE(numout,*)      &
+            &   ' non assimilated fraction of phyto by zoo   =', unass
+         WRITE(numout,*)      &
+            &   ' half sturation constant for grazing        =', xkgraz
+         WRITE(numout,*)      &
+            &   ' half saturation constant for mortality     =', xkmort
+         WRITE(numout,*)      &
+            &   ' half saturation constant for Si uptake     =', xksi1
+         WRITE(numout,*)      &
+            &   ' half saturation constant for Si/C          =', xksi2
+         WRITE(numout,*)      &
+            &   ' remineralisation rate of POC               =', xremip
+         WRITE(numout,*)      &
+            &   ' remineralization rate of DOC               =', xremik
+         WRITE(numout,*)      & 
+            &   ' remineralization rate of Si                =', xsirem 
+         WRITE(numout,*)      &
+            &   ' 1st half-sat. of DOC remineralization      =', xkdoc1
+         WRITE(numout,*)      &
+            &   ' 2nd half-sat. of DOC remineralization      =', xkdoc2
+         WRITE(numout,*)      &
+            &   ' excretion ratio of diatoms                 =', excret2
+         WRITE(numout,*)      &
+            &   ' exsudation rate of mesozooplankton         =', resrat2
+         WRITE(numout,*)      &
+            &   ' Diatoms mortality rate                     =', mprat2
+         WRITE(numout,*)      &
+            &   ' Phytoplankton minimum mortality rate       =', mpratm
+         WRITE(numout,*)      &
+            &   ' mesozooplankton mortality rate             =', mzrat2
+         WRITE(numout,*)      &
+            &   ' zoo preference for zoo                     =', xprefz
+         WRITE(numout,*)      &
+            &   ' zoo preference for poc                   =', xprefpoc
+         WRITE(numout,*)      &
+            &   ' maximal mesozoo grazing rate               =', grazrat2
+         WRITE(numout,*)      &
+            &   ' non assimilated fraction of P by mesozoo   =', unass2
+         WRITE(numout,*)      &
+            &   ' Efficicency of Mesozoo growth              =', epsher2 
+         WRITE(numout,*)      &
+            &   ' Efficiency of microzoo growth              =', epsher
+         WRITE(numout,*)      &
+            &   ' half sturation constant for grazing 2      =', xkgraz2
+         WRITE(numout,*)      &
+            &   ' Maximum aggregation rate for diatoms       =', wchld
+         WRITE(numout,*)      &
+            &   ' scavenging rate of Iron                    =', xlam1
+         WRITE(numout,*)      &
+            &   ' Fe/C in zooplankton                        =', ferat3
+         WRITE(numout,*)      &
+            &   ' Phosphate half saturation for diatoms      =', conc1
+         WRITE(numout,*)      &
+            &   ' Iron half saturation for phyto             =', conc2
+         WRITE(numout,*)      &
+            &   ' Iron half saturation for diatoms           =', conc3
+         WRITE(numout,*)      &
+            &   ' NH4 half saturation for phyto              =', concnnh4
+         WRITE(numout,*)      &
+            &   ' NH4 half saturation for diatoms            =', concdnh4
+         WRITE(numout,*)      &
+            &   ' NH4 nitrification rate                     =', nitrif
+         WRITE(numout,*)      &
+            &   ' P-I slope  for diatoms                     =', pislope2
+         WRITE(numout,*)      &
+            &   ' Big particles sinking speed                =', wsbio2
+         WRITE(numout,*)      &
+            &   ' Fraction of microzoo excretion as DOM      =', sigma1
+         WRITE(numout,*)      &
+            &   ' Fraction of mesozoo excretion as DOM       =', sigma2
+         WRITE(numout,*)      &
+            &   ' Microzoo preference for POM                =', zprefc
+         WRITE(numout,*)      &
+            &   ' Microzoo preference for Nanophyto          =', zprefp
+         WRITE(numout,*)      &
+            &   ' Microzoo preference for Diatoms          =', zprefd
+         WRITE(numout,*)      &
+            &   ' Minimum Chl/C in nanophytoplankton         =', chlcnm
+         WRITE(numout,*)      &
+            &   ' Minimum Chl/C in diatoms                   =', chlcdm
+         WRITE(numout,*)      &
+            &   ' Maximum Fe/C in nanophytoplankton          =', fecnm
+         WRITE(numout,*)      &
+            &   ' Minimum Fe/C in diatoms                    =', fecdm
+         WRITE(numout,*)      &
+            &   ' Coastal release of Iron                 =', sedfeinput
       ENDIF
 
       READ(numnat,natsms)
       IF(lwp) THEN
-          WRITE(numout,*) ' '
-          WRITE(numout,*) 'natsms'
-          WRITE(numout,*) ' '
-          WRITE(numout,*) 'Dust input from the atmosphere : ', bdustfer
-          WRITE(numout,*) ' '
-          WRITE(numout,*) 'River input of nutrients : ', briver
-          WRITE(numout,*) ' '
-          WRITE(numout,*) 'Atmospheric deposition of N : ', bndepo
-          WRITE(numout,*) ' '
-          WRITE(numout,*) 'Fe input from sediments : ', bsedinput
-          WRITE(numout,*) ' '
-      ENDIF
-
-
-#else
-
-! no passive tracers
-
-#endif
+         WRITE(numout,*) ' '
+         WRITE(numout,*) 'natsms'
+         WRITE(numout,*) ' '
+         WRITE(numout,*) 'Dust input from the atmosphere : ', bdustfer
+         WRITE(numout,*) ' '
+         WRITE(numout,*) 'River input of nutrients : ', briver
+         WRITE(numout,*) ' '
+         WRITE(numout,*) 'Atmospheric deposition of N : ', bndepo
+         WRITE(numout,*) ' '
+         WRITE(numout,*) 'Fe input from sediments : ', bsedinput
+         WRITE(numout,*) ' '
+      ENDIF
+
+   END SUBROUTINE trc_lsm
