Index: LMDZ6/trunk/libf/misc/readTracFiles_mod.f90
===================================================================
--- LMDZ6/trunk/libf/misc/readTracFiles_mod.f90	(revision 4367)
+++ LMDZ6/trunk/libf/misc/readTracFiles_mod.f90	(revision 4389)
@@ -179,8 +179,7 @@
 !     * If you need to convert a %key/%val pair into a direct-access key, add the corresponding line in "setDirectKeys".
 !==============================================================================================================================
-LOGICAL FUNCTION readTracersFiles(type_trac, fTyp, lRepr) RESULT(lerr)
+LOGICAL FUNCTION readTracersFiles(type_trac, lRepr) RESULT(lerr)
 !------------------------------------------------------------------------------------------------------------------------------
   CHARACTER(LEN=*),  INTENT(IN)  :: type_trac                        !--- List of components used
-  INTEGER, OPTIONAL, INTENT(OUT) :: fTyp                             !--- Type of input file found
   LOGICAL, OPTIONAL, INTENT(IN)  :: lRepr                            !--- Activate the HNNO3 exceptions for REPROBUS
   CHARACTER(LEN=maxlen),  ALLOCATABLE :: s(:), sections(:), trac_files(:)
@@ -196,6 +195,5 @@
 
   !--- Required sections + corresponding files names (new style single section case) for tests
-  IF(test(testTracersFiles(modname, type_trac, fType, .TRUE., trac_files, sections), lerr)) RETURN
-  IF(PRESENT(fTyp)) fTyp = fType
+  IF(test(testTracersFiles(modname, type_trac, fType, .FALSE., trac_files, sections), lerr)) RETURN
   nsec = SIZE(sections)
 
@@ -290,29 +288,28 @@
   CHARACTER(LEN=*),                             INTENT(IN)  :: modname, type_trac
   INTEGER,                                      INTENT(OUT) :: fType
-  LOGICAL,                                      INTENT(IN)  :: lDisp
+  LOGICAL,                            OPTIONAL, INTENT(IN)  :: lDisp
   CHARACTER(LEN=maxlen), ALLOCATABLE, OPTIONAL, INTENT(OUT) :: tracf(:), sects(:)
   CHARACTER(LEN=maxlen), ALLOCATABLE :: trac_files(:), sections(:)
   LOGICAL, ALLOCATABLE :: ll(:)
+  LOGICAL :: lD
   INTEGER :: is, nsec
-
-  !--- PARSE "type_trac" LIST AND DETERMINE THE TRACERS FILES NAMES (FOR CASE 3: MULTIPLE FILES, SINNGLE SECTION PER FILE)
+  lD = .FALSE.; IF(PRESENT(lDisp)) lD = lDisp
+  lerr = .FALSE.
+
+  !--- PARSE "type_trac" LIST AND DETERMINE THE TRACERS FILES NAMES (FOR CASE 3: MULTIPLE FILES, SINGLE SECTION PER FILE)
+  !--- If type_trac is a scalar (case 1), "sections" and "trac_files" are not usable, but are meaningless for case 1 anyway.
   IF(test(strParse(type_trac, '|', sections,  n=nsec), lerr)) RETURN !--- Parse "type_trac" list
   IF(PRESENT(sects)) sects = sections
   ALLOCATE(trac_files(nsec)); DO is=1, nsec; trac_files(is) = 'tracer_'//TRIM(sections(is))//'.def'; END DO
   IF(PRESENT(tracf)) tracf = trac_files
-
-  nsec = SIZE(trac_files, DIM=1)
   ll = .NOT.testFile(trac_files)
   fType = 0
-  IF(.NOT.testFile('traceur.def') .AND. nsec==1) fType = 1           !--- OLD STYLE FILE
-  IF(.NOT.testFile('tracer.def'))                fType = 2           !--- NEW STYLE ; SINGLE  FILE, SEVERAL SECTIONS
-  IF(ALL(ll))                                    fType = 3           !--- NEW STYLE ; SEVERAL FILES, SINGLE SECTION USED
-  IF(.NOT.test(lDisp, lerr)) RETURN                                  !--- NO CHECKING/DISPLAY NEEDED: JUST GET type_trac,fType
+  IF(.NOT.testFile('traceur.def')) fType = 1                         !--- OLD STYLE FILE
+  IF(.NOT.testFile('tracer.def'))  fType = 2                         !--- NEW STYLE ; SINGLE  FILE, SEVERAL SECTIONS
+  IF(ALL(ll))                      fType = 3                         !--- NEW STYLE ; SEVERAL FILES, SINGLE SECTION USED
+  IF(.NOT.lD) RETURN                                                 !--- NO CHECKING/DISPLAY NEEDED: JUST GET type_trac,fType
   IF(ANY(ll) .AND. fType/=3) THEN                                    !--- MISSING FILES
     IF(test(checkList(trac_files, .NOT.ll, 'Failed reading tracers description', 'files', 'missing'), lerr)) RETURN
   END IF
-
-  !--- CHECK WHETHER type_trac AND FILE TYPE ARE COMPATIBLE
-  IF(test(fmsg('No multiple sections for the old format "traceur.def"', ll = nsec>1 .AND. fType==1), lerr)) RETURN
 
   !--- TELLS WHAT WAS IS ABOUT TO BE USED
