Index: branches/ORCHIDEE_2_2/ORCHIDEE/src_sechiba/diffuco.f90
===================================================================
--- branches/ORCHIDEE_2_2/ORCHIDEE/src_sechiba/diffuco.f90	(revision 7325)
+++ branches/ORCHIDEE_2_2/ORCHIDEE/src_sechiba/diffuco.f90	(revision 7326)
@@ -236,5 +236,5 @@
      & evap_bare_lim, evap_bare_lim_ns, evapot, evapot_corr, snow, flood_frac, flood_res, frac_nobio, snow_nobio, totfrac_nobio, &
      & swnet, swdown, coszang, ccanopy, humrel, veget, veget_max, lai, qsintveg, qsintmax, assim_param, &
-     & vbeta , vbeta1, vbeta2, vbeta3, vbeta3pot, vbeta4, vbeta5, gsmean, rveget, rstruct, cimean, gpp, co2_to_bm, &
+     & vbeta , vbeta1, vbeta2, vbeta3, vbeta3pot, vbeta4, vbeta5, gsmean, rveget, rstruct, cimean, gpp, &
      & lalo, neighbours, resolution, ptnlev1, precip_rain, frac_age, tot_bare_soil, frac_snow_veg, frac_snow_nobio, &
      & hist_id, hist2_id)
@@ -288,5 +288,4 @@
     REAL(r_std),DIMENSION (kjpindex,nvm), INTENT (in)  :: qsintmax         !! Maximum water on vegetation for interception 
                                                                            !! (kg m^{-2})
-    REAL(r_std),DIMENSION (kjpindex,nvm), INTENT (in)  :: co2_to_bm        !! virtual gpp ((gC m^{-2} dt_sechiba^{-1}), total area) 
     REAL(r_std),DIMENSION (kjpindex,nvm,npco2), INTENT (in) :: assim_param !! min+max+opt temps, vcmax, vjmax
                                                                            !! for photosynthesis (K ??)
@@ -374,5 +373,5 @@
          veget, veget_max, lai, qsintveg, qsintmax, vbeta3, vbeta3pot, &
          rveget, rstruct, cimean, gsmean, gpp, &
-         co2_to_bm, vbeta23, hist_id, indexveg, indexlai, index, kjit, cim)
+         vbeta23, hist_id, indexveg, indexlai, index, kjit, cim)
 
     !
@@ -1382,5 +1381,5 @@
                                 veget, veget_max, lai, qsintveg, qsintmax, vbeta3, vbeta3pot, rveget, rstruct, &
                                 cimean, gsmean, gpp, &
-                                co2_to_bm, vbeta23, hist_id, indexveg, indexlai, index, kjit, cim)
+                                vbeta23, hist_id, indexveg, indexlai, index, kjit, cim)
 
     !
@@ -1425,5 +1424,4 @@
     REAL(r_std),DIMENSION (kjpindex,nvm), INTENT (in)        :: vbeta23          !! Beta for fraction of wetted foliage that will 
                                                                                  !! transpire (unitless) 
-    REAL(r_std),DIMENSION (kjpindex,nvm), INTENT (in)        :: co2_to_bm        !! virtual gpp ((gC m^{-2} dt_sechiba ^{-1}), total area)
     INTEGER(i_std),INTENT (in)                               :: hist_id          !! _History_ file identifier (-)    
     INTEGER(i_std),DIMENSION (kjpindex*nvm), INTENT (in) :: indexveg       !! Indeces of the points on the 3D map (-)   
@@ -2310,10 +2308,4 @@
       !
    END DO         ! loop over vegetation types
-   !
-
-   ! Add virtual gpp (co2_to_bm) to the gpp.
-   ! Virtual gpp can be created when introducing new pft or for correction of carbon fluxes 
-   ! for instance for adjustment of Ra at end of the day.
-   gpp(:,:) = gpp(:,:) + co2_to_bm(:,:)
       
    IF (printlev>=3) WRITE (numout,*) ' diffuco_trans_co2 done '
