Index: LMDZ6/branches/contrails/libf/phylmd/lmdz_aviation.f90
===================================================================
--- LMDZ6/branches/contrails/libf/phylmd/lmdz_aviation.f90	(revision 5455)
+++ LMDZ6/branches/contrails/libf/phylmd/lmdz_aviation.f90	(revision 5456)
@@ -63,5 +63,5 @@
       cldfra, qvc, dz, V_cell, pdf_loc, pdf_scale, pdf_alpha, &
       Tcritcont, qcritcont, potcontfraP, potcontfraNP, contfra, &
-      dcf_avi, dqvc_avi, dqi_avi &
+      dcontfra_cir, dcf_avi, dqvc_avi, dqi_avi &
       )
 
@@ -100,5 +100,6 @@
 REAL, INTENT(OUT) :: potcontfraP  ! potential persistent contrail fraction [-]
 REAL, INTENT(OUT) :: potcontfraNP ! potential non-persistent contrail fraction [-]
-REAL, INTENT(OUT) :: contfra      ! contrail fraction [-]
+REAL, INTENT(OUT) :: contfra      ! linear contrail fraction [-]
+REAL, INTENT(OUT) :: dcontfra_cir ! linear contrail fraction to cirrus cloud fraction tendency [s-1]
 REAL, INTENT(OUT) :: dcf_avi      ! cloud fraction tendency because of aviation [s-1]
 REAL, INTENT(OUT) :: dqvc_avi     ! specific ice content tendency because of aviation [kg/kg/s]
@@ -187,5 +188,6 @@
 !--Convert existing contrail fraction into "natural" cirrus cloud fraction
 contfra = rcont_seri * cldfra
-contfra = contfra * EXP( - dtime / linear_contrails_lifetime )
+dcontfra_cir = contfra * ( EXP( - dtime / linear_contrails_lifetime ) - 1. )
+contfra = contfra + dcontfra_cir
 
 !--Add a source of contrails from aviation
@@ -205,5 +207,5 @@
 
   !--Add tendencies
-  contfra = contfra + contfra_new
+  contfra = contfra + dcf_avi
 ENDIF
 
@@ -644,10 +646,10 @@
 flight_h2o(:,:) = 0.
 
-!DO i=1, klon
-! IF ( ( latitude_deg(i) .GE. 42. ) .AND. ( latitude_deg(i) .LE. 48. ) ) THEN 
-!   flight_dist(i,14) = 50000.  !--5000 m of flight/second in grid cell x 10 scaling
-!   flight_h2o(i,14) = 100.  !--10 kgH2O/second in grid cell x 10 scaling
-! ENDIF
-!ENDDO
+DO i=1, klon
+ IF ( ( latitude_deg(i) .GE. 42. ) .AND. ( latitude_deg(i) .LE. 48. ) ) THEN 
+   flight_dist(i,15) = 50000.  !--5000 m of flight/second in grid cell x 10 scaling
+   flight_h2o(i,15) = 100.  !--10 kgH2O/second in grid cell x 10 scaling
+ ENDIF
+ENDDO
 
 END SUBROUTINE read_aviation_emissions
Index: LMDZ6/branches/contrails/libf/phylmd/lmdz_lscp.f90
===================================================================
--- LMDZ6/branches/contrails/libf/phylmd/lmdz_lscp.f90	(revision 5455)
+++ LMDZ6/branches/contrails/libf/phylmd/lmdz_lscp.f90	(revision 5456)
@@ -21,10 +21,10 @@
      cf_seri, rvc_seri, u_seri, v_seri,                 &
      qsub, qissr, qcld, subfra, issrfra, gamma_cond,    &
-     dcf_sub, dcf_con, dcf_mix,          &
+     dcf_sub, dcf_con, dcf_mix,                         &
      dqi_adj, dqi_sub, dqi_con, dqi_mix, dqvc_adj,      &
      dqvc_sub, dqvc_con, dqvc_mix, qsatl, qsati,        &
