Index: /trunk/LMDZ.GENERIC/libf/phystd/dyn1d/initracer_1D.F90
===================================================================
--- /trunk/LMDZ.GENERIC/libf/phystd/dyn1d/initracer_1D.F90	(revision 3780)
+++ /trunk/LMDZ.GENERIC/libf/phystd/dyn1d/initracer_1D.F90	(revision 3781)
@@ -60,4 +60,5 @@
 
     logical :: foundback = .false.
+    logical :: dont_overwrite
 
     ! initialization
@@ -91,5 +92,5 @@
         ENDIF ! if modern or standard traceur.def
     else
-        write(*,*) "calchim: error opening traceur.def in initracer_1D"
+        write(*,*) "initracer_1D: error opening traceur.def"
         stop
     endif
@@ -139,5 +140,5 @@
             ! Opening file
             fil = qxf(iq)
-            print*, 'chemical profile '//trim(noms(iq))//': ', fil
+            print*, 'tracer profile '//trim(noms(iq))//': ', fil
             open(UNIT=90,FILE=fil,STATUS='old',iostat=ierr)
             if (ierr.eq.0) then
@@ -194,6 +195,16 @@
     ! convert vmr to mmr
 
-    do ilay=1,nlayer
-        do iq=1,nq
+    do iq=1,nq
+        dont_overwrite = .false.
+        do ilay=1,nlayer
+            if (pq(ilay,iq) /= 0.) then
+                ! tracer has been previously initialized,
+                ! we don't want to overwrite it to zero.
+                dont_overwrite = .true.
+                cycle
+            end if
+        end do
+        if (dont_overwrite) cycle
+        do ilay=1,nlayer
             pq(ilay,iq) = pqx(ilay,iq)*mmol(iq)/mugaz
         end do