Index: branches/ORCHIDEE_2_2/ORCHIDEE/src_sechiba/sechiba.f90
===================================================================
--- branches/ORCHIDEE_2_2/ORCHIDEE/src_sechiba/sechiba.f90	(revision 7325)
+++ branches/ORCHIDEE_2_2/ORCHIDEE/src_sechiba/sechiba.f90	(revision 7326)
@@ -234,6 +234,4 @@
   REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:,:)  :: co2_flux       !! CO2 flux (gC/m**2 of average ground/one_day)
 !$OMP THREADPRIVATE(co2_flux)
-  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:,:)  :: co2_to_bm      !! virtual CO2 flux (gC/m**2 of average ground/s)
-!$OMP THREADPRIVATE(co2_to_bm)
   REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:)    :: evapot         !! Soil Potential Evaporation
 !$OMP THREADPRIVATE(evapot)
@@ -459,5 +457,5 @@
                               frac_nobio,    njsc,         veget_max,      fraclut,           &
                               nwdfraclut,    tot_bare_soil,totfrac_nobio,  qsintmax,          &
-                              co2_to_bm, temp_growth)
+                              temp_growth)
     
     !! 1.4 Initialize diffusion coefficients
@@ -727,5 +725,5 @@
          & frac_nobio, snow_nobio, totfrac_nobio, &
          & swnet, swdown, coszang, ccanopy, humrel, veget, veget_max, lai, qsintveg, qsintmax, assim_param, &
-         & vbeta, vbeta1, vbeta2, vbeta3, vbeta3pot, vbeta4, vbeta5, gsmean, rveget, rstruct, cimean, gpp, co2_to_bm, &
+         & vbeta, vbeta1, vbeta2, vbeta3, vbeta3pot, vbeta4, vbeta5, gsmean, rveget, rstruct, cimean, gpp, &
          & lalo, neighbours, resolution, ptnlev1, precip_rain, frac_age, tot_bare_soil, frac_snow_veg, frac_snow_nobio, &
          & hist_id, hist2_id)
@@ -809,5 +807,5 @@
          lai, frac_age, height, veget, frac_nobio, veget_max, totfrac_nobio, qsintmax, &
          rest_id, hist_id, hist2_id, rest_id_stom, hist_id_stom, hist_id_stom_IPCC, &
-         co2_flux, fco2_lu, fco2_wh, fco2_ha, co2_to_bm, temp_growth, tot_bare_soil)
+         co2_flux, fco2_lu, fco2_wh, fco2_ha, temp_growth, tot_bare_soil)
 
 
@@ -1400,5 +1398,5 @@
                             ks,         nvan,      avan,     mcr,        &
                             mcs,        mcfc,      mcw,                  &
-                            co2_to_bm,  assim_param, frac_age)
+                            assim_param, frac_age)
     
     IF (printlev_loc>=3) WRITE (numout,*) 'sechiba_finalize done'
@@ -1738,7 +1736,4 @@
     IF (ier /= 0) CALL ipslerr_p(3,'sechiba_init','Pb in alloc for co2_flux','','')
     co2_flux(:,:)=zero
-
-    ALLOCATE (co2_to_bm(kjpindex,nvm),stat=ier)
-    IF (ier /= 0) CALL ipslerr_p(3,'sechiba_init','Pb in alloc for co2_to_bm','','')
 
     ALLOCATE (shumdiag(kjpindex,nslm),stat=ier)
@@ -1982,5 +1977,4 @@
     IF ( ALLOCATED (stempdiag)) DEALLOCATE (stempdiag)
     IF ( ALLOCATED (co2_flux)) DEALLOCATE (co2_flux)
-    IF ( ALLOCATED (co2_to_bm)) DEALLOCATE (co2_to_bm)
     IF ( ALLOCATED (shumdiag)) DEALLOCATE (shumdiag)
     IF ( ALLOCATED (shumdiag_perma)) DEALLOCATE (shumdiag_perma)
