Index: CONFIG/IPSLCM/IPSLCM5A/Chistorical/COMP/lmdz.driver
===================================================================
--- CONFIG/IPSLCM/IPSLCM5A/Chistorical/COMP/lmdz.driver	(revision 1237)
+++ CONFIG/IPSLCM/IPSLCM5A/Chistorical/COMP/lmdz.driver	(revision 1316)
@@ -92,7 +92,7 @@
     IGCM_debug_PushStack "ATM_Update"
 
+    typeset InitPeriodCo2 InitDateBeginCo2 InitDateEndCo2
     typeset CO2SBG CO2MBG CO2LU CO2_ppm CO2_ppm_prec fCO2_ff
-    typeset PreviousLinelog LastPeriodDateBegin LastPeriodDateEnd LastDatesPeriod LastPREFIX
-    typeset PathCO2log Date_r OUT_OCE OUT_SRF
+    typeset PathCO2log 
 
     case ${config_UserChoices_PeriodLength} in
@@ -162,25 +162,32 @@
 
     if ( ${FirstInitialize} && [ X"${config_ATM_Restart}" = X"n" ]) ; then
+        ##--Initialization of fluxes to an undefined value at the first run
+        UndefinedValueCo2=-9999
+        InitPeriodCo2=0
+        InitDateBeginCo2=${UndefinedValueCo2}
+        InitYearCo2=$(( ${year} - 1 )) 
+        InitDateEndCo2=${InitYearCo2}1231
+        fCO2_ff=${UndefinedValueCo2} 
+        CO2SBG=${UndefinedValueCo2}
+        CO2LU=${UndefinedValueCo2}
+        CO2MBG=${UndefinedValueCo2}
+        CO2_ppm_prec=${UndefinedValueCo2}
+        # Get the initial value of atmosp. pco2 
+        CO2_ppm=${lmdz_UserChoices_co2_init}
+
+        IGCM_sys_Cp ${SUBMIT_DIR}/co2.log.init ${SUBMIT_DIR}/co2.log
+        IGCM_sys_Chmod u+w ${SUBMIT_DIR}/co2.log
+
+        # Save CO2 values in ExeCpuLog variable contents 5 fields
+        echo "${InitPeriodCo2} ${InitDateBeginCo2} ${InitDateEndCo2} ${CO2_ppm} ${CO2_ppm_prec} ${fCO2_ff} ${CO2MBG} ${CO2SBG} ${CO2LU}" |   \
+             gawk '{printf("  %11d | %15s | %15s | %22.15g | %20.15g | %11.8g | %11.8g | %12.8g | %12.8g \n", \
+                              $1,$2,$3,$4,$5,$6,$7,$8,$9)}' >> ${SUBMIT_DIR}/co2.log
+    
+        # Get the path where the log file co2.log is
+        PathCO2log=${SUBMIT_DIR} 
+        # Get Previous line in co2.log
+        PreviousLinelog=$( tail -1 ${PathCO2log}/co2.log )
 	
-	fCO2_ff=0
-	CO2SRF=0
-	CO2LU=0
-	CO2MBG=0
-	CO2_ppm=${lmdz_UserChoices_co2_init}
-	CO2_ppm_prec=${lmdz_UserChoices_co2_init}
-	
-	IGCM_sys_Cp ${SUBMIT_DIR}/co2.log.init ${SUBMIT_DIR}/co2.log
-	IGCM_sys_Chmod u+w ${SUBMIT_DIR}/co2.log
-
-	echo "${CumulPeriod} ${PeriodDateBegin} ${PeriodDateEnd} ${CO2_ppm} ${CO2_ppm_prec} ${fCO2_ff} ${CO2MBG} ${CO2SRF} ${CO2LU}" |   \
-	     gawk '{printf("  %11d | %15s | %15s | %22.15g | %20.15g | %11.8g | %11.8g | %12.8g | %12.8g \n", \
-                              $1,$2,$3,$4,$5,$6,$7,$8,$9)}' >> ${SUBMIT_DIR}/co2.log
     else
