Index: trunk/NEMO/TOP_SRC/trclec.F90
===================================================================
--- trunk/NEMO/TOP_SRC/trclec.F90	(revision 274)
+++ trunk/NEMO/TOP_SRC/trclec.F90	(revision 335)
@@ -7,69 +7,60 @@
    !!=========================================================================
    !!  TOP 1.0,  LOCEAN-IPSL (2005)
-   !! $Header$
-   !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt
    !!----------------------------------------------------------------------
-
-      !! * Modules used
-      !! ==============
-      USE oce_trc
-      USE trc
-      USE trctrp_lec
-      USE trclsm
-
-     IMPLICIT NONE
-     PRIVATE 
-
-    !! * Accessibility
-    PUBLIC trc_lec
+#if defined key_passivetrc
+   !! * Modules used
+   !! ==============
+   USE oce_trc
+   USE trc
+   USE trctrp_lec
+   USE trclsm
+
+   IMPLICIT NONE
+   PRIVATE 
+
+   !! * Accessibility
+   PUBLIC trc_lec
+
+#include "passivetrc_substitute.h90"
 
 CONTAINS
 
-#if defined key_passivetrc
-
-SUBROUTINE trc_lec
-!!---------------------------------------------------------------------
-!!                       ROUTINE trclec
-!!                     ******************
-!!  PURPOSE :
-!!  ---------
-!!     READ and PRINT options for the passive tracer run (namelist)
-!!
-!!   History:
-!!   --------
-!!      original  : 96-11 (M.A. Foujols, M. Levy) passive tracer
-!!      modification : 98-04 (M.A Foujols, L. Bopp) ahtrb0 for isopycnal
-!!                                                  diffusion
-!!      modification : 99-10(M.A. Foujols, M. Levy) separation of sms
-!!      additions : 00-05(A. Estublier) TVD Limiter Scheme : Tests 
-!!                                      on ndttrc
-!!      additions : 00-06(A. Estublier) MUSCL Scheme : Tests 
-!!                                      on ndttrc
-!!      additions : 00-07(A. Estublier) PPM Scheme : Tests on ndttrc
-!!      modification : 00-11 (M.A Foujols, E Kestenare) trcrat, ahtrc0 and aeivtr0
-!!      modification : 01-01 (E Kestenare) suppress ndttrc=1 
-!!                                         for Arakawa and TVD schemes
-!!     O.Aumont and A.El Moussaoui 03/05 F90
-!!----------------------------------------------------------------------
-
-!! local declarations
-!! ==================
+   SUBROUTINE trc_lec
+      !!---------------------------------------------------------------------
+      !!                       ROUTINE trclec
+      !!                     ******************
+      !!  PURPOSE :
+      !!  ---------
+      !!     READ and PRINT options for the passive tracer run (namelist)
+      !!
+      !!   History:
+      !!   --------
+      !!      original  : 96-11 (M.A. Foujols, M. Levy) passive tracer
+      !!      modification : 98-04 (M.A Foujols, L. Bopp) ahtrb0 for isopycnal
+      !!                                                  diffusion
+      !!      modification : 99-10(M.A. Foujols, M. Levy) separation of sms
+      !!      additions : 00-05(A. Estublier) TVD Limiter Scheme : Tests 
+      !!                                      on ndttrc
+      !!      additions : 00-06(A. Estublier) MUSCL Scheme : Tests 
+      !!                                      on ndttrc
+      !!      additions : 00-07(A. Estublier) PPM Scheme : Tests on ndttrc
+      !!      modification : 00-11 (M.A Foujols, E Kestenare) trcrat, ahtrc0 and aeivtr0
+      !!      modification : 01-01 (E Kestenare) suppress ndttrc=1 
+      !!                                         for Arakawa and TVD schemes
+      !!     O.Aumont and A.El Moussaoui 03/05 F90
+      !!----------------------------------------------------------------------
+
+      !! local declarations
+      !! ==================
 
       INTEGER ::  ji
       CHARACTER (len=32) :: clname
 