Index: branches/ORCHIDEE_2_2/ORCHIDEE/src_sechiba/slowproc.f90
===================================================================
--- branches/ORCHIDEE_2_2/ORCHIDEE/src_sechiba/slowproc.f90	(revision 7325)
+++ branches/ORCHIDEE_2_2/ORCHIDEE/src_sechiba/slowproc.f90	(revision 7326)
@@ -283,5 +283,5 @@
                                   frac_nobio,    njsc,         veget_max,      fraclut,           &
                                   nwdfraclut,    tot_bare_soil,totfrac_nobio,  qsintmax,          &
-                                  co2_to_bm,     temp_growth)
+                                  temp_growth)
 
 !! 0.1 Input variables
@@ -302,5 +302,4 @@
     
 !! 0.2 Output variables 
-    REAL(r_std), DIMENSION (kjpindex,nvm), INTENT(out)     :: co2_to_bm      !! Virtual gpp per average ground area (gC m^{-2} dt_stomate^{-1})
     REAL(r_std),DIMENSION (kjpindex), INTENT (out)         :: temp_growth    !! Growth temperature (Â°C) - Is equal to t2m_month 
     INTEGER(i_std), DIMENSION(kjpindex), INTENT(out)       :: njsc           !! Index of the dominant soil textural class in the grid cell (1-nscm, unitless)
@@ -365,9 +364,5 @@
              contfrac,       totfrac_nobio,          clayfraction, temp_air,          &
              lai,            veget,                  veget_max,                       &
-             co2_to_bm,      deadleaf_cover,         assim_param,  temp_growth )
-    ELSE
-       !! ok_stomate is not activated
-       !! Define the CO2 fluxes to zero (no carbone cycle)
-       co2_to_bm(:,:) = zero
+             deadleaf_cover,         assim_param,  temp_growth )
     ENDIF
     
@@ -447,5 +442,5 @@
        rest_id, hist_id, hist2_id, rest_id_stom, hist_id_stom, hist_id_stom_IPCC, &
        co2_flux, fco2_lu, fco2_wh, fco2_ha, &
-       co2_to_bm, temp_growth, tot_bare_soil)
+       temp_growth, tot_bare_soil)
   
 !! INTERFACE DESCRIPTION
@@ -484,5 +479,4 @@
     REAL(r_std),DIMENSION (kjpindex), INTENT (out)      :: fco2_wh             !! CO2 Flux to Atmosphere from Wood Harvesting (gC m^{-2} dt_stomate^{-1})
     REAL(r_std),DIMENSION (kjpindex), INTENT (out)      :: fco2_ha             !! CO2 Flux to Atmosphere from Crop Harvesting (gC m^{-2} dt_stomate^{-1})
-    REAL(r_std), DIMENSION (kjpindex,nvm), INTENT(out)  :: co2_to_bm           !! virtual gpp flux per average ground area (gC m^{-2} dt_stomate^{-1})
     REAL(r_std),DIMENSION (kjpindex), INTENT (out)      :: temp_growth         !! Growth temperature (Â°C) - Is equal to t2m_month 
     REAL(r_std), DIMENSION (kjpindex), INTENT(out)      :: tot_bare_soil       !! Total evaporating bare soil fraction in the mesh
@@ -595,5 +589,5 @@
             rest_id_stom, hist_id_stom, hist_id_stom_IPCC, &
             co2_flux, fco2_lu, fco2_wh, fco2_ha, &
-            resp_maint, resp_hetero, resp_growth, co2_to_bm, temp_growth)
+            resp_maint, resp_hetero, resp_growth, temp_growth)
 
 
@@ -664,5 +658,4 @@
        fco2_wh(:) = zero
        fco2_ha(:) = zero
-       co2_to_bm(:,:) = zero
     ENDIF
 
@@ -746,5 +739,5 @@
                                 frac_nobio, veget_max, reinf_slope,          &
                                 ks,  nvan, avan, mcr, mcs, mcfc, mcw,        &
-                                co2_to_bm,  assim_param, frac_age )
+                                assim_param, frac_age )
 
 !! 0.1 Input variables
@@ -768,6 +761,4 @@
     REAL(r_std),DIMENSION (kjpindex), INTENT(in)         :: mcfc           !! Volumetric water content at field capacity (m^{3} m^{-3})
     REAL(r_std),DIMENSION (kjpindex), INTENT(in)         :: mcw            !! Volumetric water content at wilting point (m^{3} m^{-3})