-     rcont_seri, flight_dist, flight_h2o,               &
+     rcont_seri, flight_dist, flight_h2o, contfra,      &
      Tcritcont, qcritcont, potcontfraP, potcontfraNP,   &
-     dcf_avi, dqi_avi, dqvc_avi,                        &
+     dcontfra_cir, dcf_avi, dqi_avi, dqvc_avi,          &
      cloudth_sth,cloudth_senv,cloudth_sigmath,cloudth_sigmaenv, &
      qraindiag, qsnowdiag, dqreva, dqssub, dqrauto,     &
@@ -232,8 +232,10 @@
   ! for contrails and aviation
 
-  REAL, DIMENSION(klon,klev),      INTENT(OUT)  :: Tcritcont    ! critical temperature for contrail formation [K]
-  REAL, DIMENSION(klon,klev),      INTENT(OUT)  :: qcritcont    ! critical specific humidity for contrail formation [kg/kg]
-  REAL, DIMENSION(klon,klev),      INTENT(OUT)  :: potcontfraP  ! potential persistent contrail fraction [-]
-  REAL, DIMENSION(klon,klev),      INTENT(OUT)  :: potcontfraNP ! potential non-persistent contrail fraction [-]
+  REAL, DIMENSION(klon,klev),      INTENT(OUT)  :: contfra        !--linear contrail fraction [-]
+  REAL, DIMENSION(klon,klev),      INTENT(OUT)  :: Tcritcont      !--critical temperature for contrail formation [K]
+  REAL, DIMENSION(klon,klev),      INTENT(OUT)  :: qcritcont      !--critical specific humidity for contrail formation [kg/kg]
+  REAL, DIMENSION(klon,klev),      INTENT(OUT)  :: potcontfraP    !--potential persistent contrail fraction [-]
+  REAL, DIMENSION(klon,klev),      INTENT(OUT)  :: potcontfraNP   !--potential non-persistent contrail fraction [-]
+  REAL, DIMENSION(klon,klev),      INTENT(OUT)  :: dcontfra_cir   !--linear contrail fraction to cirrus cloud fraction tendency [s-1]
   REAL, DIMENSION(klon,klev),      INTENT(OUT)  :: dcf_avi        !--cloud fraction tendency because of aviation [s-1]
   REAL, DIMENSION(klon,klev),      INTENT(OUT)  :: dqi_avi        !--specific ice content tendency because of aviation [kg/kg/s]
@@ -311,5 +313,4 @@
   REAL :: delta_z
   ! for contrails
-  REAL, DIMENSION(klon) :: contfra
   !--Added for ice supersaturation (ok_ice_supersat) and contrails (ok_plane_contrail)
   ! Constants used for calculating ratios that are advected (using a parent-child
@@ -416,8 +417,10 @@
 dqvc_con(:,:)   = 0.
 dqvc_mix(:,:)   = 0.
+contfra(:,:)    = 0.
 Tcritcont(:,:)  = missing_val
 qcritcont(:,:)  = missing_val
 potcontfraP(:,:)= 0.
 potcontfraNP(:,:)= 0.
+dcontfra_cir(:,:)= 0.
 dcf_avi(:,:)    = 0.
 dqi_avi(:,:)    = 0.
@@ -728,7 +731,7 @@
                         dqi_adj(:,k), dqi_sub(:,k), dqi_con(:,k), dqi_mix(:,k), &
                         dqvc_adj(:,k), dqvc_sub(:,k), dqvc_con(:,k), dqvc_mix(:,k), &
-                        rcont_seri(:,k), flight_dist(:,k), flight_h2o(:,k), contfra, &
+                        rcont_seri(:,k), flight_dist(:,k), flight_h2o(:,k), contfra(:,k), &
                         Tcritcont(:,k), qcritcont(:,k), potcontfraP(:,k), potcontfraNP(:,k), &
-                        dcf_avi(:,k), dqi_avi(:,k), dqvc_avi(:,k))
+                        dcontfra_cir(:,k), dcf_avi(:,k), dqi_avi(:,k), dqvc_avi(:,k))
 
 
@@ -1066,5 +1069,5 @@
           rvc_seri(i,k) = qvc(i) / zq(i)
         ELSE