-!!----------------------------------------------------------------------
-!! statement functions
-!! ===================
-
-#include "passivetrc_substitute.h90"
-
-!!
-!!---------------------------------------------------------------------
-!!  OPA.90   03/2005 
-!!---------------------------------------------------------------------
-
-!! 0. initializations
-!! ------------------
+      !!---------------------------------------------------------------------
+      !!  OPA.90   03/2005 
+      !!---------------------------------------------------------------------
+
+      !! 0. initializations
+      !! ------------------
 
       namelist/nattrc/nwritetrc,lrsttr,nrsttr, ctrcnm,ctrcnl,ctrcun,lutini     !general   
@@ -83,15 +74,15 @@
 #if defined key_trc_diaadd
       namelist/natadd/ctrc3d,ctrc3l,ctrc2d,ctrc2l, ctrc3u, ctrc2u,     &
-                      nwriteadd                             !additional diagnostics
-#endif
-
-      IF(lwp) THEN
-          WRITE(numout,*) ' '
-          WRITE(numout,*) ' ROUTINE trclec'
-          WRITE(numout,*) ' **************'
-          WRITE(numout,*) ' '
-          WRITE(numout,*) ' namelist for passive tracer'
-          WRITE(numout,*) ' ***************************'
-          WRITE(numout,*) ' '
+         nwriteadd                             !additional diagnostics
+#endif
+
+      IF(lwp) THEN
+         WRITE(numout,*) ' '
+         WRITE(numout,*) ' ROUTINE trclec'
+         WRITE(numout,*) ' **************'
+         WRITE(numout,*) ' '
+         WRITE(numout,*) ' namelist for passive tracer'
+         WRITE(numout,*) ' ***************************'
+         WRITE(numout,*) ' '
       ENDIF
 
@@ -102,7 +93,7 @@
       OPEN( numnat, FILE= clname, FORM='formatted', STATUS = 'old')
 
-!! 1., 2. & 3. initialization with namelist files
-!! ----------------------------------------------
-!! 1.0 namelist nattrc :
+      !! 1., 2. & 3. initialization with namelist files
+      !! ----------------------------------------------
+      !! 1.0 namelist nattrc :
 
       nwritetrc = 10
@@ -111,8 +102,8 @@
 
       DO ji=1,jptra
-        WRITE (ctrcnm(ji),'("TR_",I1)') ji
-        WRITE (ctrcnl(ji),'("TRACER NUMBER ",I1)') ji
-        ctrcun(ji)='mmole/m3'
-        lutini(ji)=.FALSE. 
+         WRITE (ctrcnm(ji),'("TR_",I1)') ji
+         WRITE (ctrcnl(ji),'("TRACER NUMBER ",I1)') ji
+         ctrcun(ji)='mmole/m3'
+         lutini(ji)=.FALSE. 
       END DO
 
@@ -122,35 +113,35 @@
 
       IF(lwp) THEN
-          WRITE(numout,*) ' '
-          WRITE(numout,*) 'nattrc'
-          WRITE(numout,*) ' '
-          WRITE(numout,*)          &
-              ' frequency of outputs for passive tracers nwritetrc = '    &
-              ,nwritetrc  
-          WRITE(numout,*) ' restart LOGICAL for passive tr. lrsttr = ',   &
-     &         lrsttr
-          WRITE(numout,*) ' control of time step for p. tr. nrsttr = ',   & 
-     &         nrsttr
-          DO ji=1,jptra
+         WRITE(numout,*) ' '
+         WRITE(numout,*) 'nattrc'
+         WRITE(numout,*) ' '
+         WRITE(numout,*)          &
+            ' frequency of outputs for passive tracers nwritetrc = '    &
+            ,nwritetrc  
+         WRITE(numout,*) ' restart LOGICAL for passive tr. lrsttr = ',   &
+            &         lrsttr
+         WRITE(numout,*) ' control of time step for p. tr. nrsttr = ',   & 
+            &         nrsttr
+         DO ji=1,jptra
             WRITE(numout,*) ' tracer nb: ',ji,' name = ',ctrcnm(ji)       & 