-
-    REAL(r_std),DIMENSION (kjpindex,nvm),INTENT(in)      :: co2_to_bm      !! virtual gpp flux between atmosphere and biosphere
     REAL(r_std),DIMENSION (kjpindex,nvm,npco2),INTENT (in):: assim_param   !! min+max+opt temperatures & vmax for photosynthesis (K, \mumol m^{-2} s^{-1})
     REAL(r_std),DIMENSION (kjpindex,nvm,nleafages), INTENT(in):: frac_age  !! Age efficacity from STOMATE for isoprene
@@ -842,5 +833,5 @@
     ! 2.2 Write restart variables managed by STOMATE
     IF ( ok_stomate ) THEN
-       CALL stomate_finalize (kjit, kjpindex, indexLand, clayfraction, co2_to_bm, assim_param) 
+       CALL stomate_finalize (kjit, kjpindex, indexLand, clayfraction, assim_param) 
     ENDIF
     
Index: branches/ORCHIDEE_2_2/ORCHIDEE/src_stomate/stomate.f90
===================================================================
--- branches/ORCHIDEE_2_2/ORCHIDEE/src_stomate/stomate.f90	(revision 7325)
+++ branches/ORCHIDEE_2_2/ORCHIDEE/src_stomate/stomate.f90	(revision 7326)
@@ -646,5 +646,5 @@
          contfrac,       totfrac_nobio,     clay,         temp_air,          &
          lai,            veget,             veget_max,                       &
-         co2_to_bm_radia,deadleaf_cover,    assim_param,  temp_growth )
+         deadleaf_cover,    assim_param,  temp_growth )
 
 
@@ -674,5 +674,4 @@
     !! 0.2 Output variables
 
-    REAL(r_std),DIMENSION(kjpindex,nvm),INTENT(out) :: co2_to_bm_radia   !! virtual gpp flux between atmosphere and biosphere
     REAL(r_std),DIMENSION(kjpindex),INTENT(out)     :: deadleaf_cover    !! Fraction of soil covered by dead leaves (unitless)
     REAL(r_std),DIMENSION(kjpindex,nvm,npco2),INTENT(out) :: assim_param !! min+max+opt temperatures (K) & vmax for photosynthesis  
@@ -805,5 +804,5 @@
          leaf_age, leaf_frac, &
          senescence, when_growthinit, age, &
-         resp_hetero_d, resp_maint_d, resp_growth_d, co2_fire, co2_to_bm_dgvm, co2_to_bm_radia, &
+         resp_hetero_d, resp_maint_d, resp_growth_d, co2_fire, co2_to_bm_dgvm, &
          veget_lastlight, everywhere, need_adjacent, RIP_time, &
          time_hum_min, hum_min_dormance, &
@@ -1196,5 +1195,5 @@
        &  rest_id_stom, hist_id_stom, hist_id_stom_IPCC, &
        &  co2_flux_out, fco2_lu_out, fco2_wh_out, fco2_ha_out, &
-       &  resp_maint, resp_hetero, resp_growth, co2_to_bm_radia, temp_growth)
+       &  resp_maint, resp_hetero, resp_growth, temp_growth)
     
     IMPLICIT NONE
@@ -1262,6 +1261,4 @@
     REAL(r_std),DIMENSION(kjpindex,nvm),INTENT(out) :: resp_hetero       !! Heterotrophic respiration in  
                                                                          !! @tex $(gC m^{-2} dt_stomate^{-1})$ @endtex  
-    REAL(r_std),DIMENSION(kjpindex,nvm),INTENT(out) :: co2_to_bm_radia   !! Virtual gpp created for equilibrium of carbon mass  
-                                                                         !! @tex $(gC m^{-2} dt_stomate^{-1})$ @endtex  
     REAL(r_std),DIMENSION(kjpindex),INTENT(out)     :: temp_growth       !! Growth temperature (ÃÂ°C)  
                                                                          !! Is equal to t2m_month 
@@ -1602,5 +1599,5 @@
             &             veget_lastlight, everywhere, need_adjacent, RIP_time, &
             &             lai, rprof,npp_daily, turnover_daily, turnover_time,&
