Index: /trunk/NEMO/TOP_SRC/par_trc.F90
===================================================================
--- /trunk/NEMO/TOP_SRC/par_trc.F90	(revision 1076)
+++ /trunk/NEMO/TOP_SRC/par_trc.F90	(revision 1077)
@@ -30,5 +30,5 @@
    INTEGER, PUBLIC, PARAMETER ::   jpdia3d  =  jp_lobster_3d + jp_pisces_3d  + jp_cfc_3d  + jp_my_trc_3d
    !                     ! total number of sms diagnostic arrays
-   INTEGER, PUBLIC, PARAMETER ::   jpdiabio = jp_lobster_trd + jp_pisces_trd + jp_cfc_trd + jp_my_trc_trd
+   INTEGER, PUBLIC, PARAMETER ::   jpdiatrd = jp_lobster_trd + jp_pisces_trd + jp_cfc_trd + jp_my_trc_trd
    
    !  1D configuration ("key_c1d")
Index: /trunk/NEMO/TOP_SRC/trc.F90
===================================================================
--- /trunk/NEMO/TOP_SRC/trc.F90	(revision 1076)
+++ /trunk/NEMO/TOP_SRC/trc.F90	(revision 1077)
@@ -134,4 +134,20 @@
    
 # endif 
+
+# if defined key_trc_diabio
+
+   !! Biological trends
+   !! -----------------
+   CHARACTER(len=8),  DIMENSION(jpdiabio) ::   ctrbio   !: biological trends name      (NAMELIST)
+   CHARACTER(len=20), DIMENSION(jpdiabio) ::   ctrbiu   !: biological trends unit      (NAMELIST)
+   CHARACTER(len=80), DIMENSION(jpdiabio) ::   ctrbil   !: biological trends long name (NAMELIST)
+   REAL(wp), DIMENSION(jpi,jpj,jpk,jpdiabio) :: trbio   !: biological trends
+
+   !! Netcdf output parameters
+   !! ------------------------
+   INTEGER ::   nwritebio   !: time step frequency for biological outputs (NAMELIST)
+
+# endif
+
    
    !! passive tracers data read and at given time_step
Index: /trunk/NEMO/TOP_SRC/trcctl.F90
===================================================================
--- /trunk/NEMO/TOP_SRC/trcctl.F90	(revision 1076)
+++ /trunk/NEMO/TOP_SRC/trcctl.F90	(revision 1077)
@@ -14,6 +14,9 @@
    USE oce_trc
    USE trc
-   USE sms
    USE trctrp_ctl
+   USE trcctl_lobster
+   USE trcctl_pisces
+   USE trcctl_cfc
+   USE trcctl_my_trc
 
    IMPLICIT NONE
@@ -81,17 +84,20 @@
       IF(lwp) WRITE(numout,*) '  '
 
-# if defined key_lobster
-#   include "trcctl.lobster.h90"
+      IF( lk_lobster ) THEN   ;   CALL trc_ctl_lobster      ! LOBSTER bio-model
+      ELSE                    ;   IF(lwp) WRITE(numout,*) '          LOBSTER not used'
+      ENDIF
 
-# elif defined key_pisces
-#   include "trcctl.pisces.h90"
+      IF( lk_pisces  ) THEN   ;   CALL trc_ctl_pisces      ! PISCES  bio-model
+      ELSE                    ;   IF(lwp) WRITE(numout,*) '          PISCES not used'
+      ENDIF
 
-# elif defined key_cfc
-#   include "trcctl.cfc.h90"
+      IF( lk_cfc     ) THEN   ;   CALL trc_ctl_cfc         ! CFC     tracers
+      ELSE                    ;   IF(lwp) WRITE(numout,*) '          CFC not used'
+      ENDIF
 
-# else
-      IF(lwp) WRITE (numout,*) '       No Source/Sink '
-      IF(lwp) WRITE (numout,*)
-#endif
+      IF( lk_my_trc  ) THEN   ;   CALL trc_ctl_my_trc      ! MY_TRC  tracers
+      ELSE                    ;   IF(lwp) WRITE(numout,*) '          MY_TRC not used'
+      ENDIF
+
 
       ! E r r o r  control
