Index: LMDZ6/branches/Ocean_skin/libf/phylmd/phytrac_mod.F90
===================================================================
--- LMDZ6/branches/Ocean_skin/libf/phylmd/phytrac_mod.F90	(revision 3428)
+++ LMDZ6/branches/Ocean_skin/libf/phylmd/phytrac_mod.F90	(revision 3605)
@@ -54,4 +54,23 @@
 CONTAINS
 
+  SUBROUTINE phytrac_init()
+    USE dimphy
+    USE infotrac_phy, ONLY: nbtr
+    IMPLICIT NONE
+
+       ALLOCATE(d_tr_cl(klon,klev,nbtr),d_tr_dry(klon,nbtr))
+       ALLOCATE(flux_tr_dry(klon,nbtr),d_tr_dec(klon,klev,nbtr),d_tr_cv(klon,klev,nbtr))
+       ALLOCATE(d_tr_insc(klon,klev,nbtr),d_tr_bcscav(klon,klev,nbtr))
+       ALLOCATE(d_tr_evapls(klon,klev,nbtr),d_tr_ls(klon,klev,nbtr))
+       ALLOCATE(qPrls(klon,nbtr),d_tr_trsp(klon,klev,nbtr))
+       ALLOCATE(d_tr_sscav(klon,klev,nbtr),d_tr_sat(klon,klev,nbtr))
+       ALLOCATE(d_tr_uscav(klon,klev,nbtr),qPr(klon,klev,nbtr),qDi(klon,klev,nbtr))
+       ALLOCATE(qPa(klon,klev,nbtr),qMel(klon,klev,nbtr))
+       ALLOCATE(qTrdi(klon,klev,nbtr),dtrcvMA(klon,klev,nbtr))
+       ALLOCATE(d_tr_th(klon,klev,nbtr))
+       ALLOCATE(d_tr_lessi_impa(klon,klev,nbtr),d_tr_lessi_nucl(klon,klev,nbtr))
+
+  END SUBROUTINE phytrac_init
+
   SUBROUTINE phytrac(                                 &
        nstep,     julien,   gmtime,   debutphy,       &
@@ -332,17 +351,4 @@
     !                    -- INITIALIZATION --
     !######################################################################
-    IF (debutphy) THEN
-       ALLOCATE(d_tr_cl(klon,klev,nbtr),d_tr_dry(klon,nbtr))
-       ALLOCATE(flux_tr_dry(klon,nbtr),d_tr_dec(klon,klev,nbtr),d_tr_cv(klon,klev,nbtr))
-       ALLOCATE(d_tr_insc(klon,klev,nbtr),d_tr_bcscav(klon,klev,nbtr))
-       ALLOCATE(d_tr_evapls(klon,klev,nbtr),d_tr_ls(klon,klev,nbtr))
-       ALLOCATE(qPrls(klon,nbtr),d_tr_trsp(klon,klev,nbtr))
-       ALLOCATE(d_tr_sscav(klon,klev,nbtr),d_tr_sat(klon,klev,nbtr))
-       ALLOCATE(d_tr_uscav(klon,klev,nbtr),qPr(klon,klev,nbtr),qDi(klon,klev,nbtr))
-       ALLOCATE(qPa(klon,klev,nbtr),qMel(klon,klev,nbtr))
-       ALLOCATE(qTrdi(klon,klev,nbtr),dtrcvMA(klon,klev,nbtr))
-       ALLOCATE(d_tr_th(klon,klev,nbtr))
-       ALLOCATE(d_tr_lessi_impa(klon,klev,nbtr),d_tr_lessi_nucl(klon,klev,nbtr))
-    ENDIF
 
     DO k=1,klev
@@ -405,9 +411,9 @@
        !Config Key  = convscav
        !Config Desc = Convective scavenging switch: 0=off, 1=on.
-       !Config Def  = .false.
+       !Config Def  = .FALSE.
        !Config Help = 
        !
 !$OMP MASTER
-       convscav_omp=.false.
+       convscav_omp=.FALSE.
        call getin('convscav', convscav_omp)
        iflag_vdf_trac_omp=1
@@ -479,4 +485,10 @@
        CASE('co2i')
           source(:,:)=0.
+          lessivage  = .FALSE.
+          aerosol(:) = .FALSE.
+          pbl_flg(:) = 1
+          iflag_the_trac= 1
+          iflag_vdf_trac= 1
+          iflag_con_trac= 1
 #ifdef CPP_StratAer
        CASE('coag')
@@ -506,23 +518,23 @@
              CASE('lmdz')
                 IF (convscav.and.aerosol(it)) THEN
-                   flag_cvltr(it)=.true.
+                   flag_cvltr(it)=.TRUE.
                    ccntrAA(it) =ccntrAA_in    !--a modifier par JYG a lire depuis fichier 
                    ccntrENV(it)=ccntrENV_in
                    coefcoli(it)=coefcoli_in
                 ELSE 
-                   flag_cvltr(it)=.false.
+                   flag_cvltr(it)=.FALSE.
                 ENDIF
 
              CASE('repr')
-                 flag_cvltr(it)=.false.
+                 flag_cvltr(it)=.FALSE.
 
              CASE('inca')
 !                IF ((it.EQ.id_Rn222) .OR. ((it.GE.id_SO2) .AND. (it.LE.id_NH3)) ) THEN 
 !                   !--gas-phase species
-!                   flag_cvltr(it)=.false.
+!                   flag_cvltr(it)=.FALSE.
 !
 !                ELSEIF ( (it.GE.id_CIDUSTM) .AND. (it.LE.id_AIN) ) THEN
 !                   !--insoluble aerosol species
-!                   flag_cvltr(it)=.true.
+!                   flag_cvltr(it)=.TRUE.
 !                   ccntrAA(it)=0.7
 !                   ccntrENV(it)=0.7
@@ -530,5 +542,5 @@
 !                ELSEIF ( (it.EQ.id_Pb210) .OR. ((it.GE.id_CSSSM) .AND. (it.LE.id_SSN))) THEN
 !                   !--soluble aerosol species
-!                   flag_cvltr(it)=.true.
+!                   flag_cvltr(it)=.TRUE.
 !                   ccntrAA(it)=0.9
 !                   ccntrENV(it)=0.9 
@@ -540,19 +552,19 @@
                 !--test OB 
                 !--for now we do not scavenge in cvltr
-                flag_cvltr(it)=.false.
+                flag_cvltr(it)=.FALSE.
 
              CASE('co2i')
                 !--co2 tracers are not scavenged
-                flag_cvltr(it)=.false.
+                flag_cvltr(it)=.FALSE.
 
 #ifdef CPP_StratAer
              CASE('coag')
                 IF (convscav.and.aerosol(it)) THEN
-                   flag_cvltr(it)=.true.
+                   flag_cvltr(it)=.TRUE.
                    ccntrAA(it) =ccntrAA_in    
                    ccntrENV(it)=ccntrENV_in
                    coefcoli(it)=coefcoli_in
                 ELSE
-                   flag_cvltr(it)=.false.
+                   flag_cvltr(it)=.FALSE.
                 ENDIF
 #endif
@@ -562,5 +574,5 @@
           !
        ELSE ! iflag_con .ne. 3 
-          flag_cvltr(:) = .false. 
+          flag_cvltr(:) = .FALSE. 
        ENDIF
        !
@@ -590,8 +602,8 @@
        IF (lessivage .AND. type_trac .EQ. 'inca') THEN
           CALL abort_physic('phytrac', 'lessivage=T config_inca=inca impossible',1)
-          STOP
+!          STOP
        ENDIF
        !
-    END IF ! of IF (debutphy)
+    ENDIF ! of IF (debutphy)
     !############################################ END INITIALIZATION #######
 
@@ -637,6 +649,7 @@
        !   -- CO2 interactif --
        !   -- source is updated with FF and BB emissions 
-       !   -- OB => PC need to add net flux from ocean and orchidee 
+       !   -- and net fluxes from ocean and orchidee 
        !   -- sign convention : positive into the atmosphere
+
        CALL tracco2i(pdtphys, debutphy, &
             xlat, xlon, pphis, pphi, &
@@ -754,5 +767,5 @@
 #endif
 
-    END IF ! convection
+    ENDIF ! convection
 
     !======================================================================
@@ -792,5 +805,5 @@
        END DO ! it
 
-    END IF ! Thermiques
+    ENDIF ! Thermiques
 
     !======================================================================
@@ -878,5 +891,5 @@
        CALL abort_physic('iflag_vdf_trac', 'cas non prevu',1)
        !
-    END IF ! couche limite
+    ENDIF ! couche limite
 
     !======================================================================
@@ -968,6 +981,6 @@
                       zdz(i,k)=(paprs(i,k)-paprs(i,k+1))/zrho(i,k)/RG
                       !
-                   END DO
-                END DO
+                   ENDDO
+                ENDDO
 
                 DO k=klev-1, 1, -1
@@ -1014,8 +1027,8 @@
                       !                                (1.-1./(frac_impa(i,k)*frac_nucl(i,k)))
                       !--------------
-                   END DO
-                END DO
-             END IF
-          END DO
+                   ENDDO
+                ENDDO
+             ENDIF
+          ENDDO
           ! *********   end modified old version
 
@@ -1053,13 +1066,13 @@
                       ! ----------------------------------------------------------------------
                       tr_seri(i,k,it)=tr_seri(i,k,it)*frac_impa(i,k)*frac_nucl(i,k)
-                   END DO
-                END DO
-             END IF
-          END DO
+                   ENDDO
+                ENDDO
+             ENDIF
+          ENDDO
 
           ! *********   end old version
        ENDIF  !  iflag_lscav . EQ. 1, 2, 3 or 4
        !
-    END IF !  lessivage
+    ENDIF !  lessivage
 
 