-     &           ,ctrcnl(ji) 
+               &           ,ctrcnl(ji) 
             WRITE(numout,*) ' in unit = ',ctrcun(ji)
             WRITE(numout,*) ' initial value in FILE : ',lutini(ji) 
             WRITE(numout,*) ' '
-          END DO
-          WRITE(numout,*) ' '
+         END DO
+         WRITE(numout,*) ' '
       ENDIF
 
 #if defined key_trc_diatrd
 
-!! 1.2 namelist nattrd : passive tracers dynamical trends
+      !! 1.2 namelist nattrd : passive tracers dynamical trends
 
       nwritetrd=10
 
-!! default : no dynamical trend recording
-!! --------------------------------------
+      !! default : no dynamical trend recording
+      !! --------------------------------------
       DO ji=1,jptra
-        luttrd(ji) = .FALSE.
-      END DO 
+         luttrd(ji) = .FALSE.
+      END DO
 
       REWIND(numnat)
@@ -158,19 +149,19 @@
 
       IF(lwp) THEN
-          WRITE(numout,*) 'natrtd'
-          WRITE(numout,*) ' '
-          WRITE(numout,*)                        &
-             ' frequency of outputs for dynamical trends nwritetrd = '   &
-             ,nwritetrd
-          DO ji=1,jptra
+         WRITE(numout,*) 'natrtd'
+         WRITE(numout,*) ' '
+         WRITE(numout,*)                        &
+            ' frequency of outputs for dynamical trends nwritetrd = '   &
+            ,nwritetrd
+         DO ji=1,jptra
             WRITE(numout,*)                      &
                ' keep dynamical trends for tracer number :',ji          &
                ,luttrd(ji)   
-          END DO 
-      ENDIF
-#endif
-
-!!1.3 namelist natadd : passive tracers diagnostics
-!!-------------------------------------------------
+         END DO
+      ENDIF
+#endif
+
+      !!1.3 namelist natadd : passive tracers diagnostics
+      !!-------------------------------------------------
 
 #if defined key_trc_diaadd
@@ -178,20 +169,20 @@
       nwriteadd = 10
 
-!! default value for 3D output arrays : short and long name, units
+      !! default value for 3D output arrays : short and long name, units
 
       DO ji=1,jpdia3d
-        WRITE (ctrc3d(ji),'("3D_",I1)') ji
-        WRITE (ctrc3l(ji),'("3D DIAGNOSTIC NUMBER ",I2)') ji
-        ctrc3u(ji)=' '
-      END DO 
-
-
-!! default value for 2D output arrays : short and long name, units
-!! ---------------------------------------------------------------
+         WRITE (ctrc3d(ji),'("3D_",I1)') ji
+         WRITE (ctrc3l(ji),'("3D DIAGNOSTIC NUMBER ",I2)') ji
+         ctrc3u(ji)=' '
+      END DO
+
+
+      !! default value for 2D output arrays : short and long name, units
+      !! ---------------------------------------------------------------
       DO ji=1,jpdia2d
-        WRITE (ctrc2d(ji),'("2D_",I1)') ji
-        WRITE (ctrc2l(ji),'("2D DIAGNOSTIC NUMBER ",I2)') ji
-        ctrc2u(ji)=' '
-      END DO 
+         WRITE (ctrc2d(ji),'("2D_",I1)') ji
+         WRITE (ctrc2l(ji),'("2D DIAGNOSTIC NUMBER ",I2)') ji
+         ctrc2u(ji)=' '
+      END DO
 
       REWIND(numnat)
@@ -199,28 +190,28 @@
 
       IF(lwp) THEN