-            &             control_moist_inst, control_temp_inst, soilcarbon_input_inst, &
+            &             control_moist_inst, control_temp_inst, soilcarbon_input_daily, &
             &             co2_to_bm_dgvm, co2_fire, &
             &             resp_hetero_d, resp_hetero_litter_d, resp_hetero_soil_d, resp_maint_d, resp_growth_d, &
@@ -1771,5 +1768,5 @@
        ! - (6) co2 emission from fire
        ! co2_to_bm is not added as it is already encounted in gpp
-       nep_daily(:,:)= gpp_daily(:,:)       &
+       nep_daily(:,:)= gpp_daily(:,:) + co2_to_bm_dgvm(:,:)      &
                      - resp_maint_d(:,:)  - resp_growth_d(:,:)   &
                      - resp_hetero_d(:,:) - co2_fire(:,:) 
@@ -1780,5 +1777,5 @@
        ! This variable will be used for the coupling to LMDZ for ESM configuration.
        co2_flux(:,:) = (resp_hetero_d(:,:) + resp_maint_d(:,:) + resp_growth_d(:,:) &
-            + co2_fire(:,:) -  gpp_daily(:,:))*veget_cov_max
+            + co2_fire(:,:) - co2_to_bm_dgvm(:,:) -  gpp_daily(:,:))*veget_cov_max
       
        IF ( hist_id_stom_IPCC > 0 ) THEN
@@ -1875,5 +1872,4 @@
     resp_maint(:,ibare_sechiba) = zero
     resp_growth(:,:)= resp_growth_d(:,:)*veget_cov_max(:,:)*dt_sechiba/one_day
-    co2_to_bm_radia(:,:)=co2_to_bm_dgvm(:,:)*veget_cov_max(:,:)*dt_sechiba/one_day
     resp_hetero(:,:) = resp_hetero_radia(:,:)*veget_cov_max(:,:)
     
@@ -2017,5 +2013,5 @@
 !_ ================================================================================================================================
 
-  SUBROUTINE stomate_finalize (kjit, kjpindex, index, clay, co2_to_bm_radia, assim_param) 
+  SUBROUTINE stomate_finalize (kjit, kjpindex, index, clay, assim_param) 
     
     IMPLICIT NONE
@@ -2027,5 +2023,4 @@
     INTEGER(i_std),DIMENSION(kjpindex),INTENT(in)   :: index             !! Indices of the terrestrial pixels only (unitless)
     REAL(r_std),DIMENSION(kjpindex),INTENT(in)      :: clay              !! Clay fraction of soil (0-1, unitless)
-    REAL(r_std),DIMENSION(kjpindex,nvm),INTENT(in)  :: co2_to_bm_radia   !! virtual gpp flux between atmosphere and biosphere
     REAL(r_std),DIMENSION(kjpindex,nvm,npco2),INTENT(in) :: assim_param  !! min+max+opt temperatures (K) & vmax for photosynthesis  
 
@@ -2132,5 +2127,5 @@
          leaf_age, leaf_frac, &
          senescence, when_growthinit, age, &
-         resp_hetero_d, resp_maint_d, resp_growth_d, co2_fire, co2_to_bm_dgvm, co2_to_bm_radia, &
+         resp_hetero_d, resp_maint_d, resp_growth_d, co2_fire, co2_to_bm_dgvm, &
          veget_lastlight, everywhere, need_adjacent, &
          RIP_time, &
Index: branches/ORCHIDEE_2_2/ORCHIDEE/src_stomate/stomate_io.f90
===================================================================
--- branches/ORCHIDEE_2_2/ORCHIDEE/src_stomate/stomate_io.f90	(revision 7325)
+++ branches/ORCHIDEE_2_2/ORCHIDEE/src_stomate/stomate_io.f90	(revision 7326)
@@ -75,5 +75,5 @@
        &  turnover_longterm, gpp_week, biomass, resp_maint_part, &
        &  leaf_age, leaf_frac, senescence, when_growthinit, age, &
