Index: LMDZ6/trunk/libf/dyn3d_common/infotrac.F90
===================================================================
--- LMDZ6/trunk/libf/dyn3d_common/infotrac.F90	(revision 4153)
+++ LMDZ6/trunk/libf/dyn3d_common/infotrac.F90	(revision 4154)
@@ -117,12 +117,12 @@
    TYPE(isot_type),         SAVE, POINTER :: isotope            !--- CURRENTLY SELECTED ISOTOPES FAMILY DESCRIPTOR
    INTEGER,                 SAVE          :: ixIso, iH2O        !--- Index of the selected isotopes family and H2O family
-   LOGICAL,                 SAVE, POINTER :: isoCheck           !--- Flag to trigger the checking routines
+   LOGICAL,                 SAVE          :: isoCheck           !--- Flag to trigger the checking routines
    TYPE(keys_type),         SAVE, POINTER :: isoKeys(:)         !--- ONE SET OF KEYS FOR EACH ISOTOPE (LISTED IN isoName)
    CHARACTER(LEN=maxlen),   SAVE, POINTER :: isoName(:),   &    !--- ISOTOPES NAMES FOR THE CURRENTLY SELECTED FAMILY
                                              isoZone(:),   &    !--- TAGGING ZONES  FOR THE CURRENTLY SELECTED FAMILY
                                              isoPhas            !--- USED PHASES    FOR THE CURRENTLY SELECTED FAMILY
-   INTEGER,                 SAVE, POINTER ::  niso, nzone, &    !--- NUMBER OF ISOTOPES, TAGGING ZONES AND PHASES
-                                             nphas, ntiso, &    !--- NUMBER OF PHASES AND ISOTOPES + ISOTOPIC TAGGING TRACERS
-                                            itZonIso(:,:), &    !--- INDEX IN "isoTrac" AS f(tagging zone idx,  isotope idx)
+   INTEGER,                 SAVE          ::  niso, nzone, &    !--- NUMBER OF ISOTOPES, TAGGING ZONES AND PHASES
+                                             nphas, ntiso       !--- NUMBER OF PHASES AND ISOTOPES + ISOTOPIC TAGGING TRACERS
+   INTEGER,                 SAVE, POINTER ::itZonIso(:,:), &    !--- INDEX IN "isoTrac" AS f(tagging zone idx,  isotope idx)
                                             iqIsoPha(:,:)       !--- INDEX IN "qx"      AS f(isotopic tracer idx, phase idx)
 
@@ -510,4 +510,5 @@
 ELSE
 
+   niso = 0; nzone=0; nphas=nqo; ntiso = 0; isoCheck=.FALSE.
    CALL initIsotopes(tracers, isotopes)
    nbIso = SIZE(isotopes)
@@ -773,6 +774,9 @@
    iIso = strIdx(isotopes(:)%parent, iName)
    lerr = iIso == 0