-#       get the fossile fuel file :
-	fCO2_ff=$( gawk "{if (match(\$0,\"${year}\ *${month}\")) {print \$5}}" ${SUBMIT_DIR}/PARAM/CMIP5_gridcar_CO2_emissions_fossil_fuel_Andres_1751-2007_monthly_SC_grid1x1.txt )
-	fCO2_ff=$( echo "${fCO2_ff} / 1000." | bc -l  )
-	echo "Fossil Fuel for historical run  :" ${fCO2_ff}
-
-	# Get restart line in co2.log
 
 	# NEW parameter in config.card (even for Overule all restarts, you must modify the line after this comment ):
@@ -188,78 +195,33 @@
 	#SubmitRestartPath=
 	if ( ${FirstInitialize} && [ X"${config_ATM_Restart}" = X"y" ]) ; then
-	    IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/config.card ATM SubmitRestartPath
-	    PathCO2log=${config_ATM_SubmitRestartPath}
-	    Date_r=$( IGCM_date_ConvertFormatToGregorian ${config_ATM_RestartDate} )
-	    PreviousLinelog=$( grep ${Date_r} ${PathCO2log}/co2.log )
-	    OUT_OCE=${config_OCE_RestartPath}/${config_OCE_RestartJobName}/OCE
-	    OUT_SRF=${config_SRF_RestartPath}/${config_SRF_RestartJobName}/SRF
-
-	    IGCM_sys_Cp ${SUBMIT_DIR}/co2.log.init ${SUBMIT_DIR}/co2.log
-	    IGCM_sys_Chmod u+w ${SUBMIT_DIR}/co2.log
-
-	    # Save Last Line of control in new co2.log file
-	    echo ${PreviousLinelog} >> ${SUBMIT_DIR}/co2.log
+            IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/config.card ATM SubmitRestartPath
+            PathCO2log=${config_ATM_SubmitRestartPath}
+            Date_r=$( IGCM_date_ConvertFormatToGregorian ${config_ATM_RestartDate} )
+            PreviousLinelog=$( grep ${Date_r} ${PathCO2log}/co2.log )
+    
+            IGCM_sys_Cp ${SUBMIT_DIR}/co2.log.init ${SUBMIT_DIR}/co2.log
+            IGCM_sys_Chmod u+w ${SUBMIT_DIR}/co2.log
+    
+            # Save Last Line of control in new co2.log file
+            InitPeriodCo2=0   
+            InitDateBeginCo2=$( echo "${PreviousLinelog[*]}" | gawk -F '|' '{gsub(" ",""); print $2}' )
+            InitDateEndCo2=$( echo "${PreviousLinelog[*]}" | gawk -F '|' '{gsub(" ",""); print $3}' )
+            fCO2_ff=$( echo "${PreviousLinelog[*]}" | gawk -F '|' '{gsub(" ",""); print $6}' )
+            CO2SBG=$( echo "${PreviousLinelog[*]}" | gawk -F '|' '{gsub(" ",""); print $8}' )
+            CO2LU=$( echo "${PreviousLinelog[*]}" | gawk -F '|' '{gsub(" ",""); print $9}' )
+            CO2MBG=$( echo "${PreviousLinelog[*]}" | gawk -F '|' '{gsub(" ",""); print $7}' )
+            CO2_ppm_prec=$( echo "${PreviousLinelog[*]}" | gawk -F '|' '{gsub(" ",""); print $5}' )
+            CO2_ppm=$( echo "${PreviousLinelog[*]}" | gawk -F '|' '{gsub(" ",""); print $4}' )
+
+            echo "${InitPeriodCo2} ${InitDateBeginCo2} ${InitDateEndCo2} ${CO2_ppm} ${CO2_ppm_prec} ${fCO2_ff} ${CO2MBG} ${CO2SBG} ${CO2LU}" |   \
+                  gawk '{printf("  %11d | %15s | %15s | %22.15g | %20.15g | %11.8g | %11.8g | %12.8g | %12.8g \n", \
+                              $1,$2,$3,$4,$5,$6,$7,$8,$9)}' >> ${SUBMIT_DIR}/co2.log
 	else
