Index: LMDZ6/trunk/libf/phylmd/infotrac_phy.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/infotrac_phy.F90	(revision 4499)
+++ LMDZ6/trunk/libf/phylmd/infotrac_phy.F90	(revision 4500)
@@ -202,5 +202,5 @@
       CASE('coag'); CALL msg(TRIM(msg1)//' tracers are treated for COAGULATION tests', modname)
       CASE('lmdz'); CALL msg(TRIM(msg1)//' tracers are treated in LMDZ only',          modname)
-      CASE DEFAULT; CALL abort_gcm(modname,'type_trac='//TRIM(type_trac)//' not possible yet.',1)
+      CASE DEFAULT; CALL abort_physic(modname,'type_trac='//TRIM(type_trac)//' not possible yet.',1)
    END SELECT
 
@@ -209,13 +209,13 @@
       CASE('inca', 'inco')
 #ifndef INCA
-         CALL abort_gcm(modname, 'You must add cpp key INCA and compile with INCA code', 1)
+         CALL abort_physic(modname, 'You must add cpp key INCA and compile with INCA code', 1)
 #endif
       CASE('repr')
 #ifndef REPROBUS
-         CALL abort_gcm(modname, 'You must add cpp key REPROBUS and compile with REPROBUS code', 1)
+         CALL abort_physic(modname, 'You must add cpp key REPROBUS and compile with REPROBUS code', 1)
 #endif
       CASE('coag')
 #ifndef CPP_StratAer
-         CALL abort_gcm(modname, 'You must add cpp key StratAer and compile with StratAer code', 1)
+         CALL abort_physic(modname, 'You must add cpp key StratAer and compile with StratAer code', 1)
 #endif
    END SELECT
@@ -234,10 +234,11 @@
 
    !=== DETERMINE THE TYPE OF THE INPUT TRACERS DESCRIPTION FILE
-   IF(testTracersFiles(modname, texp, fType, lInit)) CALL abort_gcm(modname, 'problem with tracers file(s)',1)
+   IF(testTracersFiles(modname, texp, fType, lInit)) CALL abort_physic(modname, 'problem with tracers file(s)',1)
+
    ttp = type_trac; IF(fType /= 1) ttp = texp
 
 !##############################################################################################################################
    IF(lInit) THEN
-      IF(readTracersFiles(ttp, type_trac == 'repr')) CALL abort_gcm(modname, 'problem with tracers file(s)',1)
+      IF(readTracersFiles(ttp, type_trac == 'repr')) CALL abort_physic(modname, 'problem with tracers file(s)',1)
    ELSE
       CALL msg('No tracers description file(s) reading needed: already done in the dynamics', modname)
@@ -246,5 +247,5 @@
 
    !---------------------------------------------------------------------------------------------------------------------------
-   IF(fType == 0) CALL abort_gcm(modname, 'Missing tracers file: "traceur.def", "tracer.def" or "tracer_<keyword>.def file.',1)
+   IF(fType == 0) CALL abort_physic(modname, 'Missing tracers file: "traceur.def", "tracer.def" or "tracer_<keyword>.def file.',1)
    !---------------------------------------------------------------------------------------------------------------------------
    IF(fType == 1 .AND. ANY(['inca','inco']==type_trac) .AND. lInit) THEN  !=== FOUND OLD STYLE INCA "traceur.def"
@@ -255,5 +256,5 @@
       nbtr = nqINCA + nqCO2                                          !--- Number of tracers passed to phytrac
       nqtrue = nbtr + nqo                                            !--- Total number of "true" tracers
-      IF(ALL([2,3] /= nqo)) CALL abort_gcm(modname, 'Only 2 or 3 water phases allowed ; found nqo='//TRIM(int2str(nqo)), 1)
+      IF(ALL([2,3] /= nqo)) CALL abort_physic(modname, 'Only 2 or 3 water phases allowed ; found nqo='//TRIM(int2str(nqo)), 1)
       ALLOCATE(hadv(nqtrue), hadv_inca(nqINCA), conv_flg_inca(nqINCA), solsym_inca(nqINCA))
       ALLOCATE(vadv(nqtrue), vadv_inca(nqINCA),  pbl_flg_inca(nqINCA))
@@ -279,5 +280,5 @@
          CALL addKey('phase',     t1%phase,     t1%keys)
       END DO
-      IF(setGeneration(tracers)) CALL abort_gcm(modname,'See above',1) !- SET FIELDS %iGeneration, %gen0Name
+      IF(setGeneration(tracers)) CALL abort_physic(modname,'See below',1) !- SET FIELDS %iGeneration, %gen0Name
       DEALLOCATE(had, hadv_inca, vad, vadv_inca, conv_flg_inca, pbl_flg_inca, solsym_inca)
 #endif
@@ -314,5 +315,5 @@
       IF( hadv(iq)<20 .OR. (ANY(hadv(iq)==[20,30]) .AND. hadv(iq)==vadv(iq)) ) CYCLE
       WRITE(msg1,'("The choice hadv=",i0,", vadv=",i0,a)')hadv(iq),vadv(iq),' for "'//TRIM(tracers(iq)%name)//'" is not available'
-      CALL abort_gcm(modname, TRIM(msg1), 1)
+      CALL abort_physic(modname, TRIM(msg1), 1)
    END DO
    nqtot =    COUNT( hadv< 20 .AND. vadv< 20 ) &                     !--- No additional tracer
@@ -340,5 +341,5 @@
       IF(hadv(iq)==10 .AND. vadv(iq)==16) iad = 11
       WRITE(msg1,'("Bad choice of advection scheme for ",a,": hadv = ",i0,", vadv = ",i0)')TRIM(t1%name), hadv(iq), vadv(iq)
-      IF(iad == -1) CALL abort_gcm(modname, msg1, 1)
+      IF(iad == -1) CALL abort_physic(modname, msg1, 1)
 
       !--- SET FIELDS %longName, %isAdvected, %isInPhysics
@@ -381,5 +382,5 @@
    !=== READ PHYSICAL PARAMETERS FOR ISOTOPES
    niso = 0; nzone = 0; nphas = nqo; ntiso = 0; isoCheck = .FALSE.
-   IF(readIsotopesFile()) CALL abort_gcm(modname, 'Problem when reading isotopes parameters', 1)
+   IF(readIsotopesFile()) CALL abort_physic(modname, 'Problem when reading isotopes parameters', 1)
 
 !##############################################################################################################################
@@ -387,11 +388,11 @@
 !##############################################################################################################################
    !--- Convection / boundary layer activation for all tracers
-   ALLOCATE(conv_flg(nbtr)); conv_flg(1:nbtr) = 1
-   ALLOCATE( pbl_flg(nbtr));  pbl_flg(1:nbtr) = 1
+   IF (.NOT.ALLOCATED(conv_flg)) ALLOCATE(conv_flg(nbtr)); conv_flg(1:nbtr) = 1
+   IF (.NOT.ALLOCATED(pbl_flg)) ALLOCATE( pbl_flg(nbtr));  pbl_flg(1:nbtr) = 1
 
    !--- Note: nqtottr can differ from nbtr when nmom/=0
    nqtottr = nqtot - COUNT(delPhase(tracers%gen0Name) == 'H2O' .AND. tracers%component == 'lmdz')
    IF(COUNT(tracers%iso_iName == 0) - COUNT(delPhase(tracers%name) == 'H2O' .AND. tracers%component == 'lmdz') /= nqtottr) &
-      CALL abort_gcm(modname, 'pb dans le calcul de nqtottr', 1)
+      CALL abort_physic(modname, 'pb dans le calcul de nqtottr', 1)
 
    !=== DISPLAY THE RESULTS
@@ -414,5 +415,5 @@
       cat([(iq, iq=1, nqtot)], t%iGeneration, t%iqParent, t%nqDescen, t%nqChildren, t%iso_iGroup,          &
                   t%iso_iName, t%iso_iZone, t%iso_iPhase), nColMax=maxTableWidth, nHead=2, sub=modname))   &
-      CALL abort_gcm(modname, "problem with the tracers table content", 1)
+      CALL abort_physic(modname, "problem with the tracers table content", 1)
    IF(niso > 0) THEN
       CALL msg('Where, for isotopes family "'//TRIM(isotope%parent)//'":', modname)
Index: LMDZ6/trunk/libf/phylmd/tracinca_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/tracinca_mod.F90	(revision 4499)
+++ LMDZ6/trunk/libf/phylmd/tracinca_mod.F90	(revision 4500)
@@ -30,9 +30,9 @@
 
     !--- COHERENCE TEST BETWEEN "type_trac" AND "config_inca"
-    IF(ANY(type_trac == ['inca','inco']) .AND. ALL(config_inca /= ['aero','aeNP','chem'])) CALL abort_gcm('tracinca_init', &
+    IF(ANY(type_trac == ['inca','inco']) .AND. ALL(config_inca /= ['aero','aeNP','chem'])) CALL abort_physic('tracinca_init', &
        'INCA enabled, but unknown config_inca = "'//TRIM(config_inca)//'". Please modify "run.def"', 1)
 
     !--- PROBLEM IF "config_inca" DIFFERS FROM "none" AND INCA HAS NOT BEEN ACTIVATED
-    IF(ALL(type_trac /= ['inca','inco'])  .AND.    config_inca /= 'none')                  CALL abort_gcm('tracinca_init', &
+    IF(ALL(type_trac /= ['inca','inco'])  .AND.    config_inca /= 'none')                  CALL abort_physic('tracinca_init', &
        'INCA disabled, but config_inca = "'//TRIM(config_inca)//'" should be "none". Please modify "run.def"', 1)
 