-   CALL msg('no isotope family named "'//TRIM(iName)//'"', ll=lerr .AND. lV)
-   IF(lerr) RETURN
+   IF(lerr) THEN
+      niso = 0; ntiso = 0; nzone=0; nphas=nqo; isoCheck=.FALSE.
+      CALL msg('no isotope family named "'//TRIM(iName)//'"', ll=lV)
+      RETURN
+   END IF
    lerr = isoSelectByIndex(iIso, lV)
 END FUNCTION isoSelectByName
@@ -792,9 +796,9 @@
    ixIso = iIso                                                      !--- Update currently selected family index
    isotope  => isotopes(ixIso)                                       !--- Select corresponding component
-   isoKeys  => isotope%keys;     niso     => isotope%niso
-   isoName  => isotope%trac;     ntiso    => isotope%ntiso
-   isoZone  => isotope%zone;     nzone    => isotope%nzone
-   isoPhas  => isotope%phase;    nphas    => isotope%nphas
-   itZonIso => isotope%itZonIso; isoCheck => isotope%check
+   isoKeys  => isotope%keys;     niso     = isotope%niso
+   isoName  => isotope%trac;     ntiso    = isotope%ntiso
+   isoZone  => isotope%zone;     nzone    = isotope%nzone
+   isoPhas  => isotope%phase;    nphas    = isotope%nphas
+   itZonIso => isotope%itZonIso; isoCheck = isotope%check
    iqIsoPha => isotope%iqIsoPha
 END FUNCTION isoSelectByIndex
Index: LMDZ6/trunk/libf/phylmd/infotrac_phy.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/infotrac_phy.F90	(revision 4153)
+++ LMDZ6/trunk/libf/phylmd/infotrac_phy.F90	(revision 4154)
@@ -115,12 +115,12 @@
    TYPE(isot_type),         SAVE, POINTER :: isotope            !--- CURRENTLY SELECTED ISOTOPES FAMILY DESCRIPTOR
    INTEGER,                 SAVE          :: ixIso, iH2O        !--- Index of the selected isotopes family and H2O family
-   LOGICAL,                 SAVE, POINTER :: isoCheck           !--- Flag to trigger the checking routines
+   LOGICAL,                 SAVE          :: isoCheck           !--- Flag to trigger the checking routines
    TYPE(keys_type),         SAVE, POINTER :: isoKeys(:)         !--- ONE SET OF KEYS FOR EACH ISOTOPE (LISTED IN isoName)
    CHARACTER(LEN=maxlen),   SAVE, POINTER :: isoName(:),   &    !--- ISOTOPES NAMES FOR THE CURRENTLY SELECTED FAMILY
                                              isoZone(:),   &    !--- TAGGING ZONES  FOR THE CURRENTLY SELECTED FAMILY
                                              isoPhas            !--- USED PHASES    FOR THE CURRENTLY SELECTED FAMILY
-   INTEGER,                 SAVE, POINTER ::  niso, nzone, &    !--- NUMBER OF ISOTOPES, TAGGING ZONES AND PHASES
-                                             nphas, ntiso, &    !--- NUMBER OF PHASES AND ISOTOPES + ISOTOPIC TAGGING TRACERS
-                                            itZonIso(:,:), &    !--- INDEX IN "isoTrac" AS f(tagging zone idx,  isotope idx)
+   INTEGER,                 SAVE          ::  niso, nzone, &    !--- NUMBER OF ISOTOPES, TAGGING ZONES AND PHASES
+                                             nphas, ntiso       !--- NUMBER OF PHASES AND ISOTOPES + ISOTOPIC TAGGING TRACERS
+   INTEGER,                 SAVE, POINTER ::itZonIso(:,:), &    !--- INDEX IN "isoTrac" AS f(tagging zone idx,  isotope idx)
                                             iqIsoPha(:,:)       !--- INDEX IN "qx"      AS f(isotopic tracer idx, phase idx)
 !$OMP THREADPRIVATE(isotope, ixIso,iH2O, isoCheck, isoKeys, isoName,isoZone,isoPhas, niso,nzone,nphas,ntiso, itZonIso,iqIsoPha)
@@ -224,6 +224,9 @@
    iIso = strIdx(isotopes(:)%parent, iName)
    lerr = iIso == 0
-   CALL msg('no isotope family named "'//TRIM(iName)//'"', ll=lerr .AND. lV)
-   IF(lerr) RETURN
+   IF(lerr) THEN
+      niso = 0; ntiso = 0; nzone=0; nphas=nqo; isoCheck=.FALSE.
+      CALL msg('no isotope family named "'//TRIM(iName)//'"', ll=lV)
+      RETURN
+   END IF
    lerr = isoSelectByIndex(iIso, lV)
 END FUNCTION isoSelectByName
@@ -243,9 +246,9 @@
    ixIso = iIso                                                  !--- Update currently selected family index
    isotope  => isotopes(ixIso)                                   !--- Select corresponding component
-   isoKeys  => isotope%keys;     niso     => isotope%niso
-   isoName  => isotope%trac;     ntiso    => isotope%ntiso
-   isoZone  => isotope%zone;     nzone    => isotope%nzone
-   isoPhas  => isotope%phase;    nphas    => isotope%nphas
-   itZonIso => isotope%itZonIso; isoCheck => isotope%check
+   isoKeys  => isotope%keys;     niso     = isotope%niso
+   isoName  => isotope%trac;     ntiso    = isotope%ntiso
+   isoZone  => isotope%zone;     nzone    = isotope%nzone
+   isoPhas  => isotope%phase;    nphas    = isotope%nphas
+   itZonIso => isotope%itZonIso; isoCheck = isotope%check
    iqIsoPha => isotope%iqIsoPha
 END FUNCTION isoSelectByIndex