Index: /trunk/NEMO/TOP_SRC/trcdia.F90
===================================================================
--- /trunk/NEMO/TOP_SRC/trcdia.F90	(revision 1076)
+++ /trunk/NEMO/TOP_SRC/trcdia.F90	(revision 1077)
@@ -52,4 +52,5 @@
 # endif
 # if defined key_trc_diabio
+   INTEGER  ::   nitb        !:         id.         for additional array output file
    INTEGER  ::   ndepitb   !:  id for depth mesh
    INTEGER  ::   nhoritb   !:  id for horizontal mesh
@@ -636,5 +637,4 @@
       !!        IF kindic >0, output of fields before the time step loop
       !!----------------------------------------------------------------------
-      USE sms
       !!
       INTEGER, INTENT( in ) ::   kt          ! ocean time-step
Index: /trunk/NEMO/TOP_SRC/trcdta.F90
===================================================================
--- /trunk/NEMO/TOP_SRC/trcdta.F90	(revision 1076)
+++ /trunk/NEMO/TOP_SRC/trcdta.F90	(revision 1077)
@@ -12,5 +12,5 @@
    !!   'key_top'  and  'key_dtatrc'        TOP model + passive tracer data
    !!----------------------------------------------------------------------
-   !!   dta_trc      : read ocean passive tracer data
+   !!   trc_dta      : read ocean passive tracer data
    !!----------------------------------------------------------------------
    USE oce_trc
@@ -23,5 +23,5 @@
    PRIVATE
 
-   PUBLIC trc_dta   ! called in trcdtr.F90 and trcdmp.F90
+   PUBLIC trc_dta   ! called in trcini.F90 and trcdmp.F90
 
    REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk,jptra) ::   trdta   !: tracer data at given time-step
@@ -82,5 +82,5 @@
             ! Initialization
             iman = jpmois
-            i15  = nday/16
+            i15  = nday / 16
             imois = nmonth + i15 -1
             IF( imois == 0 ) imois = iman
Index: /trunk/NEMO/TOP_SRC/trcini.F90
===================================================================
--- /trunk/NEMO/TOP_SRC/trcini.F90	(revision 1076)
+++ /trunk/NEMO/TOP_SRC/trcini.F90	(revision 1077)
@@ -81,7 +81,7 @@
       IF( lk_mpp )   CALL mpp_sum( areatot )     ! sum over the global domain  
 
-      CALL trc_lec      ! READ passive tracers namelists
+                                  CALL trc_lec      ! READ passive tracers namelists
 
-      CALL trc_ctl      ! control consistency between parameters, cpp key and namelists
+                                  CALL trc_ctl      ! control consistency between parameters, cpp key
 
       IF( lk_lobster ) THEN   ;   CALL trc_ini_lobster      ! LOBSTER bio-model
Index: /trunk/NEMO/TOP_SRC/trclec.F90
===================================================================
--- /trunk/NEMO/TOP_SRC/trclec.F90	(revision 1076)
+++ /trunk/NEMO/TOP_SRC/trclec.F90	(revision 1077)
@@ -21,5 +21,9 @@
    USE trc
    USE trctrp_lec
-   USE trclsm
+   USE trclsm_lobster    ! LOBSTER namelist
+   USE trclsm_pisces     ! PISCES namelist
+   USE trclsm_cfc        ! CFC SMS namelist
+   USE trclsm_my_trc     ! MY_TRC SMS namelist
+   USE in_out_manager    ! I/O manager
 
    IMPLICIT NONE
@@ -44,30 +48,30 @@
       !! ** Purpose :   READ and PRINT options for the passive tracer run (namelist) 
       !!