-       &  resp_hetero, resp_maint, resp_growth, co2_fire, co2_to_bm_dgvm, co2_to_bm_radia, &
+       &  resp_hetero, resp_maint, resp_growth, co2_fire, co2_to_bm_dgvm, &
        &  veget_lastlight, everywhere, need_adjacent, RIP_time, &
        &  time_hum_min, hum_min_dormance, &
@@ -249,6 +249,4 @@
     ! biomass uptaken (gC/(m**2 of total ground)/day)
     REAL(r_std),DIMENSION(npts,nvm),INTENT(out) :: co2_to_bm_dgvm
-    ! biomass uptaken (gC/(m**2 of total ground)/dt_sechiba)
-    REAL(r_std),DIMENSION(npts,nvm),INTENT(out) :: co2_to_bm_radia
     ! vegetation fractions (on ground) after last light competition
     REAL(r_std),DIMENSION(npts,nvm),INTENT(out) :: veget_lastlight
@@ -941,9 +939,4 @@
     IF (ALL(co2_to_bm_dgvm(:,:) == val_exp)) co2_to_bm_dgvm(:,:) = zero
 
-    co2_to_bm_radia(:,:) = val_exp
-    var_name = 'co2_to_bm_radia'
-    CALL restget_p (rest_id_stomate, var_name, nbp_glo, nvm     , 1, itime, &
-         &                .TRUE., co2_to_bm_radia, 'gather', nbp_glo, index_g)
-    IF (ALL(co2_to_bm_radia(:,:) == val_exp)) co2_to_bm_radia(:,:) = zero
     !-
     ! 14 vegetation distribution after last light competition
@@ -1347,5 +1340,5 @@
        &  turnover_longterm, gpp_week, biomass, resp_maint_part, &
        &  leaf_age, leaf_frac, senescence, when_growthinit, age, &
-       &  resp_hetero, resp_maint, resp_growth, co2_fire, co2_to_bm_dgvm, co2_to_bm_radia, &
+       &  resp_hetero, resp_maint, resp_growth, co2_fire, co2_to_bm_dgvm, &
        &  veget_lastlight, everywhere, need_adjacent, RIP_time, &
        &  time_hum_min, hum_min_dormance, &
@@ -1513,6 +1506,4 @@
     ! biomass uptaken (gC/(m**2 of total ground)/day)
     REAL(r_std),DIMENSION(npts,nvm),INTENT(in) :: co2_to_bm_dgvm
-    ! biomass uptaken (gC/(m**2 of total ground)/dt_sechiba)
-    REAL(r_std),DIMENSION(npts,nvm),INTENT(in) :: co2_to_bm_radia
     ! vegetation fractions (on ground) after last light competition
     REAL(r_std),DIMENSION(npts,nvm),INTENT(in) :: veget_lastlight
@@ -2024,8 +2015,4 @@
     CALL restput_p (rest_id_stomate, var_name, nbp_glo, nvm, 1, itime, &
          &                co2_to_bm_dgvm, 'scatter', nbp_glo, index_g)
-    !-
-    var_name = 'co2_to_bm_radia'
-    CALL restput_p (rest_id_stomate, var_name, nbp_glo, nvm, 1, itime, &
-         &                co2_to_bm_radia, 'scatter', nbp_glo, index_g)
     !-
     ! 14 vegetation distribution after last light competition
Index: branches/ORCHIDEE_2_2/ORCHIDEE/src_stomate/stomate_lcchange.f90
===================================================================
--- branches/ORCHIDEE_2_2/ORCHIDEE/src_stomate/stomate_lcchange.f90	(revision 7325)
+++ branches/ORCHIDEE_2_2/ORCHIDEE/src_stomate/stomate_lcchange.f90	(revision 7326)
@@ -200,5 +200,5 @@
        
        !! 3.2 if vegetation coverage decreases, compute dilution of litter, soil carbon, and biomass.\n
-       DO j=2, nvm
+       DO j=1, nvm
           IF ( delta_veg(j) < -min_stomate ) THEN 
              dilu_lit(i,:,:,:) = dilu_lit(i,:,:,:) + delta_veg(j)*litter(i,:,j,:,:) / delta_veg_sum