-	    PathCO2log=${SUBMIT_DIR}
-	    PreviousLinelog=$( tail -1 ${PathCO2log}/co2.log )
-	    OUT_OCE=${R_OUT_OCE}
-	    OUT_SRF=${R_OUT_SRF}
+           # Get restart line in co2.log
+           PathCO2log=${SUBMIT_DIR}
+           PreviousLinelog=$( tail -1 ${PathCO2log}/co2.log )
+           # Get the value of atmosp. pco2 in co2.log
+           CO2_ppm=$( echo "${PreviousLinelog[*]}" | gawk -F '|' '{gsub(" ",""); print $4}' )
 	fi
-
-	# Get Previous period output PREFIX
-	LastPeriodDateBegin=$( echo "${PreviousLinelog[*]}" | gawk -F '|' '{gsub(" ",""); print $2}' )
-	LastPeriodDateEnd=$( echo "${PreviousLinelog[*]}" | gawk -F '|' '{gsub(" ",""); print $3}' )
-	eval LastDatesPeriod=${LastPeriodDateBegin}_${LastPeriodDateEnd} > /dev/null 2>&1
-        # Prefix for save files of this period
-	if ( ${FirstInitialize} && [ X"${config_ATM_Restart}" = X"y" ]) ; then
-	    eval LastPREFIX=${config_ATM_RestartJobName}_${LastDatesPeriod}  > /dev/null 2>&1
-	else
-	    eval LastPREFIX=${config_UserChoices_JobName}_${LastDatesPeriod}  > /dev/null 2>&1
-	fi
-
-	# Ocean	
-	IGCM_sys_TestFileArchive ${OUT_OCE}/Debug/${LastPREFIX}_ocean.output
-	if [ $? = 0 ] ; then
-
-	    if [ $DRYRUN -gt 1 ]; then
-		IGCM_sys_Cp ${OUT_OCE}/Debug/${LastPREFIX}_ocean.output ./
-	    else
-		IGCM_sys_Get ${OUT_OCE}/Debug/${LastPREFIX}_ocean.output ./
-	    fi
-	    IGCM_comp_PrepareDeletedFiles ./${LastPREFIX}_ocean.output
-	    CO2MBG=$( ${SUBMIT_DIR}/COMP/lmdz_analyse_pisces_out.awk ${LastPREFIX}_ocean.output )
-	    CO2MBG=$( echo ${CO2MBG} | sed -e "s/ *//" )
-	else
-	    echo "Error : file ${OUT_OCE}/Debug/${LastPREFIX}_ocean.output not found."
-	    exit 1
-	fi
-
-	# Surface
-	IGCM_sys_TestFileArchive ${OUT_SRF}/Debug/${LastPREFIX}_out_orchidee_0000
-	if [ $? = 0 ] ; then
-	    if [ $DRYRUN -gt 1 ]; then
-		IGCM_sys_Cp ${OUT_SRF}/Debug/${LastPREFIX}_out_orchidee_0000 ./
-	    else
-		IGCM_sys_Get ${OUT_SRF}/Debug/${LastPREFIX}_out_orchidee_0000 ./
-	    fi
-	    IGCM_comp_PrepareDeletedFiles ./${LastPREFIX}_out_orchidee_0000
-            set +A CO2SBG -- $( ${SUBMIT_DIR}/COMP/lmdz_analyse_stomate_out.awk ${LastPREFIX}_out_orchidee_0000 )
-	else
-	    echo "Error : file ${OUT_SRF}/Debug/${LastPREFIX}_ocean.output not found."
-	    exit 1
-	fi
-	CO2SRF=$( echo ${CO2SBG[0]} | sed -e "s/ *//" )
-	CO2LU=$( echo ${CO2SBG[1]} | sed -e "s/ *//" )
-
-	# Previous CO2
-	CO2_ppm_prec=$( echo "${PreviousLinelog[*]}" | gawk -F '|' '{gsub(" ",""); print $4}' )
-
-	# Formula
-	CO2_ppm=$( echo "${CO2_ppm_prec} + (${fCO2_ff} + ${CO2MBG} + ${CO2SRF} + ${CO2LU}) / 2.12" | bc -l )
-
-	# Save CO2 values in ExeCpuLog variable contents 5 fields
-	echo "${CumulPeriod} ${PeriodDateBegin} ${PeriodDateEnd} ${CO2_ppm} ${CO2_ppm_prec} ${fCO2_ff} ${CO2MBG} ${CO2SRF} ${CO2LU}" |   \
-	     gawk '{printf("  %11d | %15s | %15s | %22.15g | %20.15g | %11.8g | %11.8g | %12.8g | %12.8g \n", \
-                              $1,$2,$3,$4,$5,$6,$7,$8,$9)}' >> ${SUBMIT_DIR}/co2.log
 
     fi
