Index: branches/ORCHIDEE_2_2/ORCHIDEE/orchidee.default
===================================================================
--- branches/ORCHIDEE_2_2/ORCHIDEE/orchidee.default	(revision 6391)
+++ branches/ORCHIDEE_2_2/ORCHIDEE/orchidee.default	(revision 6393)
@@ -289,6 +289,9 @@
 VCMAX_FIX =  0., 40., 50., 30., 35., 40.,30., 40., 35., 60., 60., 70., 70. 
 
-# DOWNREG_CO2 ([-]) :  coefficient for CO2 downregulation (unitless) 	{}
+# DOWNREG_CO2 ([-]) :  coefficient for CO2 downregulation (unitless) 	{OK_CO2 and DOWNREGULATION_CO2}
 DOWNREG_CO2 =  0., 0.38, 0.38, 0.28, 0.28, 0.28, 0.22, 0.22, 0.22, 0.26, 0.26, 0.26, 0.26 
+
+# DOWNREG_CO2_NEW ([-]) :  coefficient for CO2 downregulation (unitless) 	{OK_CO2 and DOWNREGULATION_CO2_NEW}
+DOWNREG_CO2_NEW =  0., 0.35, 0.35, 0.26, 0.26, 0.26, 0.20, 0.20, 0.20, 0.24, 0.03, 0.24, 0.03 
 
 # E_KmC ([J mol-1]) :  Energy of activation for KmC 	{}
@@ -976,9 +979,15 @@
 DEW_VEG_POLY_COEFF =  0.887773, 0.205673, 0.110112, 0.014843, 0.000824, 0.000017  
 
-# DOWNREGULATION_CO2 ([FLAG]   ) :  Activation of CO2 downregulation 	{OK_SECHIBA}
+# DOWNREGULATION_CO2 ([FLAG]   ) :  Activation of CO2 downregulation (used for CMIP6 version 6.1.0-6.1.10) 	{OK_SECHIBA}
 DOWNREGULATION_CO2 =  y 
 
-# DOWNREGULATION_CO2_BASELEVEL ([ppm]   ) :  CO2 base level 	{OK_SECHIBA }
+# DOWNREGULATION_CO2_NEW ([FLAG]   ) :  Activation of CO2 downregulation (used for CMIP6 version 6.1.11 and later) 	{OK_SECHIBA}
+DOWNREGULATION_CO2_NEW =  n 
+
+# DOWNREGULATION_CO2_BASELEVEL ([ppm]   ) :  CO2 base level 	{DOWNREGULATION_CO2 or DOWNREGULATION_CO2_NEW}
 DOWNREGULATION_CO2_BASELEVEL =  380. 
+
+# DOWNREGULATION_CO2_MINIMUM ([ppm]   ) :  CO2 value above which downregulation is taken into account 	{DOWNREGULATION_CO2_NEW}
+DOWNREGULATION_CO2_MINIMUM =  280. 
 
 # GB_REF ([s m-1]   ) :  Leaf bulk boundary layer resistance 	{}
@@ -1726,2 +1735,5 @@
 XIOS_REMAP_OUTPUT =  True 
 
+# DT_STOMATE ([seconds]) :  Time step of STOMATE and other slow processes 	{OK_STOMATE}
+DT_STOMATE =  86400. 
+
Index: branches/ORCHIDEE_2_2/ORCHIDEE/src_parameters/constantes.f90
===================================================================
--- branches/ORCHIDEE_2_2/ORCHIDEE/src_parameters/constantes.f90	(revision 6391)
+++ branches/ORCHIDEE_2_2/ORCHIDEE/src_parameters/constantes.f90	(revision 6393)
@@ -951,5 +951,5 @@
     !
     !Config Key   = DOWNREGULATION_CO2
-    !Config Desc  = Activation of CO2 downregulation
+    !Config Desc  = Activation of CO2 downregulation (used for CMIP6 version 6.1.0-6.1.10)
     !Config If    = OK_SECHIBA
     !Config Def   = y
