Index: trunk/NEMO/TOP_SRC/MY_TRC/par_my_trc.F90
===================================================================
--- trunk/NEMO/TOP_SRC/MY_TRC/par_my_trc.F90	(revision 932)
+++ trunk/NEMO/TOP_SRC/MY_TRC/par_my_trc.F90	(revision 932)
@@ -0,0 +1,52 @@
+MODULE par_my_trc
+   !!======================================================================
+   !!                        ***  par_my_trc  ***
+   !! TOP :   set the MY_TRC parameters
+   !!======================================================================
+   !! History :   2.0  !  2007-12  (C. Ethe, G. Madec)  revised architecture
+   !!----------------------------------------------------------------------
+   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) 
+   !! $Id:$ 
+   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
+   !!----------------------------------------------------------------------
+   USE par_lobster, ONLY : jp_lobster   !: number of tracers in LOBSTER
+   USE par_pisces , ONLY : jp_pisces    !: number of tracers in PISCES
+   USE par_cfc    , ONLY : jp_cfc       !: number of tracers in CFC
+
+   IMPLICIT NONE
+   PUBLIC
+
+   INTEGER, PUBLIC, PARAMETER ::   jp_lpc  = jp_lobster + jp_pisces + jp_cfc   !: cumulative number of TRC
+
+#if defined key_trc_my_trc
+   !!---------------------------------------------------------------------
+   !!   'key_trc_my_trc'                     user defined tracers (MY_TRC)
+   !!---------------------------------------------------------------------
+   LOGICAL, PUBLIC, PARAMETER ::   lk_my_trc     = .TRUE.   !: PTS flag 
+   INTEGER, PUBLIC, PARAMETER ::   jp_my_trc     =  3       !: number of PTS tracers
+   INTEGER, PUBLIC, PARAMETER ::   jp_my_trc_2d  =  1       !: additional 2d output arrays ('key_trc_diaadd')
+   INTEGER, PUBLIC, PARAMETER ::   jp_my_trc_3d  =  1       !: additional 3d output arrays ('key_trc_diaadd')
+   INTEGER, PUBLIC, PARAMETER ::   jp_my_trc_trd =  0       !: number of sms trends for MY_TRC
+
+   ! assign an index in trc arrays for each PTS prognostic variables
+   INTEGER, PUBLIC, PARAMETER ::   jp_myt1 = jp_lpc + 1     !: 1st MY_TRC tracer
+   INTEGER, PUBLIC, PARAMETER ::   jp_myt2 = jp_lpc + 1     !: 2nd MY_TRC tracer
+   INTEGER, PUBLIC, PARAMETER ::   jp_myt3 = jp_lpc + 1     !: 3rd MY_TRC tracer
+
+#else
+   !!---------------------------------------------------------------------
+   !!   Default                           No user defined tracers (MY_TRC)
+   !!---------------------------------------------------------------------
+   LOGICAL, PUBLIC, PARAMETER ::   lk_my_trc     = .FALSE.  !: MY_TRC flag 
+   INTEGER, PUBLIC, PARAMETER ::   jp_my_trc     =  0       !: No MY_TRC tracers
+   INTEGER, PUBLIC, PARAMETER ::   jp_my_trc_2d  =  0       !: No MY_TRC additional 2d output arrays 
+   INTEGER, PUBLIC, PARAMETER ::   jp_my_trc_3d  =  0       !: No MY_TRC additional 3d output arrays 
+   INTEGER, PUBLIC, PARAMETER ::   jp_my_trc_trd =  0       !: number of sms trends for MY_TRC
+#endif
+
+   ! Starting/ending PISCES do-loop indices (N.B. no PISCES : jpl_pcs < jpf_pcs the do-loop are never done)
+   INTEGER, PUBLIC, PARAMETER ::   jp_myt0 = jp_lpc + 1           !: First index of CFC passive tracers
+   INTEGER, PUBLIC, PARAMETER ::   jp_myt1 = jp_lpc + jp_my_trc   !: Last  index of CFC passive tracers
+
+   !!======================================================================
+END MODULE par_my_trc
Index: trunk/NEMO/TOP_SRC/MY_TRC/trcini_my_trc.F90
===================================================================
--- trunk/NEMO/TOP_SRC/MY_TRC/trcini_my_trc.F90	(revision 932)
+++ trunk/NEMO/TOP_SRC/MY_TRC/trcini_my_trc.F90	(revision 932)
@@ -0,0 +1,55 @@
+MODULE trcini_my_trc
+   !!======================================================================
+   !!                         ***  MODULE trcini_my_trc  ***
+   !! TOP :   initialisation of the MY_TRC tracers
+   !!======================================================================
+   !! History :   2.0  !  2007-12  (C. Ethe, G. Madec) Original code
+   !!----------------------------------------------------------------------
+#if defined key_my_trc
+   !!----------------------------------------------------------------------
+   !!   'key_my_trc'                                               CFC tracers
+   !!----------------------------------------------------------------------
+   !! trc_ini_my_trc   : MY_TRC model initialisation
+   !!----------------------------------------------------------------------
+   USE par_trc         ! TOP parameters
+
+   IMPLICIT NONE
+   PRIVATE
+
+   PUBLIC   trc_ini_my_trc   ! called by trcini.F90 module
+
+   !!----------------------------------------------------------------------
+   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) 
+   !! $Id: trcini_cfc.F90 766 2007-12-14 08:59:00Z gm $ 
+   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
+   !!----------------------------------------------------------------------
+
+CONTAINS
+
+   SUBROUTINE trc_ini_my_trc
+      !!----------------------------------------------------------------------
+      !!                     ***  trc_ini_my_trc  ***  
+      !!
+      !! ** Purpose :   initialization for MY_TRC model
+      !!
+      !! ** Method  : - Read the namcfc namelist and check the parameter values
+      !!----------------------------------------------------------------------
+      !!----------------------------------------------------------------------
+
+      IF(lwp) WRITE(numout,*)
+      IF(lwp) WRITE(numout,*) ' trc_ini_my_trc: initialisation of MY_TRC model'
+      IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~'
+      !
+   END SUBROUTINE trc_ini_my_trc
+   
+#else
+   !!----------------------------------------------------------------------
+   !!   Dummy module                                        No MY_TRC model
+   !!----------------------------------------------------------------------
+CONTAINS
+   SUBROUTINE trc_ini_my_trc             ! Empty routine
+   END SUBROUTINE trc_ini_my_trc
+#endif
+
+   !!======================================================================
+END MODULE trcini_my_trc
Index: trunk/NEMO/TOP_SRC/MY_TRC/trclsm_my_trc.F90
===================================================================
--- trunk/NEMO/TOP_SRC/MY_TRC/trclsm_my_trc.F90	(revision 932)
+++ trunk/NEMO/TOP_SRC/MY_TRC/trclsm_my_trc.F90	(revision 932)
@@ -0,0 +1,59 @@
+MODULE trclsm_my_trc
+   !!======================================================================
+   !!                      ***  MODULE trclsm_my_trc  ***
+   !! TOP :   initialisation of some run parameters for LOBSTER bio-model
+   !!======================================================================
+   !! History :   2.0  !  2007-12  (C. Ethe, G. Madec) Original code
+   !!----------------------------------------------------------------------
+#if defined key_my_trc
+   !!----------------------------------------------------------------------
+   !!   'key_my_trc'   :                                       MY_TRC model
+   !!----------------------------------------------------------------------
+   !! trc_lsm_my_trc      : MY_TRC model initialisation
+   !!----------------------------------------------------------------------
+   USE oce_trc         ! Ocean variables
+   USE par_trc         ! TOP parameters
+   USE trc             ! TOP variables
+   USE sms             ! sms trends
+
+   IMPLICIT NONE
+   PRIVATE
+
+   PUBLIC   trc_lsm_my_trc   ! called by trclsm.F90 module
+
+   !!----------------------------------------------------------------------
+   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) 
+   !! $Id: $ 
+   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
+   !!----------------------------------------------------------------------
+
+CONTAINS
+
+   SUBROUTINE trc_lsm_my_trc
+      !!----------------------------------------------------------------------
+      !!                     ***  trc_lsm_my_trc  ***  
+      !!
+      !! ** Purpose :   read MY_TRC namelist
+      !!
+      !! ** input   :   file 'namelist.trc.sms' containing the following
+      !!             namelist: natbio, natopt, and natdbi ("key_trc_diabio")
+      !!----------------------------------------------------------------------
+      !!----------------------------------------------------------------------
+      !
+      IF(lwp) WRITE(numout,*)
+      IF(lwp) WRITE(numout,*) ' trc_lsm_my_trc : read MY_TRC namelists'
+      IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~~'
+      !
+   END SUBROUTINE trc_lsm_my_trc
+   
+#else
+   !!----------------------------------------------------------------------
+   !!  Dummy module :                                             No MY_TRC
+   !!----------------------------------------------------------------------
+CONTAINS
+   SUBROUTINE trc_lsm_my_trc                      ! Empty routine
+   END  SUBROUTINE  trc_lsm_my_trc
+#endif  
+
+   !!======================================================================
+END MODULE trclsm_my_trc
Index: trunk/NEMO/TOP_SRC/MY_TRC/trcsms_my_trc.F90
===================================================================
--- trunk/NEMO/TOP_SRC/MY_TRC/trcsms_my_trc.F90	(revision 932)
+++ trunk/NEMO/TOP_SRC/MY_TRC/trcsms_my_trc.F90	(revision 932)
@@ -0,0 +1,57 @@
+MODULE trcsms_my_trc
+   !!======================================================================
+   !!                         ***  MODULE trcsms_my_trc  ***
+   !! TOP :   Main module of the MY_TRC tracers
+   !!======================================================================
+   !! History :   2.0  !  2007-12  (C. Ethe, G. Madec) Original code
+   !!----------------------------------------------------------------------
+#if defined key_my_trc
+   !!----------------------------------------------------------------------
+   !!   'key_my_trc'                                               CFC tracers
+   !!----------------------------------------------------------------------
+   !! trc_sms_my_trc   : MY_TRC model main routine 
+   !!----------------------------------------------------------------------
+   USE par_trc         ! TOP parameters
+
+   IMPLICIT NONE
+   PRIVATE
+
+   PUBLIC   trc_sms_my_trc   ! called by trcsms.F90 module
+
+   !!----------------------------------------------------------------------
+   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) 
+   !! $Id: trcini_cfc.F90 766 2007-12-14 08:59:00Z gm $ 
+   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
+   !!----------------------------------------------------------------------
+
+CONTAINS
+
+   SUBROUTINE trc_sms_my_trc( kt )
+      !!----------------------------------------------------------------------
+      !!                     ***  trc_sms_my_trc  ***  
+      !!
+      !! ** Purpose :   main routine of MY_TRC model
+      !!
+      !! ** Method  : - 
+      !!----------------------------------------------------------------------
+      INTEGER, INTENT(in) :: kt   ! ocean time-step index
+
+      IF(lwp) WRITE(numout,*)
+      IF(lwp) WRITE(numout,*) ' trc_sms_my_trc:  MY_TRC model'
+      IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~'
+      !
+   END SUBROUTINE trc_sms_my_trc
+   
+#else
+   !!----------------------------------------------------------------------
+   !!   Dummy module                                        No MY_TRC model
+   !!----------------------------------------------------------------------
+CONTAINS
+   SUBROUTINE trc_sms_my_trc( kt )             ! Empty routine
+      INTEGER, INTENT( in ) ::   kt
+      WRITE(*,*) 'trc_sms_my_trc: You should not have seen this print! error?', kt
+   END SUBROUTINE trc_sms_my_trc
+#endif
+
+   !!======================================================================
+END MODULE trcsms_my_trc