@@ -360,4 +322,36 @@
     [ ${CumulPeriod} -le ${LMDZ_NbPeriod_adjust} ] && IGCM_sys_Put_Out Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat ${R_OUT_ATM_D}/${config_UserChoices_JobName}_Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat_${CumulPeriod}
 
+    typeset CO2SBG_3V CO2SBG CO2MBG CO2SRF CO2LU CO2_ppm CO2_ppm_prec fCO2_ff
+
+#   get the fossile fuel file :
+    fCO2_ff=$( gawk "{if (match(\$0,\"${year}\ *${month}\")) {print \$3}}" ${SUBMIT_DIR}/PARAM/CMIP5_gridcar_CO2_emissions_fossil_fuel_Andres_1751-2007_monthly_SC.txt )
+    echo "Fossil Fuel for historical run  :" ${fCO2_ff}
+
+    # Get the value of ocean carbon flux
+    CO2MBG=$( ${SUBMIT_DIR}/COMP/lmdz_analyse_pisces_out.awk ocean.output )
+    CO2MBG=$( echo ${CO2MBG} | sed -e "s/ *//" )
+    echo "Ocean carbon flux  :" ${CO2MBG}
+    
+    # Get the value of land fluxes
+    set +A CO2SBG_3V -- $( ${SUBMIT_DIR}/COMP/lmdz_analyse_stomate_out.awk out_orchidee_0000 )
+    CO2SRF=$( echo ${CO2SBG_3V[0]} | sed -e "s/ *//" )
+    CO2LU=$( echo ${CO2SBG_3V[1]} | sed -e "s/ *//" )
+    CO2SBG=$( echo ${CO2SBG_3V[2]} | sed -e "s/ *//" )
+    echo "Land carbon flux (NEP)         :" ${CO2SRF}
+    echo "LU flux          (FLUC)        :" ${CO2LU}
+    echo "Total Land carbon flux (NBP)   :" ${CO2SBG}
+
+    # Previous CO2
+    CO2_ppm_prec=$( echo "${PreviousLinelog[*]}" | gawk -F '|' '{gsub(" ",""); print $4}' )
+    echo "Previous CO2  :" ${CO2_ppm_prec}
+
+    # Formula
+    CO2_ppm=$( echo "${CO2_ppm_prec} + (${fCO2_ff} + ${CO2MBG} + ${CO2SBG}) / 2.12" | bc -l )
+    echo "New CO2  :" ${CO2_ppm} 
+
+    # Save CO2 values in ExeCpuLog variable contents 5 fields
+    echo "${CumulPeriod} ${PeriodDateBegin} ${PeriodDateEnd} ${CO2_ppm} ${CO2_ppm_prec} ${fCO2_ff} ${CO2MBG} ${CO2SBG} ${CO2LU}" |   \
+         gawk '{printf("  %11d | %15s | %15s | %22.15g | %20.15g | %11.8g | %11.8g | %12.8g | %12.8g \n", \
+                           $1,$2,$3,$4,$5,$6,$7,$8,$9)}' >> ${SUBMIT_DIR}/co2.log
     echo FINALIZE ATM !
 