-      !! ** Method  : - read namelist
+      !! ** Method  : - read passive tracer namelist 
+      !!              - read namelist of each defined SMS model
+      !!                ( (LOBSTER, PISCES, CFC, MY_TRC )
       !!---------------------------------------------------------------------
       INTEGER ::  jn
       CHARACTER (len=32) ::   clname
 
+      ! Definition of a tracer as a structure
       TYPE PTRACER
-         CHARACTER(len = 20)  :: sname
-         CHARACTER(len = 80 ) :: lname
-         CHARACTER(len = 20 ) :: unit
-         LOGICAL              :: lini
-         LOGICAL              :: lsav
+         CHARACTER(len = 20)  :: sname  !: short name
+         CHARACTER(len = 80 ) :: lname  !: long name
+         CHARACTER(len = 20 ) :: unit   !: unit
+         LOGICAL              :: lini   !: read in a file or not
+         LOGICAL              :: lsav   !: ouput the tracer or not 
       END TYPE PTRACER
 
+      TYPE(PTRACER) , DIMENSION(jptra) :: tracer
+
 #if defined key_trc_diaadd
-
+      ! definition of additional diagnostic as a structure
       TYPE DIAG
-         CHARACTER(len = 20)  :: snamedia
-         CHARACTER(len = 80 ) :: lnamedia
-         CHARACTER(len = 20 ) :: unitdia
+         CHARACTER(len = 20)  :: snamedia   !: short name
+         CHARACTER(len = 80 ) :: lnamedia   !: long name
+         CHARACTER(len = 20 ) :: unitdia    !: unit
       END TYPE DIAG
 
-#endif
-
-      TYPE(PTRACER) , DIMENSION(jptra) :: tracer
-
-#if defined key_trc_diaadd
       TYPE(DIAG) , DIMENSION(jpdia2d) :: diag2d
       TYPE(DIAG) , DIMENSION(jpdia3d) :: diag3d
@@ -184,5 +188,4 @@
          ctrc2u(jn) = ' '                                       ! units 
       END DO
-
       !                                 ! 3D output arrays
       DO jn = 1, jpdia3d
@@ -261,5 +264,19 @@
       ! namelist of SMS
       ! ---------------      
-      CALL trc_lsm
+      IF( lk_lobster ) THEN   ;   CALL trc_lsm_lobster      ! LOBSTER bio-model
+      ELSE                    ;   IF(lwp) WRITE(numout,*) '          LOBSTER not used'
+      ENDIF
+
+      IF( lk_pisces  ) THEN   ;   CALL trc_lsm_pisces      ! PISCES  bio-model
+      ELSE                    ;   IF(lwp) WRITE(numout,*) '          PISCES not used'
+      ENDIF
+
+      IF( lk_cfc     ) THEN   ;   CALL trc_lsm_cfc         ! CFC     tracers
+      ELSE                    ;   IF(lwp) WRITE(numout,*) '          CFC not used'
+      ENDIF
+
+      IF( lk_my_trc  ) THEN   ;   CALL trc_lsm_my_trc      ! MY_TRC  tracers
+      ELSE                    ;   IF(lwp) WRITE(numout,*) '          MY_TRC not used'
+      ENDIF
       !
    END SUBROUTINE trc_lec
Index: /trunk/NEMO/TOP_SRC/trcrst.F90
===================================================================
--- /trunk/NEMO/TOP_SRC/trcrst.F90	(revision 1076)
+++ /trunk/NEMO/TOP_SRC/trcrst.F90	(revision 1077)
@@ -16,5 +16,6 @@
    USE oce_trc
    USE trc
-   USE sms
+   USE sms_lobster         ! LOBSTER variables
+   USE sms_pisces          ! PISCES variables
    USE trcsms_cfc          ! CFC variables
    USE trctrp_lec   
@@ -131,5 +132,5 @@
       END SELECT
 
-      CALL iom_open( 'restart.trc', numrtr, kiolib = jprstlib )
+      CALL iom_open( 'restart_trc', numrtr, kiolib = jprstlib )
 
       CALL iom_get( numrtr, 'kt'   , zkt    )
@@ -154,109 +155,115 @@
       ! READ prognostic variables and computes diagnostic variable
       DO jn = 1, jptra
-         CALL iom_get( numrtr, jpdom_local, 'TRN'//ctrcnm(jn), trn(:,:,:,jn) ) 
-         CALL iom_get( numrtr, jpdom_local, 'TRB'//ctrcnm(jn), trb(:,:,:,jn) ) 
+         CALL iom_get( numrtr, jpdom_autoglo, 'TRN'//ctrcnm(jn), trn(:,:,:,jn) ) 
       END DO
-# if defined key_lobster
-      CALL iom_get( numrtr, jpdom_local, 'SEDB'//ctrcnm(jpdet), sedpocb(:,:) ) 
-      CALL iom_get( numrtr, jpdom_local, 'SEDN'//ctrcnm(jpdet), sedpocn(:,:) ) 
-#endif
+
+     DO jn = 1, jptra
+         CALL iom_get( numrtr, jpdom_autoglo, 'TRB'//ctrcnm(jn), trb(:,:,:,jn) ) 
+      END DO
+
+#if defined key_lobster
+      CALL iom_get( numrtr, jpdom_autoglo, 'SEDB'//ctrcnm(jpdet), sedpocb(:,:) ) 
+      CALL iom_get( numrtr, jpdom_autoglo, 'SEDN'//ctrcnm(jpdet), sedpocn(:,:) ) 
+#endif
+
 #if defined key_pisces
-      CALL iom_get( numrtr, jpdom_local, 'Silicalim', xksi(:,:) ) 
-      CALL iom_get( numrtr, jpdom_local, 'Silicamax', xksimax(:,:) )
-#endif
+      CALL iom_get( numrtr, jpdom_autoglo, 'Silicalim', xksi(:,:) ) 
+      CALL iom_get( numrtr, jpdom_autoglo, 'Silicamax', xksimax(:,:) )
+#endif
+
 #if defined key_cfc
       DO jn = jp_cfc0, jp_cfc1
-         CALL iom_get( numrtr, jpdom_local, 'qint'//ctrcnm(jn), qint(:,:,jn) ) 
-         CALL iom_get( numrtr, jpdom_local, 'qtr'//ctrcnm(jn) , qtr( :,:,jn) ) 
+         CALL iom_get( numrtr, jpdom_autoglo, 'qint'//ctrcnm(jn), qint(:,:,jn) ) 
+         CALL iom_get( numrtr, jpdom_autoglo, 'qtr'//ctrcnm(jn) , qtr( :,:,jn) ) 
       END DO
-# endif
-
-# if defined key_pisces 
-      !                                                         ! --------------------------- !
-      IF( cp_cfg == "orca" .AND. .NOT. lk_trc_c1d ) THEN      ! ORCA condiguration (not 1D) !
-         !                                                      ! --------------------------- !
-         ! set total alkalinity, phosphate, NO3 & silicate
-         ! total alkalinity
-         ! -----------------------------------------------
-         ztrasum = 0.e0             
-         DO jk = 1, jpk
-            DO jj = 1, jpj
-               DO ji = 1, jpi
-                  ztrasum = ztrasum + trn(ji,jj,jk,jptal) * tmask(ji,jj,jk) * tmask_i(ji,jj)  &
+#endif
+
+#if defined key_pisces 
+         !                                                         ! --------------------------- !
+         IF( cp_cfg == "orca" .AND. .NOT. lk_trc_c1d ) THEN      ! ORCA condiguration (not 1D) !
+            !                                                      ! --------------------------- !
+            ! set total alkalinity, phosphate, NO3 & silicate
+            ! total alkalinity
+            ! -----------------------------------------------
+            ztrasum = 0.e0             
+            DO jk = 1, jpk
+               DO jj = 1, jpj
+                  DO ji = 1, jpi
+                     ztrasum = ztrasum + trn(ji,jj,jk,jptal) * tmask(ji,jj,jk) * tmask_i(ji,jj)  &
+#  if defined key_off_degrad
+                        &              * facvol(ji,jj,jk)   &
+#  endif
+                        &              * e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,jk)
+                  END DO
+               END DO
+            END DO
+            IF( lk_mpp )   CALL mpp_sum( ztrasum )     ! sum over the global domain  
+
+
+            ztrasum = ztrasum / areatot * 1.e6
+            IF(lwp) WRITE(numout,*) 'TALK moyen ', ztrasum
+            trn(:,:,:,jptal) = trn(:,:,:,jptal) * alkmean / ztrasum
+            
+            ! phosphate
+            ! ---------
+            ztrasum = 0.e0
+            DO jk = 1, jpk
+               DO jj = 1, jpj
+                  DO ji = 1, jpi
+                     ztrasum = ztrasum + trn(ji,jj,jk,jppo4) * tmask(ji,jj,jk) * tmask_i(ji,jj)  &
 #  if defined key_off_degrad
                      &              * facvol(ji,jj,jk)   &
 #  endif
                      &              * e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,jk)
-               END DO
-            END DO
-         END DO
-         IF( lk_mpp )   CALL mpp_sum( ztrasum )     ! sum over the global domain  
-
-
-         ztrasum = ztrasum / areatot * 1.e6
-         IF(lwp) WRITE(numout,*) 'TALK moyen ', ztrasum
-         trn(:,:,:,jptal) = trn(:,:,:,jptal) * alkmean / ztrasum
-
-         ! phosphate
-         ! ---------
-         ztrasum = 0.e0
-         DO jk = 1, jpk
-            DO jj = 1, jpj
-               DO ji = 1, jpi
-                  ztrasum = ztrasum + trn(ji,jj,jk,jppo4) * tmask(ji,jj,jk) * tmask_i(ji,jj)  &
+                  END DO
+               END DO
+            END DO
+            IF( lk_mpp )   CALL mpp_sum( ztrasum )     ! sum over the global domain  
+            
+            ztrasum = ztrasum / areatot * 1.e6 / 122.
+            IF(lwp) WRITE(numout,*) 'PO4 moyen ', ztrasum 
+            trn(:,:,:,jppo4) = trn(:,:,:,jppo4) * po4mean / ztrasum
+            
+            ! NO3
+            ! ---
+            ztrasum = 0.e0
+            DO jk = 1, jpk
+               DO jj = 1, jpj
+                  DO ji = 1, jpi
+                     ztrasum = ztrasum + trn(ji,jj,jk,jpno3) * tmask(ji,jj,jk) * tmask_i(ji,jj)  &
 #  if defined key_off_degrad
                      &              * facvol(ji,jj,jk)   &
 #  endif
                      &              * e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,jk)
-               END DO
-            END DO
-         END DO
-         IF( lk_mpp )   CALL mpp_sum( ztrasum )     ! sum over the global domain  
-
-         ztrasum = ztrasum / areatot * 1.e6 / 122.
-         IF(lwp) WRITE(numout,*) 'PO4 moyen ', ztrasum 
-         trn(:,:,:,jppo4) = trn(:,:,:,jppo4) * po4mean / ztrasum
-
-         ! NO3
-         ! ---
-         ztrasum = 0.e0
-         DO jk = 1, jpk
-            DO jj = 1, jpj
-               DO ji = 1, jpi
-                  ztrasum = ztrasum + trn(ji,jj,jk,jpno3) * tmask(ji,jj,jk) * tmask_i(ji,jj)  &
+                  END DO
+               END DO
+            END DO
+            IF( lk_mpp )   CALL mpp_sum( ztrasum )     ! sum over the global domain  
+            
+            ztrasum = ztrasum / areatot * 1.e6 / 7.6
+            IF(lwp) WRITE(numout,*) 'NO3 moyen ', ztrasum 
+            trn(:,:,:,jpno3) = trn(:,:,:,jpno3) * no3mean / ztrasum
+
+            ! Silicate
+            ! --------
+            ztrasum = 0.e0
+            DO jk = 1, jpk
+               DO jj = 1, jpj
+                  DO ji = 1, jpi
+                     ztrasum = ztrasum + trn(ji,jj,jk,jpsil) * tmask(ji,jj,jk) * tmask_i(ji,jj)   &
 #  if defined key_off_degrad
                      &              * facvol(ji,jj,jk)   &
 #  endif
                      &              * e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,jk)
-               END DO
-            END DO
-         END DO
-         IF( lk_mpp )   CALL mpp_sum( ztrasum )     ! sum over the global domain  
-
-         ztrasum = ztrasum / areatot * 1.e6 / 7.6
-         IF(lwp) WRITE(numout,*) 'NO3 moyen ', ztrasum 
-         trn(:,:,:,jpno3) = trn(:,:,:,jpno3) * no3mean / ztrasum
-
-         ! Silicate
-         ! --------
-         ztrasum = 0.e0
-         DO jk = 1, jpk
-            DO jj = 1, jpj
-               DO ji = 1, jpi
-                  ztrasum = ztrasum + trn(ji,jj,jk,jpsil) * tmask(ji,jj,jk) * tmask_i(ji,jj)   &
-#  if defined key_off_degrad
-                     &              * facvol(ji,jj,jk)   &
-#  endif
-                     &              * e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,jk)
-               END DO
-            END DO
-         END DO
-         IF( lk_mpp )   CALL mpp_sum( ztrasum )     ! sum over the global domain  
-
-         IF(lwp) WRITE(numout,*) 'SiO3 moyen ', ztrasum / areatot * 1.e6
-         ztrasum = ztrasum / areatot * 1.e6
-         trn(:,:,:,jpsil) = MIN( 400.e-6,trn(:,:,:,jpsil) * siomean / ztrasum ) 
-         !
-      ENDIF
+                  END DO
+               END DO
+            END DO
+            IF( lk_mpp )   CALL mpp_sum( ztrasum )     ! sum over the global domain  
+            
+            IF(lwp) WRITE(numout,*) 'SiO3 moyen ', ztrasum / areatot * 1.e6
+            ztrasum = ztrasum / areatot * 1.e6
+            trn(:,:,:,jpsil) = MIN( 400.e-6,trn(:,:,:,jpsil) * siomean / ztrasum ) 
+            !
+         ENDIF
 
 !#if defined key_kriest
@@ -267,19 +274,19 @@
 !      trn(:,:,:,jpnum) = trn(:,:,:,jppoc) / ( 6. * xkr_massp )
 !#endif
-      !!  Set hi (???) from  total alcalinity, borat (???), akb3 (???) and ak23 (???)
-      !!  ---------------------------------------------------------------------
-      DO jk = 1, jpk
-         DO jj = 1, jpj
-            DO ji = 1,jpi
-               caralk = trn(ji,jj,jk,jptal) - borat(ji,jj,jk) / ( 1. + 1.e-8 / ( rtrn + akb3(ji,jj,jk) ) )
-               co3    = ( caralk - trn(ji,jj,jk,jpdic) ) *       tmask(ji,jj,jk)   &
-                  &   +             0.5e-3               * ( 1.- tmask(ji,jj,jk) )
-               bicarb = 2.* trn(ji,jj,jk,jpdic) - caralk
-               hi(ji,jj,jk) = ( ak23(ji,jj,jk) * bicarb / co3 )   *       tmask(ji,jj,jk)   &
-                  &         +             1.0e-9                  * ( 1.- tmask(ji,jj,jk) )
+         !!  Set hi (???) from  total alcalinity, borat (???), akb3 (???) and ak23 (???)
+         !!  ---------------------------------------------------------------------
+         DO jk = 1, jpk
+            DO jj = 1, jpj
+               DO ji = 1,jpi
+                  caralk = trn(ji,jj,jk,jptal) - borat(ji,jj,jk) / ( 1. + 1.e-8 / ( rtrn + akb3(ji,jj,jk) ) )
+                  co3    = ( caralk - trn(ji,jj,jk,jpdic) ) *       tmask(ji,jj,jk)   &
+                     &   +             0.5e-3               * ( 1.- tmask(ji,jj,jk) )
+                  bicarb = 2.* trn(ji,jj,jk,jpdic) - caralk
+                  hi(ji,jj,jk) = ( ak23(ji,jj,jk) * bicarb / co3 )   *       tmask(ji,jj,jk)   &
+                     &         +             1.0e-9                  * ( 1.- tmask(ji,jj,jk) )
+               END DO
             END DO
          END DO
-      END DO
-# endif
+#endif
 
       CALL iom_close( numrtr )
@@ -323,4 +330,7 @@
          DO jn = 1, jptra
             CALL iom_rstput( kt, nitrst, numrtw, 'TRN'//ctrcnm(jn), trn(:,:,:,jn) )
+         END DO
+
+         DO jn = 1, jptra
             CALL iom_rstput( kt, nitrst, numrtw, 'TRB'//ctrcnm(jn), trb(:,:,:,jn) )
          END DO
@@ -330,8 +340,10 @@
          CALL iom_rstput( kt, nitrst, numrtw, 'SEDN'//ctrcnm(jpdet), sedpocn(:,:) )
 #endif
+
 #if defined key_pisces
          CALL iom_rstput( kt, nitrst, numrtw, 'Silicalim', xksi(:,:) )
          CALL iom_rstput( kt, nitrst, numrtw, 'Silicamax', xksimax(:,:) )
 #endif
+
 #if defined key_cfc
          DO jn = jp_cfc0, jp_cfc1
@@ -340,4 +352,5 @@
          END DO
 #endif
+
 
          IF(lwp) WRITE(numout,*) '----TRACER STAT----'