-          rvc_seri(i,k) = 0.
+          rvc_seri(i,k) = min_ratio
         ENDIF
         !--The MIN barrier is NEEDED because of:
@@ -1075,7 +1078,7 @@
         IF ( ok_plane_contrail ) THEN
           IF ( rneb(i,k) .GT. min_qParent ) THEN
-            rcont_seri(i,k) = contfra(i) / rneb(i,k)
+            rcont_seri(i,k) = contfra(i,k) / rneb(i,k)
           ELSE
-            rcont_seri(i,k) = 0.
+            rcont_seri(i,k) = min_ratio
           ENDIF
           !--This barrier should never be activated
Index: LMDZ6/branches/contrails/libf/phylmd/lmdz_lscp_condensation.f90
===================================================================
--- LMDZ6/branches/contrails/libf/phylmd/lmdz_lscp_condensation.f90	(revision 5455)
+++ LMDZ6/branches/contrails/libf/phylmd/lmdz_lscp_condensation.f90	(revision 5456)
@@ -100,5 +100,6 @@
       dqi_adj, dqi_sub, dqi_con, dqi_mix, dqvc_adj, dqvc_sub, dqvc_con, dqvc_mix, &
       rcont_seri, flight_dist, flight_h2o, contfra, &
-      Tcritcont, qcritcont, potcontfraP, potcontfraNP, dcf_avi, dqi_avi, dqvc_avi)
+      Tcritcont, qcritcont, potcontfraP, potcontfraNP, &
+      dcontfra_cir, dcf_avi, dqi_avi, dqvc_avi)
 
 !----------------------------------------------------------------------
@@ -191,9 +192,10 @@
 !  NB. idem for the INOUT
 !
-REAL,     INTENT(INOUT), DIMENSION(klon) :: contfra      ! contrail fraction [-]
+REAL,     INTENT(INOUT), DIMENSION(klon) :: contfra      ! linear contrail fraction [-]
 REAL,     INTENT(INOUT), DIMENSION(klon) :: Tcritcont    ! critical temperature for contrail formation [K]
 REAL,     INTENT(INOUT), DIMENSION(klon) :: qcritcont    ! critical specific humidity for contrail formation [kg/kg]
 REAL,     INTENT(INOUT), DIMENSION(klon) :: potcontfraP  ! potential persistent contrail fraction [-]
 REAL,     INTENT(INOUT), DIMENSION(klon) :: potcontfraNP ! potential non-persistent contrail fraction [-]
+REAL,     INTENT(INOUT), DIMENSION(klon) :: dcontfra_cir ! linear contrail fraction to cirrus cloud fraction tendency [s-1]
 REAL,     INTENT(INOUT), DIMENSION(klon) :: dcf_avi      ! cloud fraction tendency because of aviation [s-1]
 REAL,     INTENT(INOUT), DIMENSION(klon) :: dqi_avi      ! specific ice content tendency because of aviation [kg/kg/s]
@@ -788,5 +790,5 @@
             dz, V_cell, pdf_loc, pdf_scale, pdf_alpha, &
             Tcritcont(i), qcritcont(i), potcontfraP(i), potcontfraNP(i), contfra(i), &
-            dcf_avi(i), dqvc_avi(i), dqi_avi(i) &
+            dcontfra_cir(i), dcf_avi(i), dqvc_avi(i), dqi_avi(i) &
             )
 
@@ -809,4 +811,5 @@
         qvc(i)    = 0.
         qincld(i) = qsat(i)
