Index: tags/ORCHIDEE_1_9_5_1/ORCHIDEE/src_stomate/stomate.f90
===================================================================
--- tags/ORCHIDEE_1_9_5_1/ORCHIDEE/src_stomate/stomate.f90	(revision 118)
+++ tags/ORCHIDEE_1_9_5_1/ORCHIDEE/src_stomate/stomate.f90	(revision 119)
@@ -229,4 +229,6 @@
   INTEGER(i_std),ALLOCATABLE,SAVE,DIMENSION(:)  :: nforce
 
+  REAL(r_std),ALLOCATABLE,SAVE,DIMENSION(:)  :: harvest_above_monthly, cflux_prod_monthly
+
   ! Date and EndOfYear, intialize and update in slowproc
   ! (Now managed in slowproc for land_use)
@@ -559,4 +561,7 @@
 
     REAL(r_std), DIMENSION(kjpindex)                                   :: vartmp
+    REAL(r_std)      :: net_cflux_prod_monthly_sum   , net_cflux_prod_monthly_tot
+    REAL(r_std)      :: net_harvest_above_monthly_sum, net_harvest_above_monthly_tot
+    REAL(r_std)      :: net_biosp_prod_monthly_sum   , net_biosp_prod_monthly_tot
     !---------------------------------------------------------------------
     ! first of all: store time step in common value
@@ -1547,4 +1552,7 @@
        !
        co2_flux_monthly(:,:) = co2_flux_monthly(:,:) + co2_flux_daily(:,:)
+!      Monthly Cumulative fluxes of fluc and harvest
+       harvest_above_monthly(:) = harvest_above_monthly(:) + harvest_above(:)
+       cflux_prod_monthly(:) = cflux_prod_monthly(:) + convflux(:) + cflux_prod10(:) + cflux_prod100(:)
        IF ( EndOfMonth ) THEN
           IF ( control%ok_stomate ) THEN
@@ -1564,14 +1572,32 @@
              DO j=2,nvm
                 net_co2_flux_monthly = net_co2_flux_monthly + &
-                     &  co2_flux_monthly(ji,j)*veget_max(ji,j)
+                     &  co2_flux_monthly(ji,j)*veget_cov_max(ji,j)
              ENDDO
           ENDDO
+!         Total ( land) Cumulative fluxes of fluc and harvest
+          net_cflux_prod_monthly_sum=&
+              &  SUM(cflux_prod_monthly(:)*resolution(:,1)*resolution(:,2)*contfrac(:))*1e-15
+          CALL reduce_sum(net_cflux_prod_monthly_sum,net_cflux_prod_monthly_tot)
+          CALL bcast(net_cflux_prod_monthly_tot)
+
+          net_harvest_above_monthly_sum=&
+             &   SUM(harvest_above_monthly(:)*resolution(:,1)*resolution(:,2)*contfrac(:))*1e-15
+          CALL reduce_sum(net_harvest_above_monthly_sum,net_harvest_above_monthly_tot)
+          CALL bcast(net_harvest_above_monthly_tot)
+
           net_co2_flux_monthly = net_co2_flux_monthly*1e-15
-          WRITE(numout,*) 'net_co2_flux_monthly (Peta gC/month)  = ',net_co2_flux_monthly
-
           CALL reduce_sum(net_co2_flux_monthly,net_co2_flux_monthly_sum)
           CALL bcast(net_co2_flux_monthly_sum)
-          WRITE(numout,*) 'GLOBAL net_co2_flux_monthly (Peta gC/month)  = ',net_co2_flux_monthly_sum
-
+
+          WRITE(numout,9010) 'GLOBAL net_cflux_prod_monthly    (Peta gC/month)  = ',net_cflux_prod_monthly_tot
+          WRITE(numout,9010) 'GLOBAL net_harvest_above_monthly (Peta gC/month)  = ',net_harvest_above_monthly_tot
+          WRITE(numout,9010) 'GLOBAL net_co2_flux_monthly      (Peta gC/month)  = ',net_co2_flux_monthly_sum
+
+!         Calculation of net biospheric production
+          net_biosp_prod_monthly_tot =  &
+             &    ( net_co2_flux_monthly_sum + net_cflux_prod_monthly_tot + net_harvest_above_monthly_tot )
+          WRITE(numout,9010) 'GLOBAL net_biosp_prod_monthly    (Peta gC/month)  = ',net_biosp_prod_monthly_tot
+
+9010  FORMAT(A52,F17.14)
 !!$          IF ( control%ok_stomate ) THEN
 !!$             vartmp(:)=net_co2_flux_monthly_sum