-          WRITE(numout,*) ' natadd'
-          WRITE(numout,*) ' '
-          WRITE(numout,*)                          &
-             ' frequency of outputs for additional arrays nwriteadd = '   &
-             ,nwriteadd
-          DO ji=1,jpdia3d
+         WRITE(numout,*) ' natadd'
+         WRITE(numout,*) ' '
+         WRITE(numout,*)                          &
+            ' frequency of outputs for additional arrays nwriteadd = '   &
+            ,nwriteadd
+         DO ji=1,jpdia3d
             WRITE(numout,*)                     &
                'name of 3d output field number :',ji,' : ',ctrc3d(ji)  
             WRITE(numout,*) ctrc3l(ji)  
             WRITE(numout,*) ' in unit = ',ctrc3u(ji)
-          END DO 
-          WRITE(numout,*) ' '
-          DO ji=1,jpdia2d
+         END DO
+         WRITE(numout,*) ' '
+         DO ji=1,jpdia2d
             WRITE(numout,*)                    &
                'name of 2d output field number :',ji,' : ',ctrc2d(ji)  
             WRITE(numout,*) ctrc2l(ji)  
             WRITE(numout,*) ' in unit = ',ctrc2u(ji)
-          END DO 
-          WRITE(numout,*) ' '
-      ENDIF
-#endif
-
-!! 1.1 namelist natnum :
-!! ---------------------
+         END DO
+         WRITE(numout,*) ' '
+      ENDIF
+#endif
+
+      !! 1.1 namelist natnum :
+      !! ---------------------
       rsc=1.
       rtrn=1.e-15
@@ -236,39 +227,41 @@
 
       IF(lwp) THEN
-          WRITE(numout,*) ' '
-          WRITE(numout,*) 'natnum'
-          WRITE(numout,*) ' '
-          WRITE(numout,*) ' tuning coefficient              rsc     = ',    &
-             rsc
-          WRITE(numout,*) ' truncation value                rtrn    = ',    &
-             rtrn
-          WRITE(numout,*) ' number of corrective phase      ncortrc = ',    &
-             ncortrc
-          WRITE(numout,*) ' time step freq. for pass. trac. ndttrc  = ',    &
-             ndttrc
-          WRITE(numout,*) ' 1st time step for pass. trac. nittrc000 = ',    &
-             nittrc000
-          WRITE(numout,*) ' computes or not crossterms    crosster  = ',    &
-             crosster
-      ENDIF
-
-
-!! namelist of transport
-!! ---------------------
+         WRITE(numout,*) ' '
+         WRITE(numout,*) 'natnum'
+         WRITE(numout,*) ' '
+         WRITE(numout,*) ' tuning coefficient              rsc     = ',    &
+            rsc
+         WRITE(numout,*) ' truncation value                rtrn    = ',    &
+            rtrn
+         WRITE(numout,*) ' number of corrective phase      ncortrc = ',    &
+            ncortrc
+         WRITE(numout,*) ' time step freq. for pass. trac. ndttrc  = ',    &
+            ndttrc
+         WRITE(numout,*) ' 1st time step for pass. trac. nittrc000 = ',    &
+            nittrc000
+         WRITE(numout,*) ' computes or not crossterms    crosster  = ',    &
+            crosster
+      ENDIF
+
+
+      !! namelist of transport
+      !! ---------------------
       CALL trc_trp_lec
 
-!! namelist of SMS
-!! ---------------      
+      !! namelist of SMS
+      !! ---------------      
       CALL trc_lsm
 
-END SUBROUTINE trc_lec 
+   END SUBROUTINE trc_lec
 
 #else
-
-SUBROUTINE trc_lec
-  !!==============
-     !! no passive tracers
-  !!==============
-END SUBROUTINE trc_lec
+   !!======================================================================
+   !!  Empty module : No passive tracer
+   !!======================================================================
+CONTAINS
+
+   SUBROUTINE trc_lec
+
+   END SUBROUTINE trc_lec
 
 #endif