+        IF ( ok_plane_contrail ) contfra(i) = 0.
       ELSE
         qincld(i) = qcld(i) / cldfra(i)
@@ -826,4 +829,5 @@
       dqvc_mix(i) = dqvc_mix(i) / dtime
       IF ( ok_plane_contrail ) THEN
+        dcontfra_cir(i) = dcontfra_cir(i) / dtime
         dcf_avi(i)  = dcf_avi(i)  / dtime
         dqi_avi(i)  = dqi_avi(i)  / dtime
Index: LMDZ6/branches/contrails/libf/phylmd/phys_local_var_mod.F90
===================================================================
--- LMDZ6/branches/contrails/libf/phylmd/phys_local_var_mod.F90	(revision 5455)
+++ LMDZ6/branches/contrails/libf/phylmd/phys_local_var_mod.F90	(revision 5456)
@@ -675,4 +675,6 @@
       REAL, SAVE, ALLOCATABLE :: potcontfraP(:,:), potcontfraNP(:,:)
       !$OMP THREADPRIVATE(potcontfraP, potcontfraNP)
+      REAL, SAVE, ALLOCATABLE :: contfra(:,:), dcontfra_cir(:,:)
+      !$OMP THREADPRIVATE(contfra, dcontfra_cir)
       REAL, SAVE, ALLOCATABLE :: dcf_avi(:,:), dqi_avi(:,:), dqvc_avi(:,:)
       !$OMP THREADPRIVATE(dcf_avi, dqi_avi, dqvc_avi)
@@ -1222,4 +1224,5 @@
       ALLOCATE(Tcritcont(klon,klev), qcritcont(klon,klev))
       ALLOCATE(potcontfraP(klon,klev), potcontfraNP(klon,klev))
+      ALLOCATE(contfra(klon,klev), dcontfra_cir(klon,klev))
       ALLOCATE(dcf_avi(klon,klev), dqi_avi(klon,klev), dqvc_avi(klon,klev))
 
@@ -1626,4 +1629,5 @@
       DEALLOCATE(d_q_avi, rcont_seri, d_rcont_dyn, flight_dist, flight_h2o)
       DEALLOCATE(Tcritcont, qcritcont, potcontfraP, potcontfraNP)
+      DEALLOCATE(contfra, dcontfra_cir)
       DEALLOCATE(dcf_avi, dqi_avi, dqvc_avi)
 
Index: LMDZ6/branches/contrails/libf/phylmd/phys_output_ctrlout_mod.F90
===================================================================
--- LMDZ6/branches/contrails/libf/phylmd/phys_output_ctrlout_mod.F90	(revision 5455)
+++ LMDZ6/branches/contrails/libf/phylmd/phys_output_ctrlout_mod.F90	(revision 5456)
@@ -2182,4 +2182,8 @@
   TYPE(ctrl_out), SAVE :: o_potcontfraNP = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/),&
     'potcontfraNP', 'Potential non-persistent contrail fraction', '-', (/ ('', i=1,10)/))
+  TYPE(ctrl_out), SAVE :: o_contfra = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/),&
+    'contfra', 'Linear contrail fraction', '-', (/ ('', i=1,10)/))
+  TYPE(ctrl_out), SAVE :: o_dcontfracir = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/),&
+    'dcontfracir', 'Linear contrail fraction to cirrus cloud fraction tendency', '-', (/ ('', i=1,10)/))
   TYPE(ctrl_out), SAVE :: o_dcfavi = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
     'dcfavi', 'Aviation cloud fraction tendency', 's-1', (/ ('', i=1, 10) /))
Index: LMDZ6/branches/contrails/libf/phylmd/phys_output_write_mod.F90
===================================================================
--- LMDZ6/branches/contrails/libf/phylmd/phys_output_write_mod.F90	(revision 5455)
+++ LMDZ6/branches/contrails/libf/phylmd/phys_output_write_mod.F90	(revision 5456)
@@ -226,7 +226,7 @@
          o_dqvcadj, o_dqvcsub, o_dqvccon, o_dqvcmix, o_qsatl, o_qsati, &
 !-- LSCP - aviation variables
