Index: branches/dev_001_GM/NEMO/TOP_SRC/SMS/trclsm.pisces.h90
===================================================================
--- branches/dev_001_GM/NEMO/TOP_SRC/SMS/trclsm.pisces.h90	(revision 740)
+++ branches/dev_001_GM/NEMO/TOP_SRC/SMS/trclsm.pisces.h90	(revision 763)
@@ -1,256 +1,189 @@
-!!----------------------------------------------------------------------
-!!                    ***  trclsm.pisces.h90 ***
-!!----------------------------------------------------------------------
+   !!----------------------------------------------------------------------
+   !!                     ***  trclsm.pisces.h90  ***  
+   !! TOP :   Definition some run parameter for PISCES biological model
+   !!----------------------------------------------------------------------
+   !! History :    -  !  1999-10 (M.A. Foujols, M. Levy) original code
+   !!              -  !  2000-01 (L. Bopp) hamocc3, p3zd
+   !!             1.0 !  2003-08 (C. Ethe)  module F90
+   !!----------------------------------------------------------------------
+
+   !!----------------------------------------------------------------------
+   !! NEMO/TOP 1.0 , LOCEAN-IPSL (2005) 
+   !! $Id $ 
+   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
+   !!----------------------------------------------------------------------
+
 CONTAINS
 
    SUBROUTINE trc_lsm
       !!----------------------------------------------------------------------
+      !!                     ***  trc_lsm  ***  
       !!
-      !!                       trclsm.pisces.h
-      !!                       ****************
+      !! ** Purpose :   read PISCES namelist
       !!
-      !!  PURPOSE :
-      !!  ---------
-      !!     READs and PRINT options for PISCES namelist
+      !! ** input   :   file 'namelist.trc.sms' containing the following
+      !!             namelist: natext, natbio, natsms
+      !!                       natkriest ("key_trc_kriest")
+      !!----------------------------------------------------------------------
+      CHARACTER (len=32) ::   clname
       !!
-      !!   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: /home/opalod/NEMOCVSROOT/NEMO/TOP_SRC/SMS/trclsm.pisces.h90,v 1.7 2007/10/17 14:50:13 opalod Exp $ 
-   !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 
-      !!---------------------------------------------------------------------
-
-      ! 0. initializations
-      ! ------------------
-      !
       NAMELIST/natext/ atcco2
-      NAMELIST/natbio/caco3r, kdca, nca, part,                       &
-         &          dispo0,conc0,oxymin,grosip, 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/natbio/ caco3r, kdca, nca, part,                               &
+         &             dispo0,conc0,oxymin,grosip, 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
 #if defined key_trc_kriest
-      NAMELIST/natkriest/xkr_eta,xkr_zeta,xkr_sfact,xkr_mass_min,xkr_mass_max,&
-         &               xkr_dnano,xkr_ddiat,xkr_dmeso,xkr_daggr,xkr_stick
+      NAMELIST/natkriest/ xkr_eta  , xkr_zeta , xkr_sfact, xkr_mass_min, xkr_mass_max,   &
+         &                xkr_dnano, xkr_ddiat, xkr_dmeso, xkr_daggr   , xkr_stick
 #endif
-
-      ! 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
-
+      !!----------------------------------------------------------------------
+
+
+      IF(lwp) WRITE(numout,*)
+      IF(lwp) WRITE(numout,*) ' trc_lsm : read PISCES namelists'
+      IF(lwp) WRITE(numout,*) ' ~~~~~~~'
+
+
+      !                               ! Open the namelist file
+      !                               ! ----------------------
       clname ='namelist.trc.sms'
       CALL ctlopn( numnat, clname, 'OLD', 'FORMATTED', 'SEQUENTIAL',   &
          &           1, numout, .FALSE., 1 )
 