@@ -209,5 +209,5 @@
        
        !! 3.3 
-       DO j=2, nvm ! Loop over # PFTs
+       DO j=1, nvm ! Loop over # PFTs
 
           !! 3.3.1 The case that vegetation coverage of PFTj increases
Index: branches/ORCHIDEE_2_2/ORCHIDEE/src_stomate/stomate_lpj.f90
===================================================================
--- branches/ORCHIDEE_2_2/ORCHIDEE/src_stomate/stomate_lpj.f90	(revision 7325)
+++ branches/ORCHIDEE_2_2/ORCHIDEE/src_stomate/stomate_lpj.f90	(revision 7326)
@@ -875,5 +875,5 @@
     sum_cVegTree = zero
 
-    DO j=2,nvm
+    DO j=1,nvm
 
        tot_litter_carb(:,j) = tot_litter_carb(:,j) + (litter(:,istructural,j,iabove,icarbon) + &
@@ -958,6 +958,6 @@
     CALL xios_orchidee_send_field("LAI",lai)
     CALL xios_orchidee_send_field("VEGET_COV_MAX",veget_cov_max)
-    CALL xios_orchidee_send_field("NPP_STOMATE",npp_daily)
-    CALL xios_orchidee_send_field("GPP",gpp_daily)
+    CALL xios_orchidee_send_field("NPP_STOMATE",npp_daily+co2_to_bm)
+    CALL xios_orchidee_send_field("GPP",gpp_daily+co2_to_bm)
     CALL xios_orchidee_send_field("IND",ind)
     CALL xios_orchidee_send_field("CN_IND",cn_ind)
@@ -1053,5 +1053,5 @@
     
     ! Carbon fluxes transformed from gC/m2/d into kgC/m2/s
-    CALL xios_orchidee_send_field("gpp_ipcc",SUM(gpp_daily*veget_cov_max,dim=2)/1e3/one_day)
+    CALL xios_orchidee_send_field("gpp_ipcc",SUM((gpp_daily+co2_to_bm)*veget_cov_max,dim=2)/1e3/one_day)
     CALL xios_orchidee_send_field("ra",SUM((resp_maint+resp_growth)*veget_cov_max,dim=2)/1e3/one_day)
     vartmp(:)=zero
@@ -1079,9 +1079,10 @@
     CALL xios_orchidee_send_field("raTree",vartmp/1e3/one_day)
 
-    CALL xios_orchidee_send_field("npp_ipcc",SUM(npp_daily*veget_cov_max,dim=2)/1e3/one_day)
+    CALL xios_orchidee_send_field("npp_ipcc",SUM((npp_daily+co2_to_bm)*veget_cov_max,dim=2)/1e3/one_day)
+
     vartmp(:)=zero
     DO j = 2, nvm
        IF ( .NOT. is_tree(j) .AND. natural(j) ) THEN
-          vartmp(:) = vartmp(:) + npp_daily(:,j)*veget_cov_max(:,j)
+          vartmp(:) = vartmp(:) +( npp_daily(:,j)+co2_to_bm(:,j))*veget_cov_max(:,j)
        ENDIF
     ENDDO
@@ -1090,5 +1091,5 @@
     DO j = 2, nvm
        IF ( (.NOT. is_tree(j)) .AND. (.NOT. natural(j)) ) THEN
-          vartmp(:) = vartmp(:) + npp_daily(:,j)*veget_cov_max(:,j)
+          vartmp(:) = vartmp(:) + (npp_daily(:,j)+co2_to_bm(:,j))*veget_cov_max(:,j)
        ENDIF
     ENDDO
@@ -1098,5 +1099,5 @@
     DO j = 2, nvm
        IF ( is_tree(j) ) THEN
-          vartmp(:) = vartmp(:) + npp_daily(:,j)*veget_cov_max(:,j)
+          vartmp(:) = vartmp(:) + (npp_daily(:,j)+co2_to_bm(:,j))*veget_cov_max(:,j)
        ENDIF
     ENDDO
@@ -1196,6 +1197,5 @@
     CALL xios_orchidee_send_field("flulccatmlut",flulccatmlut)
 
-   ! co2_to_bm is not added as it is already included in gpp
-    CALL xios_orchidee_send_field("nbp",(SUM((gpp_daily-(resp_maint+resp_growth+resp_hetero)-co2_fire) * &
+    CALL xios_orchidee_send_field("nbp",(SUM((gpp_daily+co2_to_bm-(resp_maint+resp_growth+resp_hetero)-co2_fire) * &
           veget_cov_max,dim=2)-cflux_prod_total-cflux_prod_harvest_total-harvest_above)/1e3/one_day)
     CALL xios_orchidee_send_field("fVegLitter",SUM((tot_bm_to_litter(:,:,icarbon) + tot_turnover(:,:,icarbon))*&
@@ -1267,5 +1267,5 @@
                resp_hetero(:,j)*veget_cov_max(:,j)/1e3/one_day
           npplut(:,id_psl) = npplut(:,id_psl) + &
-               npp_daily(:,j)*veget_cov_max(:,j)/1e3/one_day
+               (npp_daily(:,j)+co2_to_bm(:,j))*veget_cov_max(:,j)/1e3/one_day
        ELSE
           clitterlut(:,id_crp) = clitterlut(:,id_crp) + tot_litter_carb(:,j)*veget_cov_max(:,j)/1e3
@@ -1278,5 +1278,5 @@
                resp_hetero(:,j)*veget_cov_max(:,j)/1e3/one_day
           npplut(:,id_crp) = npplut(:,id_crp) + &
-               npp_daily(:,j)*veget_cov_max(:,j)/1e3/one_day
+               (npp_daily(:,j)+co2_to_bm(:,j))*veget_cov_max(:,j)/1e3/one_day
        END IF
     END DO
@@ -1422,7 +1422,7 @@
          veget_cov_max, npts*nvm, horipft_index)
     CALL histwrite_p (hist_id_stomate, 'NPP', itime, &
-         npp_daily, npts*nvm, horipft_index)
+         npp_daily+co2_to_bm, npts*nvm, horipft_index)
     CALL histwrite_p (hist_id_stomate, 'GPP', itime, &
-         gpp_daily, npts*nvm, horipft_index)
+         gpp_daily+co2_to_bm, npts*nvm, horipft_index)
     CALL histwrite_p (hist_id_stomate, 'IND', itime, &
          ind, npts*nvm, horipft_index)
@@ -1528,5 +1528,5 @@
        CALL histwrite_p (hist_id_stomate_IPCC, "lai", itime, &
             vartmp, npts, hori_index)
-       vartmp(:)=SUM(gpp_daily*veget_cov_max,dim=2)/1e3/one_day
+       vartmp(:)=SUM((gpp_daily+co2_to_bm)*veget_cov_max,dim=2)/1e3/one_day
        CALL histwrite_p (hist_id_stomate_IPCC, "gpp", itime, &
             vartmp, npts, hori_index)
@@ -1534,5 +1534,5 @@
        CALL histwrite_p (hist_id_stomate_IPCC, "ra", itime, &
             vartmp, npts, hori_index)
-       vartmp(:)=SUM(npp_daily*veget_cov_max,dim=2)/1e3/one_day
+       vartmp(:)=SUM((npp_daily+co2_to_bm)*veget_cov_max,dim=2)/1e3/one_day
        CALL histwrite_p (hist_id_stomate_IPCC, "npp", itime, &
             vartmp, npts, hori_index)
@@ -1553,5 +1553,5 @@
             vartmp, npts, hori_index)
        ! co2_to_bm is not added as it is already included in gpp
-       vartmp(:)=(SUM((gpp_daily-(resp_maint+resp_growth+resp_hetero)-co2_fire) &
+       vartmp(:)=(SUM((gpp_daily+co2_to_bm-(resp_maint+resp_growth+resp_hetero)-co2_fire) &
             &        *veget_cov_max,dim=2)-cflux_prod_total-cflux_prod_harvest_total-harvest_above)/1e3/one_day
        CALL histwrite_p (hist_id_stomate_IPCC, "nbp", itime, &