@@ -957,14 +957,37 @@
     !Config Units = [FLAG]   
     CALL getin_p('DOWNREGULATION_CO2',downregulation_co2)
-    !
+
+    !Config Key   = DOWNREGULATION_CO2_NEW
+    !Config Desc  = Activation of CO2 downregulation (used for CMIP6 version 6.1.11 and later)
+    !Config If    = OK_SECHIBA
+    !Config Def   = n
+    !Config Help  = 
+    !Config Units = [FLAG]   
+    CALL getin_p('DOWNREGULATION_CO2_NEW',downregulation_co2_new)
+    
+    IF (downregulation_co2_new .AND. downregulation_co2) THEN
+       downregulation_co2=.FALSE.
+       CALL ipslerr_p(2,"config_sechiba_parameters",&
+            "Both DOWNREGULATION_CO2 and DOWNREGULATION_CO2_NEW were set to TRUE.",&
+            "DOWNREGULATION_CO2_NEW will be kept to TRUE.", &
+            "DOWNREGULATION_CO2 will be set to FALSE.")
+    END IF
+
     !Config Key   = DOWNREGULATION_CO2_BASELEVEL
     !Config Desc  = CO2 base level
-    !Config If    = OK_SECHIBA 
+    !Config If    = DOWNREGULATION_CO2 or DOWNREGULATION_CO2_NEW
     !Config Def   = 380.
     !Config Help  = 
     !Config Units = [ppm]   
     CALL getin_p('DOWNREGULATION_CO2_BASELEVEL',downregulation_co2_baselevel)
-
-    
+   
+    !Config Key   = DOWNREGULATION_CO2_MINIMUM
+    !Config Desc  = CO2 value above which downregulation is taken into account
+    !Config If    = DOWNREGULATION_CO2_NEW
+    !Config Def   = 280.
+    !Config Help  = 
+    !Config Units = [ppm]   
+    CALL getin_p('DOWNREGULATION_CO2_MINIMUM',downregulation_co2_minimum)
+ 
     !Config Key   = GB_REF
     !Config Desc  = Leaf bulk boundary layer resistance
Index: branches/ORCHIDEE_2_2/ORCHIDEE/src_parameters/constantes_mtc.f90
===================================================================
--- branches/ORCHIDEE_2_2/ORCHIDEE/src_parameters/constantes_mtc.f90	(revision 6391)
+++ branches/ORCHIDEE_2_2/ORCHIDEE/src_parameters/constantes_mtc.f90	(revision 6393)
@@ -220,7 +220,10 @@
 ! For C4 plant we define a very small downregulation effect as C4 plant are
 ! currently saturate with respect to CO2 impact on vcmax
-  REAL(r_std), PARAMETER, DIMENSION(nvmc) :: downregulation_co2_coeff_mtc  =  &  !! coefficient for CO2 downregulation 
+  REAL(r_std), PARAMETER, DIMENSION(nvmc) :: downregulation_co2_coeff_mtc  =  &  !! Coefficient for CO2 downregulation if downregulation_co2 (used for CMIP6 6.1.0-6.1.10) (unitless)
   & (/  0.0,   0.38,   0.38,   0.28,   0.28,   0.28,   0.22,  &
   &     0.22,  0.22,   0.26,   0.03,   0.26,   0.03 /)
+  REAL(r_std), PARAMETER, DIMENSION(nvmc) :: downregulation_co2_coeff_new_mtc  =  &  !! Coefficient for CO2 downregulation if downregulation_co2_new (used for CMIP6 6.1.11) (unitless)
+  & (/  0.0,   0.35,   0.35,   0.26,   0.26,   0.26,   0.20,  &
+  &     0.20,  0.20,   0.24,   0.03,   0.24,   0.03 /)
 
   REAL(r_std), PARAMETER, DIMENSION(nvmc) :: E_KmC_mtc  = &            !! Energy of activation for KmC (J mol-1)