-      ! 1 Namelist natext :
-      ! -------------------
-      READ(numnat,natext)
-
+      !                               ! natext : Atmospheric parameters
+      !                               ! -------------------- ----------
+      REWIND( numnat )                     ! read natext
+      READ  ( numnat, natext )
+
+      IF(lwp) THEN                         ! control print
+         WRITE(numout,*)
+         WRITE(numout,*) ' Namelist : natext'
+         WRITE(numout,*) '    atmospheric pCO2                         atcco2 = ',atcco2
+      ENDIF
+
+
+      !                               ! natbio : biological parameters
+      !                               ! ------------------------------
+      REWIND( numnat )                     ! read natbio
+      READ  ( numnat, natbio )
+
+      IF(lwp) THEN                         ! control print
+         WRITE(numout,*) ' Namelist : natbio'
+         WRITE(numout,*) '    mean rainratio                            caco3r    =', caco3r
+         WRITE(numout,*) '    diss. rate constant calcite (per month)   kdca      =', kdca
+         WRITE(numout,*) '    order of reaction for calcite dissolution nca       =', nca
+         WRITE(numout,*) '    part of calcite not dissolved in guts     part      =', part
+         WRITE(numout,*) '    mean Si/C ratio                           grosip    =', grosip
+         WRITE(numout,*) '    Calcite dissolution half saturation       dispo0    =', dispo0
+         WRITE(numout,*) '    Phosphate half saturation                 conc0     =', conc0
+         WRITE(numout,*) '    frequence pour la biologie                nrdttrc   =', nrdttrc
+         WRITE(numout,*) '    P-I slope                                 pislope   =', pislope
+         WRITE(numout,*) '    excretion ratio of phytoplankton          excret    =', excret
+         WRITE(numout,*) '    POC sinking speed                         wsbio     =', wsbio
+         WRITE(numout,*) '    quadratic mortality of phytoplankton      wchl      =', wchl
+         WRITE(numout,*) '    maximum quadratic mortality of diatoms    wchld     =', wchld
+         WRITE(numout,*) '    exsudation rate of zooplankton            resrat    =', resrat
+         WRITE(numout,*) '    phytoplankton mortality rate              mprat     =', mprat
+         WRITE(numout,*) '    zooplankton mortality rate                mzrat     =', mzrat
+         WRITE(numout,*) '    zoo preference for phyto                  xprefc    =', xprefc
+         WRITE(numout,*) '    zoo preference for POC                    xprefp    =', xprefp
+         WRITE(numout,*) '    maximal zoo grazing rate                  grazrat   =', grazrat
+         WRITE(numout,*) '    non assimilated fraction of phyto by zoo  unass     =', unass
+         WRITE(numout,*) '    half sturation constant for grazing       xkgraz    =', xkgraz
+         WRITE(numout,*) '    half saturation constant for mortality    xkmort    =', xkmort
+         WRITE(numout,*) '    half saturation constant for Si uptake    xksi1     =', xksi1
+         WRITE(numout,*) '    half saturation constant for Si/C         xksi2     =', xksi2
+         WRITE(numout,*) '    remineralisation rate of POC              xremip    =', xremip
+         WRITE(numout,*) '    remineralization rate of DOC              xremik    =', xremik
+         WRITE(numout,*) '    remineralization rate of Si               xsirem    =', xsirem 
+         WRITE(numout,*) '    1st half-sat. of DOC remineralization     xkdoc1    =', xkdoc1
+         WRITE(numout,*) '    2nd half-sat. of DOC remineralization     xkdoc2    =', xkdoc2
+         WRITE(numout,*) '    excretion ratio of diatoms                excret2   =', excret2
+         WRITE(numout,*) '    exsudation rate of mesozooplankton        resrat2   =', resrat2
+         WRITE(numout,*) '    Diatoms mortality rate                    mprat2    =', mprat2
+         WRITE(numout,*) '    Phytoplankton minimum mortality rate      mpratm    =', mpratm
+         WRITE(numout,*) '    mesozooplankton mortality rate            mzrat2    =', mzrat2
+         WRITE(numout,*) '    zoo preference for zoo                    xprefz    =', xprefz
+         WRITE(numout,*) '    zoo preference for poc                    xprefpoc  =', xprefpoc
+         WRITE(numout,*) '    maximal mesozoo grazing rate              grazrat2  =', grazrat2
+         WRITE(numout,*) '    non assimilated fraction of P by mesozoo  unass2    =', unass2
+         WRITE(numout,*) '    Efficicency of Mesozoo growth             epsher2   =', epsher2 
+         WRITE(numout,*) '    Efficiency of microzoo growth             epsher    =', epsher
+         WRITE(numout,*) '    half sturation constant for grazing 2     xkgraz2   =', xkgraz2
+         WRITE(numout,*) '    Maximum aggregation rate for diatoms      wchld     =', wchld
+         WRITE(numout,*) '    scavenging rate of Iron                   xlam1     =', xlam1
+         WRITE(numout,*) '    Fe/C in zooplankton                       ferat3    =', ferat3
+         WRITE(numout,*) '    Phosphate half saturation for diatoms     conc1     =', conc1
+         WRITE(numout,*) '    Iron half saturation for phyto            conc2     =', conc2
+         WRITE(numout,*) '    Iron half saturation for diatoms          conc3     =', conc3
+         WRITE(numout,*) '    NH4 half saturation for phyto             concnnh4  =', concnnh4
+         WRITE(numout,*) '    NH4 half saturation for diatoms           concdnh4  =', concdnh4
+         WRITE(numout,*) '    NH4 nitrification rate                    nitrif    =', nitrif
+         WRITE(numout,*) '    P-I slope  for diatoms                    pislope2  =', pislope2
+         WRITE(numout,*) '    Big particles sinking speed               wsbio2    =', wsbio2
+         WRITE(numout,*) '    Fraction of microzoo excretion as DOM     sigma1    =', sigma1
+         WRITE(numout,*) '    Fraction of mesozoo excretion as DOM      sigma2    =', sigma2
+         WRITE(numout,*) '    Microzoo preference for POM               zprefc    =', zprefc
+         WRITE(numout,*) '    Microzoo preference for Nanophyto         zprefp    =', zprefp
+         WRITE(numout,*) '    Microzoo preference for Diatoms           zprefd    =', zprefd
+         WRITE(numout,*) '    Minimum Chl/C in nanophytoplankton        chlcnm    =', chlcnm
+         WRITE(numout,*) '    Minimum Chl/C in diatoms                  chlcdm    =', chlcdm
+         WRITE(numout,*) '    Maximum Fe/C in nanophytoplankton         fecnm     =', fecnm
+         WRITE(numout,*) '    Minimum Fe/C in diatoms                   fecdm     =', fecdm
+         WRITE(numout,*) '    Coastal release of Iron                   sedfeinput=', sedfeinput
+      ENDIF
+
+      !                               ! natsms : SMS parameters
+      !                               ! -----------------------
+      REWIND( numnat )                     ! read natsms
+      READ  ( numnat, natsms )
       IF(lwp) THEN
          WRITE(numout,*) ' '