-         o_rcontseri, o_drcontdyn, o_dqavi, &
+         o_rcontseri, o_drcontdyn, o_dqavi, o_contfra, &
          o_Tcritcont, o_qcritcont, o_potcontfraP, o_potcontfraNP, &
-         o_dcfavi, o_dqiavi, o_dqvcavi, o_flight_dist, o_flight_h2o, &
+         o_dcontfracir, o_dcfavi, o_dqiavi, o_dqvcavi, o_flight_dist, o_flight_h2o, &
 !--interactive CO2
          o_flx_co2_ocean, o_flx_co2_ocean_cor, &
@@ -350,7 +350,7 @@
          dqvc_adj, dqvc_sub, dqvc_con, dqvc_mix, &
          qsatliq, qsatice, &
-         rcont_seri, d_rcont_dyn, d_q_avi, &
+         rcont_seri, d_rcont_dyn, d_q_avi, contfra, &
          Tcritcont, qcritcont, potcontfraP, potcontfraNP, &
-         dcf_avi, dqi_avi, dqvc_avi, flight_dist, flight_h2o, &
+         dcontfra_cir, dcf_avi, dqi_avi, dqvc_avi, flight_dist, flight_h2o, &
          alp_bl_det, alp_bl_fluct_m, alp_bl_conv, &
          alp_bl_stat, alp_bl_fluct_tke, slab_wfbils, &
@@ -2132,4 +2132,6 @@
          CALL histwrite_phy(o_potcontfraP, potcontfraP)
          CALL histwrite_phy(o_potcontfraNP, potcontfraNP)
+         CALL histwrite_phy(o_contfra, contfra)
+         CALL histwrite_phy(o_dcontfracir, dcontfra_cir)
          CALL histwrite_phy(o_dcfavi, dcf_avi)
          CALL histwrite_phy(o_dqiavi, dqi_avi)
Index: LMDZ6/branches/contrails/libf/phylmd/physiq_mod.F90
===================================================================
--- LMDZ6/branches/contrails/libf/phylmd/physiq_mod.F90	(revision 5455)
+++ LMDZ6/branches/contrails/libf/phylmd/physiq_mod.F90	(revision 5456)
@@ -329,6 +329,6 @@
        !-- LSCP - aviation and contrails variables
        d_q_avi, rcont_seri, d_rcont_dyn, flight_dist, flight_h2o, &
-       Tcritcont, qcritcont, potcontfraP, potcontfraNP, &
-       dcf_avi, dqi_avi, dqvc_avi, &
+       contfra, Tcritcont, qcritcont, potcontfraP, potcontfraNP, &
+       dcontfra_cir, dcf_avi, dqi_avi, dqvc_avi, &
        !
        cldemi,  &
@@ -3914,6 +3914,7 @@
          dcf_sub, dcf_con, dcf_mix, dqi_adj, dqi_sub, dqi_con, dqi_mix, &
          dqvc_adj, dqvc_sub, dqvc_con, dqvc_mix, qsatliq, qsatice, &
-         rcont_seri, flight_dist, flight_h2o, &
-         Tcritcont, qcritcont, potcontfraP, potcontfraNP, dcf_avi, dqi_avi, dqvc_avi, &
+         rcont_seri, flight_dist, flight_h2o, contfra, &
+         Tcritcont, qcritcont, potcontfraP, potcontfraNP, &
+         dcontfra_cir, dcf_avi, dqi_avi, dqvc_avi, &
          cloudth_sth,cloudth_senv,cloudth_sigmath,cloudth_sigmaenv, &
          qraindiag, qsnowdiag, dqreva, dqssub, dqrauto, dqrcol, dqrmelt, &