Index: branches/ORCHIDEE_2_2/ORCHIDEE/src_parameters/constantes_var.f90
===================================================================
--- branches/ORCHIDEE_2_2/ORCHIDEE/src_parameters/constantes_var.f90	(revision 6391)
+++ branches/ORCHIDEE_2_2/ORCHIDEE/src_parameters/constantes_var.f90	(revision 6393)
@@ -629,8 +629,12 @@
   REAL(r_std), SAVE :: laimax = 12.             !! Maximal LAI used for splitting LAI into N layers (m^2.m^{-2})
 !$OMP THREADPRIVATE(laimax)
-  LOGICAL, SAVE :: downregulation_co2 = .TRUE.             !! Set to .TRUE. if you want CO2 downregulation.
+  LOGICAL, SAVE :: downregulation_co2 = .TRUE.             !! Set to .TRUE. if you want CO2 downregulation version used for CMIP6 6.1.0-6.1.10
 !$OMP THREADPRIVATE(downregulation_co2)
+  LOGICAL, SAVE :: downregulation_co2_new = .FALSE.        !! Set to .TRUE. if you want CO2 downregulation version revised for CMIP6 6.1.11
+!$OMP THREADPRIVATE(downregulation_co2_new)
   REAL(r_std), SAVE :: downregulation_co2_baselevel = 380. !! CO2 base level (ppm)
 !$OMP THREADPRIVATE(downregulation_co2_baselevel)
+  REAL(r_std), SAVE :: downregulation_co2_minimum = 280.   !! CO2 value above which downregulation is taken into account 
+!$OMP THREADPRIVATE(downregulation_co2_minimum)
 
   REAL(r_std), SAVE :: gb_ref = 1./25.                     !! Leaf bulk boundary layer resistance (s m-1)
Index: branches/ORCHIDEE_2_2/ORCHIDEE/src_parameters/pft_parameters.f90
===================================================================
--- branches/ORCHIDEE_2_2/ORCHIDEE/src_parameters/pft_parameters.f90	(revision 6391)
+++ branches/ORCHIDEE_2_2/ORCHIDEE/src_parameters/pft_parameters.f90	(revision 6393)
@@ -289,4 +289,5 @@
     vcmax_fix(:) = vcmax_fix_mtc(pft_to_mtc(:))
     downregulation_co2_coeff(:) = downregulation_co2_coeff_mtc(pft_to_mtc(:))
+    downregulation_co2_coeff_new(:) = downregulation_co2_coeff_new_mtc(pft_to_mtc(:))
     E_KmC(:)      = E_KmC_mtc(pft_to_mtc(:))
     E_KmO(:)      = E_KmO_mtc(pft_to_mtc(:))
@@ -642,4 +643,11 @@
     END IF
 
+    ALLOCATE(downregulation_co2_coeff_new(nvm),stat=ier)
+    l_error = l_error .OR. (ier /= 0)
+    IF (l_error) THEN
+       WRITE(numout,*) ' Memory allocation error for downregulation_co2_coeff_new. We stop. We need nvm words = ',nvm
+       STOP 'pft_parameters_alloc'
+    END IF
+
     ALLOCATE(E_KmC(nvm),stat=ier)
     l_error = l_error .OR. (ier /= 0)
@@ -1930,9 +1938,17 @@
     !Config Key   = DOWNREG_CO2
     !Config Desc  = coefficient for CO2 downregulation (unitless)
-    !Config if    = 
+    !Config if    = OK_CO2 and DOWNREGULATION_CO2
     !Config Def   = 0., 0.38, 0.38, 0.28, 0.28, 0.28, 0.22, 0.22, 0.22, 0.26, 0.26, 0.26, 0.26
-    !Config Help  =
+    !Config Help  = 
     !Config Units = [-]
     CALL getin_p('DOWNREG_CO2',downregulation_co2_coeff)