@@ -1596,4 +1622,6 @@
 !!$          ENDIF
           co2_flux_monthly(:,:) = zero
+          harvest_above_monthly(:) = zero
+          cflux_prod_monthly(:)    = zero
        ENDIF
        !
@@ -1913,4 +1941,8 @@
     ALLOCATE(co2_flux_monthly(kjpindex,nvm),stat=ier)
     l_error = l_error .OR. (ier /= 0)
+    ALLOCATE (cflux_prod_monthly(kjpindex), stat=ier)
+    l_error = l_error .OR. (ier.NE.0)
+    ALLOCATE (harvest_above_monthly(kjpindex), stat=ier)
+    l_error = l_error .OR. (ier.NE.0)
     ALLOCATE(bm_to_litter(kjpindex,nvm,nparts),stat=ier)
     l_error = l_error .OR. (ier /= 0)
@@ -2052,4 +2084,6 @@
     co2_flux_daily(:,:) = zero
     co2_flux_monthly(:,:) = zero
+    cflux_prod_monthly(:) = zero
+    harvest_above_monthly(:) = zero
     control_moist_daily(:,:) = zero
     control_temp_daily(:,:) = zero
@@ -2149,4 +2183,6 @@
     IF (ALLOCATED(co2_flux_daily)) DEALLOCATE(co2_flux_daily)
     IF (ALLOCATED(co2_flux_monthly)) DEALLOCATE(co2_flux_monthly)
+    IF (ALLOCATED(harvest_above_monthly)) DEALLOCATE (harvest_above_monthly)
+    IF (ALLOCATED(cflux_prod_monthly)) DEALLOCATE (cflux_prod_monthly)
     IF (ALLOCATED(bm_to_litter)) DEALLOCATE(bm_to_litter)
     IF (ALLOCATED(bm_to_littercalc)) DEALLOCATE(bm_to_littercalc)
Index: tags/ORCHIDEE_1_9_5_1/ORCHIDEE/src_stomate/stomate_lpj.f90
===================================================================
--- tags/ORCHIDEE_1_9_5_1/ORCHIDEE/src_stomate/stomate_lpj.f90	(revision 118)
+++ tags/ORCHIDEE_1_9_5_1/ORCHIDEE/src_stomate/stomate_lpj.f90	(revision 119)
@@ -334,6 +334,4 @@
     ! total flux from conflux and the 10/100 year-turnover pool 
     REAL(r_std),DIMENSION(npts)                                       :: cflux_prod_total
-    ! total land cover fluxes
-    REAL(r_std)                                                       :: cflux_prod_total_sum,cflux_prod_sum
 
     ! "maximal" coverage fraction of a PFT (LAI -> infinity) on ground
@@ -654,12 +652,4 @@
     prod100_total(:)=SUM(prod100,dim=2)
     !
-    IF ( EndOfMonth ) THEN
-       cflux_prod_total_sum=SUM(cflux_prod_total(:)*resolution(:,1)*resolution(:,2)*contfrac(:))*1e-15
-       CALL reduce_sum(cflux_prod_total_sum,cflux_prod_sum)
-       CALL bcast(cflux_prod_sum)
-       WRITE(numout,*) 'net cflux_prod_total_sum (Peta gC/month)  = ',cflux_prod_total_sum
-       WRITE(numout,*) 'GLOBAL net cflux_prod_total_sum (Peta gC/month) (Peta gC/month)  = ',cflux_prod_sum
-    ENDIF
-
     ! 16 total heterotrophic respiration
 