-         WRITE(numout,*) 'natext'
-         WRITE(numout,*) ' '
-         WRITE(numout,*) 'atmospheric pCO2= ',atcco2
-         WRITE(numout,*) ' '
+         WRITE(numout,*) ' Namelist : natsms'
+         WRITE(numout,*) '    Dust input from the atmosphere           bdustfer  = ', bdustfer
+         WRITE(numout,*) '    River input of nutrients                 briver    = ', briver
+         WRITE(numout,*) '    Atmospheric deposition of N              bndepo    = ', bndepo
+         WRITE(numout,*) '    Fe input from sediments                  bsedinput = ', bsedinput
       ENDIF
 
-
-      READ(numnat,natbio)
+#if defined key_trc_kriest
+
+      !                               ! natkriest : kriest parameters
+      !                               ! -----------------------------
+      REWIND( numnat )                     ! read natkriest
+      READ  ( numnat, natkriest )
+
       IF(lwp) THEN
-         WRITE(numout,*) 'natbio'
-         WRITE(numout,*) ' '
-         WRITE(numout,*)      &
-            &   ' mean rainratio                             =', caco3r
-         WRITE(numout,*)      &
-            &   ' diss. rate constant calcite (per month)    =', kdca
-         WRITE(numout,*)      &
-            &   ' order of reaction for calcite dissolution  =', nca
-         WRITE(numout,*)      &
-            &   ' part of calcite not dissolved in guts      =', part
-         WRITE(numout,*)      &
-            &   ' mean Si/C ratio                            =', grosip
-         WRITE(numout,*)      &
-            &   ' Calcite dissolution half saturation        =', dispo0
-         WRITE(numout,*)      &
-            &   ' Phosphate half saturation                  =', conc0
-         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,*)      &
-            &   ' quadratic mortality of phytoplankton       =', wchl
-         WRITE(numout,*)      &
-            &   ' maximum quadratic mortality of diatoms     =', wchld
-         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
-
-#if defined key_trc_kriest
-
-      READ(numnat,natkriest)
-      IF(lwp) THEN
-         WRITE(numout,*) ' '
-         WRITE(numout,*) 'natkriest'
-         WRITE(numout,*) ' '
-         WRITE(numout,*) 'Sinking  exponent                    xkr_eta       = ', xkr_eta 
-         WRITE(numout,*) 'N content exponent                   xkr_zeta      = ', xkr_zeta
-         WRITE(numout,*) 'Sinking factor                       xkr_sfact     = ', xkr_sfact
-         WRITE(numout,*) 'Stickiness                           xkr_stick     = ', xkr_stick
-         WRITE(numout,*) 'Minimum mass for Aggregates          xkr_mass_min  = ', xkr_mass_min
-         WRITE(numout,*) 'Maximum mass for Aggregates          xkr_mass_max  = ', xkr_mass_max
-         WRITE(numout,*) 'Size of particles in nano pool       xkr_dnano     = ', xkr_dnano
-         WRITE(numout,*) 'Size of particles in diatoms pool    xkr_ddiat     = ', xkr_ddiat
-         WRITE(numout,*) 'Size of particles in mesozoo pool    xkr_dmeso     = ', xkr_dmeso
-         WRITE(numout,*) 'Size of particles in aggregates pool xkr_daggr     = ', xkr_daggr
+         WRITE(numout,*)
+         WRITE(numout,*) ' Namelist : natkriest'
+         WRITE(numout,*) '    Sinking  exponent                        xkr_eta      = ', xkr_eta 
+         WRITE(numout,*) '    N content exponent                       xkr_zeta     = ', xkr_zeta
+         WRITE(numout,*) '    Sinking factor                           xkr_sfact    = ', xkr_sfact
+         WRITE(numout,*) '    Stickiness                               xkr_stick    = ', xkr_stick
+         WRITE(numout,*) '    Minimum mass for Aggregates              xkr_mass_min = ', xkr_mass_min
+         WRITE(numout,*) '    Maximum mass for Aggregates              xkr_mass_max = ', xkr_mass_max
+         WRITE(numout,*) '    Size of particles in nano pool           xkr_dnano    = ', xkr_dnano
+         WRITE(numout,*) '    Size of particles in diatoms pool        xkr_ddiat    = ', xkr_ddiat
+         WRITE(numout,*) '    Size of particles in mesozoo pool        xkr_dmeso    = ', xkr_dmeso
+         WRITE(numout,*) '    Size of particles in aggregates pool     xkr_daggr    = ', xkr_daggr
      ENDIF
 
 
      ! Computation of some variables
-     xkr_massp     = 5.7E-6 * 7.6 * xkr_mass_min**xkr_zeta
+     xkr_massp = 5.7E-6 * 7.6 * xkr_mass_min**xkr_zeta
+     
      ! max and min vertical particle speed
      xkr_wsbio_min = xkr_sfact * xkr_mass_min**xkr_eta
      xkr_wsbio_max = xkr_sfact * xkr_mass_max**xkr_eta
-     WRITE(numout,*) ' max and min vertical particle speed ',xkr_wsbio_min,xkr_wsbio_max
+     WRITE(numout,*) ' max and min vertical particle speed ', xkr_wsbio_min, xkr_wsbio_max
+     
      !
      !    effect of the sizes of the different living pools on particle numbers
@@ -267,6 +200,5 @@
      xkr_naggr = 1. / ( xkr_massp * xkr_daggr )
     
-
 #endif
-
+      !
    END SUBROUTINE trc_lsm