+
+    !Config Key   = DOWNREG_CO2_NEW
+    !Config Desc  = coefficient for CO2 downregulation (unitless)
+    !Config if    = OK_CO2 and DOWNREGULATION_CO2_NEW
+    !Config Def   = 0., 0.35, 0.35, 0.26, 0.26, 0.26, 0.20, 0.20, 0.20, 0.24, 0.03, 0.24, 0.03
+    !Config Help  =
+    !Config Units = [-]
+    CALL getin_p('DOWNREG_CO2_NEW',downregulation_co2_coeff_new)
 
     !Config Key   = E_KmC
@@ -3290,4 +3306,5 @@
     IF (ALLOCATED(vcmax_fix)) DEALLOCATE(vcmax_fix)
     IF (ALLOCATED(downregulation_co2_coeff)) DEALLOCATE(downregulation_co2_coeff) 
+    IF (ALLOCATED(downregulation_co2_coeff_new)) DEALLOCATE(downregulation_co2_coeff_new) 
     IF (ALLOCATED(E_KmC)) DEALLOCATE(E_KmC)
     IF (ALLOCATED(E_KmO)) DEALLOCATE(E_KmO)
Index: branches/ORCHIDEE_2_2/ORCHIDEE/src_parameters/pft_parameters_var.f90
===================================================================
--- branches/ORCHIDEE_2_2/ORCHIDEE/src_parameters/pft_parameters_var.f90	(revision 6391)
+++ branches/ORCHIDEE_2_2/ORCHIDEE/src_parameters/pft_parameters_var.f90	(revision 6393)
@@ -202,6 +202,9 @@
 !$OMP THREADPRIVATE(vcmax_fix)
 
-  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION(:) :: downregulation_co2_coeff !! Coefficient for CO2 downregulation (unitless)
+  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION(:) :: downregulation_co2_coeff !! Coefficient for CO2 downregulation if downregulation_co2 (used for CMIP6 6.1.0-6.1.10) (unitless)
 !$OMP THREADPRIVATE(downregulation_co2_coeff)
+
+  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION(:) :: downregulation_co2_coeff_new !! Coefficient for CO2 downregulation if downregulation_co2_new (used for CMIP6 6.1.11) (unitless)
+!$OMP THREADPRIVATE(downregulation_co2_coeff_new)
 
   REAL(r_std), ALLOCATABLE, SAVE, DIMENSION(:) :: E_KmC         !! Energy of activation for KmC (J mol-1)
Index: branches/ORCHIDEE_2_2/ORCHIDEE/src_sechiba/diffuco.f90
===================================================================
--- branches/ORCHIDEE_2_2/ORCHIDEE/src_sechiba/diffuco.f90	(revision 6391)
+++ branches/ORCHIDEE_2_2/ORCHIDEE/src_sechiba/diffuco.f90	(revision 6393)
@@ -1575,7 +1575,20 @@
     !
 
-    IF (downregulation_co2) THEN
+    ! Choice of downregulation. Note that downregulation_co2_new excludes
+    IF (downregulation_co2_new) THEN
+       ! Option used for CMIP6 version from 6.1.11 
+       ! A minimum value is used for the CO2 concentration(Ca)
+       ! For low CO2 concentration values(under downregulation_co2_minimum) the
+       ! parametrization allows a behavior in the same way as for the preindustral period.
        DO jv= 1, nvm
-          vcmax(:,jv) = assim_param(:,jv,ivcmax)*(un-downregulation_co2_coeff(jv)*log(Ca(:)/downregulation_co2_baselevel))
+           vcmax(:,jv) = assim_param(:,jv,ivcmax)*(un-downregulation_co2_coeff_new(jv) * &
+                         (MAX(Ca(:),downregulation_co2_minimum)-downregulation_co2_baselevel) / &
+                         (MAX(Ca(:),downregulation_co2_minimum)+20.))
+       ENDDO
+    ELSE IF (downregulation_co2) THEN
+       ! Option used for CMIP6 version 6.1.0 up to 6.1.10
+       DO jv= 1, nvm
+          vcmax(:,jv) = assim_param(:,jv,ivcmax)*(un-downregulation_co2_coeff(jv) * &
+                          log(Ca(:)/downregulation_co2_baselevel))
        ENDDO
     ELSE
