Index: /trunk/libIGCM/AA_job
===================================================================
--- /trunk/libIGCM/AA_job	(revision 456)
+++ /trunk/libIGCM/AA_job	(revision 457)
@@ -451,4 +451,5 @@
 	echo                                                                                  >> ${Exe_Output}
 	typeset RET
+	ExecutionFail=false
 	RUN_DATE_BEGIN=$( date '+%Y-%m-%dT%H:%M:%S' )
 	${MPIRUN_COMMAND} ${MPIRUN_OPTIONS} ./${config_Executable_Name} >> ${Exe_Output} 2>&1
@@ -458,5 +459,6 @@
 	    echo "Return code of executable :" ${RET}
 	    IGCM_debug_Exit "EXECUTABLE"
-	    IGCM_sys_Cp ${Exe_Output} ${SUBMIT_DIR}/${PREFIX}_${Exe_Output}_error
+	    IGCM_sys_Mkdir ${SUBMIT_DIR}/Debug
+	    IGCM_sys_Cp ${Exe_Output} ${SUBMIT_DIR}/Debug/${PREFIX}_${Exe_Output}_error
 	    ExecutionFail=true
 	fi
@@ -468,4 +470,5 @@
     else
 	echo "EXECUTION of : ${MPIRUN_COMMAND} ${MPIRUN_OPTIONS} ./${config_Executable_Name} simulated for DRYRUN = " $DRYRUN
+	ExecutionFail=false
 	if ( $DEBUG_debug ) ; then
 	    echo "FOR EXECUTION DRYRUN mode = " $DRYRUN >> stack
Index: /trunk/libIGCM/libIGCM_comp/libIGCM_comp.ksh
===================================================================
--- /trunk/libIGCM/libIGCM_comp/libIGCM_comp.ksh	(revision 456)
+++ /trunk/libIGCM/libIGCM_comp/libIGCM_comp.ksh	(revision 457)
@@ -19,8 +19,8 @@
     # Debug Print :
     echo
-    IGCM_debug_Print 1 "IGCM_comp_Initialize :"
-    echo
-
-    typeset comp compname comptagname CompatibilityTag auxprint card_UserChoices first_option i j
+    IGCM_debug_Print 1 "IGCM_comp_Initialize"
+    echo
+
+    typeset comp compname comptagname CompatibilityTag auxprint card_UserChoices first_option option i j
     for comp in ${config_ListOfComponents[*]} ; do
         # Debug Print
@@ -34,6 +34,6 @@
 	card=${SUBMIT_DIR}/COMP/${compname}.card
 	IGCM_card_DefineVariableFromOption ${card} Compatibility libIGCM
+
 	eval CompatibilityTag=\${${compname}_Compatibility_libIGCM} > /dev/null 2>&1	
-
 	if [ ! "${CompatibilityTag}" = "${libIGCM_CurrentTag}" ] ; then
 	    IGCM_debug_Exit "${compname}.card is not compatible with libIGCM version ${libIGCM_CurrentTag} see libIGCM FAQ http://wiki.ipsl.jussieu.fr/wiki_ipsl/IGCMG/libIGCM/DocUtilisateur/FAQ ."
@@ -51,6 +51,6 @@
 
 	# Debug Print :
-	IGCM_debug_Print 1 "Initialize following component library :"
-	IGCM_debug_Print 1 ${SUBMIT_DIR}/COMP/${compname}.driver
+	IGCM_debug_Print 2 "Initialize following component library"
+	IGCM_debug_Print 2 ${SUBMIT_DIR}/COMP/${compname}.driver
 	IGCM_debug_Print 3 "With tag : ${comptagname}"
 	# Source component library
@@ -79,14 +79,14 @@
 
 	# Read UserChoices section of component card
-	IGCM_debug_Print 1 "DefineArrayFromSection : ${compname}_UserChoices ${card}"
+	IGCM_debug_Print 2 "DefineArrayFromSection : ${compname}_UserChoices ${card}"
 	IGCM_card_DefineArrayFromSection ${card} UserChoices
 	eval first_option=\${${compname}_UserChoices[0]} > /dev/null 2>&1
+	# If section is not empty we define corresponding variables
 	if [ X${first_option} != X"Error:" ] ; then
-	    eval IGCM_debug_Print 2 "${compname}_UserChoices_Options:" \${${compname}_UserChoices[*]}
+	    eval IGCM_debug_Print 3 "${compname}_UserChoices_Options:" \${${compname}_UserChoices[*]}
 	    if [ X${card_UserChoices[0]} != X ] ; then
 		unset card_UserChoices
 	    fi
 	    eval set +A card_UserChoices -- \${${compname}_UserChoices[*]} > /dev/null 2>&1
-	    typeset option
 	    for option in ${card_UserChoices[*]} ; do
 		IGCM_card_DefineVariableFromOption ${card} UserChoices ${option}
@@ -96,5 +96,5 @@
 
 	# Read and Build Output File stuff
-	IGCM_debug_Print 1 "DefineArrayFromOption  : ${compname}_OutputFiles ${card}"
+	IGCM_debug_Print 2 "DefineArrayFromOption  : ${compname}_OutputFiles ${card}"
 	IGCM_card_DefineArrayFromOption ${card} OutputFiles List
 	ListFilesName=${compname}_OutputFiles_List
@@ -196,8 +196,4 @@
 	echo
     done
-    echo "-----"
-    echo
-    IGCM_debug_Print 1 "DefineArrayFromOption  : ListOfComponents"
-    IGCM_debug_PrintVariables 3 config_ListOfComponents
 
     IGCM_debug_PopStack "IGCM_comp_Initialize"
@@ -225,5 +221,5 @@
     # Debug Print :
     echo
-    IGCM_debug_Print 1 "IGCM_comp_GetInputInitialStateFiles :"
+    IGCM_debug_Print 1 "IGCM_comp_GetInputInitialStateFiles"
     echo
 
@@ -349,5 +345,5 @@
     # Debug Print :
     echo
-    IGCM_debug_Print 1 "IGCM_comp_GetInputSmoothFiles :"
+    IGCM_debug_Print 1 "IGCM_comp_GetInputSmoothFiles"
     echo
 
@@ -356,5 +352,4 @@
 
     for comp in ${config_ListOfComponents[*]} ; do
-	echo "-----"
 	# Define component
 	eval compname=\${config_ListOfComponents_${comp}[0]} > /dev/null 2>&1
@@ -414,5 +409,5 @@
     # Debug Print :
     echo
-    IGCM_debug_Print 1 "IGCM_comp_GetInputBoundaryFiles :"
+    IGCM_debug_Print 1 "IGCM_comp_GetInputBoundaryFiles"
     echo
 
@@ -426,5 +421,4 @@
     for comp in ${config_ListOfComponents[*]} ; do
 
-	echo "-----"
 	# Define component
 	eval compname=\${config_ListOfComponents_${comp}[0]} > /dev/null 2>&1
@@ -500,5 +494,5 @@
     # Debug Print :
     echo
-    IGCM_debug_Print 1 "IGCM_comp_DelFixeBoundaryFiles :"
+    IGCM_debug_Print 1 "IGCM_comp_DelFixeBoundaryFiles"
     echo
 
@@ -516,5 +510,5 @@
     # Debug Print :
     echo
-    IGCM_debug_Print 1 "IGCM_comp_GetInputParametersFiles :"
+    IGCM_debug_Print 1 "IGCM_comp_GetInputParametersFiles"
     echo
 
@@ -563,5 +557,5 @@
     # Debug Print :
     echo
-    IGCM_debug_Print 1 "IGCM_comp_GetInputRestartFiles :"
+    IGCM_debug_Print 1 "IGCM_comp_GetInputRestartFiles"
     echo
 
@@ -731,5 +725,5 @@
     # Debug Print :
     echo
-    IGCM_debug_Print 1 "IGCM_comp_PeriodStart :"
+    IGCM_debug_Print 1 "IGCM_comp_PeriodStart"
     echo
 
@@ -762,5 +756,5 @@
     # Debug Print :
     echo
-    IGCM_debug_Print 1 "IGCM_comp_Update :"
+    IGCM_debug_Print 1 "IGCM_comp_Update"
     echo
 
@@ -794,5 +788,5 @@
 
 	# Debug Print
-	IGCM_debug_Print 3 "Update ${compname} Parameter Files."
+	IGCM_debug_Print 1 "Update ${compname} Parameter Files."
 	# UPDATE component
         ${comp}_Update
@@ -810,5 +804,5 @@
     # Debug Print :
     echo
-    IGCM_debug_Print 1 "IGCM_comp_Finalize :"
+    IGCM_debug_Print 1 "IGCM_comp_Finalize"
     echo
 
@@ -1055,5 +1049,6 @@
 
 		unset list_file
-		set +A list_file -- $( ls ${file_in}* | sort 2>/dev/null )
+		#set +A list_file -- $( ls ${file_in}* | sort 2>/dev/null )
+		set +A list_file -- $( for i in $(ls ${file_in}* 2>/dev/null | sed "s/${file_in}//" | sort -n) ; do ls ${file_in}$i ; done )
 		nlist_file=${#list_file[@]}
 		if [ ${nlist_file} -gt 1 ] ; then
@@ -1082,6 +1077,6 @@
 			eval FileToBeDeleted[${#FileToBeDeleted[@]}]="${file_out}" > /dev/null 2>&1
 
-			if ( $ExecutionFail && [ X$( echo ${file_out} | grep "_out" ) != X ] ) ; then
-			    IGCM_sys_Cp ${file_out} ${SUBMIT_DIR}
+			if ( ${ExecutionFail} ) ; then
+			    IGCM_sys_Cp ${file_out} ${SUBMIT_DIR}/Debug
 			fi
 		    else
@@ -1091,6 +1086,6 @@
 			    eval FileToBeDeleted[${#FileToBeDeleted[@]}]="${file}" > /dev/null 2>&1
 			done
-			if ( $ExecutionFail && [ X$( echo ${file} | grep "_out" ) != X ] ) ; then
-			    IGCM_sys_Cp ${file} ${SUBMIT_DIR}/${PREFIX}_${file}
+			if ( ${ExecutionFail} ) ; then
+			    IGCM_sys_Cp ${file} ${SUBMIT_DIR}/Debug/${PREFIX}_${file}
 			fi
 		    fi
@@ -1102,6 +1097,6 @@
 		    [ $? -eq 0 ] && eval FileToBeDeleted[${#FileToBeDeleted[@]}]="${file_in}" > /dev/null 2>&1
 
-		    if ( $ExecutionFail && [ X$( echo ${file_in} | grep "_out" ) != X ] ) ; then
-			IGCM_sys_Cp ${file_in} ${SUBMIT_DIR}/${PREFIX}_${file_in}
+		    if ( ${ExecutionFail} ) ; then
+			IGCM_sys_Cp ${file_in} ${SUBMIT_DIR}/Debug/${PREFIX}_${file_in}
 		    fi
 		fi
Index: /trunk/libIGCM/libIGCM_config/libIGCM_config.ksh
===================================================================
--- /trunk/libIGCM/libIGCM_config/libIGCM_config.ksh	(revision 456)
+++ /trunk/libIGCM/libIGCM_config/libIGCM_config.ksh	(revision 457)
@@ -19,6 +19,5 @@
     # Debug Print :
     echo
-    IGCM_debug_Print 1 "IGCM_config_Initialize :"
-    echo
+    IGCM_debug_Print 1 "IGCM_config_Initialize"
 
     if [ ! -r ${SUBMIT_DIR}/run.card ]; then 
@@ -65,5 +64,5 @@
         IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/config.card UserChoices ${option}
     done
-
+    echo
     IGCM_debug_Print 1 "DefineArrayFromOption  : config_UserChoices"
     # Name Space of this experience 
@@ -93,5 +92,4 @@
     IGCM_debug_Print 1 "DefineArrayFromSection : ListOfComponents"
     IGCM_debug_Print 3 ${config_ListOfComponents[*]}
-    echo
 
     NbComponents=${#config_ListOfComponents[*]}
@@ -105,5 +103,5 @@
     #==================================
     # Define Outputs Name
-    IGCM_debug_Print 1 "Define Script_Output_Prefix and Exe_Output"
+    IGCM_debug_Print 2 "Define Script_Output_Prefix and Exe_Output"
     eval Script_Output_Prefix=${config_UserChoices_Script_Output_Prefix:='Script_Output'}
     IGCM_debug_Print 3 "Script_Output_Prefix = ${Script_Output_Prefix}"
@@ -160,6 +158,5 @@
     # and PeriodNb through config.card
     R_INIT=${config_UserChoices_R_INIT:=${R_IN}/INIT}
-    echo
-    IGCM_debug_Print 1 "(Re)Define R_INIT, R_BC and PeriodNb"
+    IGCM_debug_Print 2 "(Re)Define R_INIT, R_BC and PeriodNb"
     IGCM_debug_Print 3 "R_INIT=${R_INIT}"
     R_BC=${config_UserChoices_R_BC:=${R_IN}/BC}
@@ -188,16 +185,17 @@
 	IGCM_sys_MkdirArchive ${R_SAVE}
     else
+	IGCM_sys_TestDirArchive ${R_SAVE}
+	[ $? != 0 ] && IGCM_debug_Exit "IGCM_sys_TestDirArchive"
 	#Test state of run in run.card
 	IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/run.card Configuration PeriodState
+	
 	if ( [ ${run_Configuration_PeriodState} != "Start" ] && [ ${run_Configuration_PeriodState} != "Running" ] && [ ${run_Configuration_PeriodState} != "OnQueue" ] && [ ${run_Configuration_PeriodState} != "Continue" ] ) ; then
 	    echo 
-	    IGCM_debug_Print 1 "!!!! IGCM_config_Initialize Error PeriodState : " ${run_Configuration_PeriodState} "!!!!!!!!!!"
-	    echo 
-	    IGCM_debug_Exit "IGCM_config_Initialize Error PeriodState : " ${run_Configuration_PeriodState}
+	    IGCM_debug_Print 1 "!! Error in run.card with PeriodState : " ${run_Configuration_PeriodState} "!!"
+	    IGCM_debug_Print 1 "Try running ${libIGCM}/clean_month.job to fix this"
+	    IGCM_debug_Exit
 	    IGCM_debug_Verif_Exit
 	fi
     fi
-    IGCM_sys_TestDirArchive ${R_SAVE}
-    [ $? != 0 ] && IGCM_debug_Exit "IGCM_sys_TestDirArchive"
 
     #==================================
@@ -278,5 +276,5 @@
 	*Y|*y)
 	    PeriodLengthInYears=$( echo ${config_UserChoices_PeriodLength} | sed -e 's/[yY]//' ) 
-	    IGCM_debug_Print 1 "Number of years for PeriodLength : ${PeriodLengthInYears}"
+	    IGCM_debug_Print 2 "Number of years for PeriodLength : ${PeriodLengthInYears}"
 	    PeriodLengthInDays=0
 	    i=0
@@ -288,5 +286,5 @@
 	*M|*m)
 	    PeriodLengthInMonths=$( echo ${config_UserChoices_PeriodLength} | sed -e 's/[mM]//' ) 
-	    IGCM_debug_Print 1 "Number of months for PeriodLength : ${PeriodLengthInMonths}"
+	    IGCM_debug_Print 2 "Number of months for PeriodLength : ${PeriodLengthInMonths}"
 	    PeriodLengthInDays=0
 	    i=0
@@ -321,5 +319,5 @@
 
     echo
-    IGCM_debug_Print 1 "IGCM_config_Check :"
+    IGCM_debug_Print 1 "IGCM_config_Check"
     echo
 
@@ -331,9 +329,9 @@
 	echo
 	# modulo (RebuildFrequency and PeriodLength/TimeSeriesFrequency/SeasonalFrequency) must be zero
-	IGCM_debug_Print 1 "Coherence between RebuildFrequency and PeriodLength:"
+	IGCM_debug_Print 1 "Check coherence between RebuildFrequency and PeriodLength"
 	IGCM_post_CheckModuloFrequency config_Post_RebuildFrequency config_UserChoices_PeriodLength
-	IGCM_debug_Print 1 "Coherence between TimeSeriesFrequency and RebuildFrequency:"
+	IGCM_debug_Print 1 "Check coherence between TimeSeriesFrequency and RebuildFrequency"
 	IGCM_post_CheckModuloFrequency config_Post_TimeSeriesFrequency config_Post_RebuildFrequency
-	IGCM_debug_Print 1 "Coherence between SeasonalFrequency and RebuildFrequency:"
+	IGCM_debug_Print 1 "Check coherence between SeasonalFrequency and RebuildFrequency"
 	IGCM_post_CheckModuloFrequency config_Post_SeasonalFrequency config_Post_RebuildFrequency
     else
@@ -343,7 +341,7 @@
 	echo
 	#modulo (TimeSeriesFrequency/SeasonalFrequency and PeriodLenght) must be zero
-	IGCM_debug_Print 1 "Coherence between TimeSeriesFrequency and PeriodLength:"
+	IGCM_debug_Print 1 "Check coherence between TimeSeriesFrequency and PeriodLength"
 	IGCM_post_CheckModuloFrequency config_Post_TimeSeriesFrequency config_UserChoices_PeriodLength
-	IGCM_debug_Print 1 "Coherence between SeasonalFrequency and PeriodLength:"
+	IGCM_debug_Print 1 "Check coherence between SeasonalFrequency and PeriodLength"
 	IGCM_post_CheckModuloFrequency config_Post_SeasonalFrequency   config_UserChoices_PeriodLength
     fi
@@ -354,9 +352,9 @@
     until [ $i -ge $NbJob ]; do
 	value=${CHUNCK2D_SIZE[${i}]}
-	IGCM_debug_Print 1 "Coherence between All Chunck2D frequency and TimeSeriesFrequency:"
+	IGCM_debug_Print 1 "Check coherence between All Chunck2D frequency and TimeSeriesFrequency"
 	IGCM_post_CheckModuloFrequency value config_Post_TimeSeriesFrequency
 	case ${value} in  
 	    *Y|*y) ;; 
-	    *)  IGCM_debug_Print 3 "All ChunckJob2D frequency must be expressed in year *Y|*y in comp.card"
+	    *)  IGCM_debug_Print 1 "All ChunckJob2D frequency must be expressed in year *Y|*y in comp.card"
 		IGCM_debug_Exit "This will stop the job" ;;
 	esac
@@ -369,9 +367,9 @@
     until [ $i -ge $NbJob ]; do
 	value=${CHUNCK3D_SIZE[${i}]}
-	IGCM_debug_Print 1 "Coherence between All Chunck3D frequency and TimeSeriesFrequency:"
+	IGCM_debug_Print 1 "Check coherence between All Chunck3D frequency and TimeSeriesFrequency"
 	IGCM_post_CheckModuloFrequency value config_Post_TimeSeriesFrequency
 	case ${value} in  
 	    *Y|*y) ;; 
-	    *)  IGCM_debug_Print 3 "All ChunckJob3D frequency must be expressed in year *Y|*y in comp.card"
+	    *)  IGCM_debug_Print 1 "All ChunckJob3D frequency must be expressed in year *Y|*y in comp.card"
 		IGCM_debug_Exit "This will stop the job" ;;
 	esac
@@ -388,5 +386,5 @@
 
     echo
-    IGCM_debug_Print 1 "IGCM_config_PeriodStart :"
+    IGCM_debug_Print 1 "IGCM_config_PeriodStart"
     echo
 
@@ -426,7 +424,8 @@
 	if ( [ ${run_Configuration_PeriodState} != "Running" ] && [ ${run_Configuration_PeriodState} != "OnQueue" ] && [ ${run_Configuration_PeriodState} != "Continue" ] ) ; then
 	    echo 
-	    IGCM_debug_Print 1 "!!!!!! IGCM_config_PeriodStart Error PeriodState : " ${run_Configuration_PeriodState} "!!!!!!!!!!"
-	    echo 
-	    IGCM_debug_Exit "IGCM_config_PeriodStart Error PeriodState : " ${run_Configuration_PeriodState}
+	    IGCM_debug_Print 1 "!! Error in run.card with PeriodState : " ${run_Configuration_PeriodState} "!!"
+	    IGCM_debug_Print 1 "Try running ${libIGCM}/clean_month.job to fix this"
+	    echo
+	    IGCM_debug_Exit
 	    IGCM_debug_Verif_Exit
 	fi
@@ -454,5 +453,5 @@
  	    #eval ls -l ${SUBMIT_DIR}/${Last_Script_Output_Name}
  	    #eval IGCM_sys_Put_Out ${SUBMIT_DIR}/${Last_Script_Output_Name} ${R_OUT_KSH}/${Last_Script_Output_Name} > /dev/null 2>&1
-	    IGCM_debug_Print 1 "Try to save previous ksh job output"
+	    IGCM_debug_Print 2 "Try to save previous ksh job output"
 	    IGCM_sys_Cd ${SUBMIT_DIR}/
 	    IGCM_sys_Put_Out ${Last_Script_Output_Name} ${R_OUT_KSH}/${Last_Script_Output_Name}.$$ rw
@@ -483,11 +482,11 @@
     # Debug Print :
     IGCM_debug_Print 1 "IGCM_config_PeriodStart : Before Execution"
-    IGCM_debug_Print 3 "Year of simulation      : ${year}"
-    IGCM_debug_Print 3 "Month of simulation     : ${month}"
-    IGCM_debug_Print 3 "PeriodLengthInDays      : ${PeriodLengthInDays}"
-    IGCM_debug_Print 3 "PeriodDateBegin         : ${PeriodDateBegin}"
-    IGCM_debug_Print 3 "PeriodDateEnd           : ${PeriodDateEnd}"
-    IGCM_debug_Print 3 "SimulationLengthInDays  : ${SimulationLengthInDays}"
-    IGCM_debug_Print 3 "ExperienceLengthInDays  : ${ExperienceLengthInDays}"
+    IGCM_debug_Print 1 "Year of simulation      : ${year}"
+    IGCM_debug_Print 1 "Month of simulation     : ${month}"
+    IGCM_debug_Print 1 "PeriodLengthInDays      : ${PeriodLengthInDays}"
+    IGCM_debug_Print 1 "PeriodDateBegin         : ${PeriodDateBegin}"
+    IGCM_debug_Print 1 "PeriodDateEnd           : ${PeriodDateEnd}"
+    IGCM_debug_Print 1 "SimulationLengthInDays  : ${SimulationLengthInDays}"
+    IGCM_debug_Print 1 "ExperienceLengthInDays  : ${ExperienceLengthInDays}"
 
     #================================================================#
@@ -518,5 +517,5 @@
     else
 	if ( IGCM_sys_TestFileArchive ${R_OUT_KSH}/${PREFIX}_${Exe_Output} ) ; then
-	    IGCM_debug_Print 1 "IGCM_config_PeriodStart" "RErun an old job. DEBUG of DEV mode."
+	    IGCM_debug_Print 1 "IGCM_config_PeriodStart" "RErun an old job. Allowed in DEBUG or DEV mode."
 	fi
     fi
@@ -531,5 +530,5 @@
 
     echo
-    IGCM_debug_Print 1 "IGCM_config_PeriodEnd :"
+    IGCM_debug_Print 1 "IGCM_config_PeriodEnd"
     echo
 
@@ -539,8 +538,9 @@
     IGCM_sys_Put_Out ${Exe_Output} ${R_OUT_KSH}/${PREFIX}_${Exe_Output}
     eval FileToBeDeleted[${#FileToBeDeleted[@]}]="${Exe_Output}"
-
     IGCM_sys_Put_Out ${SUBMIT_DIR}/run.card ${R_OUT_KSH}/run.card rw
-    
-    typeset LS_comp LS_bin ExeDate ExeCpuLog ExeSize NextExeSize LastCompExeSize
+
+    IGCM_debug_Print 1 "Check components binary : size and creation date"
+
+    typeset LS_comp LS_bin ExeDate ExeCpuLog NextExeSize LastCompExeSize
     typeset comp i    
     typeset ExeNameIn ExeNameOut 
@@ -550,15 +550,13 @@
     #==================================#
 
-    if [ ${DRYRUN} -le 1 ] ; then
-	(( i=0 ))
-	if ( ${FirstInitialize} ) ; then
-	    run_Log_LastExeSize=""
-	    for comp in ${config_ListOfComponents[*]} ; do
-		run_Log_LastExeSize[$i]=0
-		(( i=i+1 ))
-	    done
-	else
-	    IGCM_card_DefineArrayFromOption ${SUBMIT_DIR}/run.card Log LastExeSize
-	fi
+    (( i=0 ))
+    if ( ${FirstInitialize} ) ; then
+	run_Log_LastExeSize=""
+	for comp in ${config_ListOfComponents[*]} ; do
+	    run_Log_LastExeSize[$i]=0
+	    (( i=i+1 ))
+	done
+    else
+	IGCM_card_DefineArrayFromOption ${SUBMIT_DIR}/run.card Log LastExeSize
     fi
     #==================================#
@@ -575,5 +573,5 @@
     for comp in ${config_ListOfComponents[*]} ; do
 
-	IGCM_debug_Print 1 ${comp}
+	IGCM_debug_Print 3 ${comp}
 
 	eval ExeNameIn=\${config_Executable_${comp}[0]}
@@ -606,16 +604,18 @@
 	(( i=i+1 ))
 
-	if [ ${DRYRUN} -le 1 ] ; then
-	    if [ ${ExeSize} -ne ${LastCompExeSize} ] ; then
-		if ( ${FirstInitialize} ) ; then
-		    IGCM_debug_Print 1 "Put first ${ExeNameIn} in ${R_OUT_EXE} !"
-		else
-		    IGCM_debug_Print 1 "${ExeNameIn} has changed in ${R_EXE} !"
-		    eval FileToBeDeleted[${#FileToBeDeleted[@]}]=${ExeNameOut}
-		fi
-		eval IGCM_sys_Put_Out ${ExeNameOut} ${R_OUT_EXE}/${PREFIX}_${ExeNameIn} rw
+	if [ ${ExeSize} -ne ${LastCompExeSize} ] ; then
+	    if ( ${FirstInitialize} ) ; then
+		IGCM_debug_Print 1 "Save first ${ExeNameIn} in ${R_OUT_EXE} !"
+	    else
+		IGCM_debug_Print 1 "${ExeNameIn} has changed in ${R_EXE} !"
+		IGCM_debug_Print 1 "Save latest ${ExeNameIn} in ${R_OUT_EXE} !"
+		eval FileToBeDeleted[${#FileToBeDeleted[@]}]=${ExeNameOut}
 	    fi
+	    eval IGCM_sys_Put_Out ${ExeNameOut} ${R_OUT_EXE}/${PREFIX}_${ExeNameIn} rw
 	fi
     done
+
+    NextExeSize=${NextExeSize}" )"
+    IGCM_card_WriteOption ${SUBMIT_DIR}/run.card Log LastExeSize "${NextExeSize}"
 
     if [ ${DRYRUN} -le 1 ] ; then
@@ -632,11 +632,9 @@
     fi
 
-    NextExeSize=${NextExeSize}" )"
-    IGCM_card_WriteOption ${SUBMIT_DIR}/run.card Log LastExeSize "${NextExeSize}"
-
     # All was right ? no ? then we stop.
     IGCM_debug_Verif_Exit
 
     # If all was OK, we can delete all files not necessary for next Job
+    echo
     IGCM_debug_Print 1 "Files that will be deleted before next period-run : "
 
@@ -652,5 +650,5 @@
 
     # To use this function, one must copy libIGCM.card from ${libIGCM} directory
-    # and put it in ${SUBMIT_DIR} directory. Ater modifications of ${SUBMIT_DIR}/libIGCM.card,
+    # and put it in ${SUBMIT_DIR} directory. After modifications of ${SUBMIT_DIR}/libIGCM.card,
     # variables define inside [UserChanges] will be modified for next Period of libIGCM main loop. 
     if [ -f ${SUBMIT_DIR}/libIGCM.card ] ; then
@@ -676,5 +674,5 @@
 	    case ${option} in
 		config_UserChoices_DateEnd)
-		    IGCM_debug_PrintVariables 3 config_UserChoices_DateEnd
+		    IGCM_debug_PrintVariables 1 config_UserChoices_DateEnd
 		    DateEnd=$( IGCM_date_ConvertFormatToGregorian ${config_UserChoices_DateEnd} )
 
@@ -688,18 +686,19 @@
 		    ;;
 		config_UserChoices_PeriodLength)
+		    IGCM_debug_Print 1  "Change config_UserChoices_PeriodLength=${config_UserChoices_PeriodLength}"
 		    ;;
 		PeriodNb)
-		    IGCM_debug_Print 3  "Loop in main Job with ${PeriodNb} period(s)"
+		    IGCM_debug_Print 1  "Loop in main Job with ${PeriodNb} period(s)"
 		    ;;
 		config_Post_RebuildFrequency)
-		    IGCM_debug_Print 3  "Change config_Post_RebuildFrequency=${config_Post_RebuildFrequency} : IGCM_post_Configure"
+		    IGCM_debug_Print 1  "Change config_Post_RebuildFrequency=${config_Post_RebuildFrequency} : IGCM_post_Configure"
 		    IGCM_post_Configure
 		    ;;
 		config_Post_TimeSeriesFrequency)
-		    IGCM_debug_Print 3  "Change config_Post_TimeSeriesFrequency = ${config_Post_TimeSeriesFrequency} : IGCM_post_Initialize"
+		    IGCM_debug_Print 1  "Change config_Post_TimeSeriesFrequency = ${config_Post_TimeSeriesFrequency} : IGCM_post_Initialize"
 		    IGCM_post_Configure
 		    ;;
 		config_Post_SeasonalFrequency)
-		    IGCM_debug_Print 3  "Change config_Post_SeasonalFrequency = ${config_Post_SeasonalFrequency} : IGCM_post_Initialize"
+		    IGCM_debug_Print 1  "Change config_Post_SeasonalFrequency = ${config_Post_SeasonalFrequency} : IGCM_post_Initialize"
 		    IGCM_post_Configure
 		    ;;
@@ -726,7 +725,7 @@
     echo
     IGCM_debug_Print 1 "IGCM_config_PeriodEnd : Preparing Next Execution"
-    IGCM_debug_Print 3 "PeriodDateBegin       : ${PeriodDateBegin}"
-    IGCM_debug_Print 3 "PeriodDateEnd         : ${PeriodDateEnd}"
-    IGCM_debug_Print 3 "PeriodLengthInDays    : ${PeriodLengthInDays}"
+    IGCM_debug_Print 1 "PeriodDateBegin       : ${PeriodDateBegin}"
+    IGCM_debug_Print 1 "PeriodDateEnd         : ${PeriodDateEnd}"
+    IGCM_debug_Print 1 "PeriodLengthInDays    : ${PeriodLengthInDays}"
 
     PeriodDateBegin=$( IGCM_date_ConvertFormatToHuman ${PeriodDateBegin} )
@@ -764,5 +763,5 @@
 
     echo
-    IGCM_debug_Print 1 "IGCM_config_Finalize :"
+    IGCM_debug_Print 1 "IGCM_config_Finalize"
     echo
 
Index: /trunk/libIGCM/libIGCM_debug/libIGCM_debug.ksh
===================================================================
--- /trunk/libIGCM/libIGCM_debug/libIGCM_debug.ksh	(revision 456)
+++ /trunk/libIGCM/libIGCM_debug/libIGCM_debug.ksh	(revision 457)
@@ -232,5 +232,5 @@
 	    fi
 	    # Mail notification
-	    #IGCM_sys_SendMail
+	    #IGCM_sys_SendMailPost
 	    # And Good Bye
 	    date
Index: /trunk/libIGCM/libIGCM_post/libIGCM_post.ksh
===================================================================
--- /trunk/libIGCM/libIGCM_post/libIGCM_post.ksh	(revision 456)
+++ /trunk/libIGCM/libIGCM_post/libIGCM_post.ksh	(revision 457)
@@ -20,6 +20,5 @@
     # Debug Print :
     echo
-    IGCM_debug_Print 1 "IGCM_post_Configure :"
-    echo
+    IGCM_debug_Print 1 "IGCM_post_Configure"
     #
     # Initialize
@@ -85,6 +84,5 @@
     done
     #
-    echo
-    IGCM_debug_Print 1 "POST-TREATEMENT flag value : ${POST}"
+    IGCM_debug_Print 2 "POST-TREATEMENT flag value : ${POST}"
     #
     IGCM_debug_PopStack "IGCM_post_Configure"
@@ -101,7 +99,7 @@
     if [ ${POST} = true ]; then
 	echo
-	IGCM_debug_Print 1 "IGCM_post_Submit :"
+	IGCM_debug_Print 1 "IGCM_post_Submit"
 	echo
-	IGCM_debug_Print 1 "POST_DIR = ${POST_DIR}"
+	IGCM_debug_Print 2 "POST_DIR = ${POST_DIR}"
     fi
 
@@ -109,5 +107,5 @@
     if [ ${TimeSeriesFrequency} = true ] ; then
 
-        IGCM_debug_Print 2 "TIME SERIES POST-PROCESSING ACTIVATED :"
+        IGCM_debug_Print 1 "TIME SERIES POST-PROCESSING ACTIVATED"
         echo
 
@@ -130,5 +128,5 @@
 	    if [ X$( eval echo \${TimeSeries${Dimension}} ) = Xtrue ] ; then
 		#
-		IGCM_debug_Print 2 "TIME SERIES POST-PROCESSING ${Dimension} ACTIVATED :"
+		IGCM_debug_Print 1 "TIME SERIES POST-PROCESSING ${Dimension} ACTIVATED"
 		echo
                 #
@@ -219,5 +217,5 @@
 	    if [ X$( eval echo \${TimeSeriesChunck${Dimension}} ) = Xtrue ] ; then
 		#
-		IGCM_debug_Print 2 "TIME SERIES POST-PROCESSING ${Dimension} WITH CHUNCK ACTIVATED :"
+		IGCM_debug_Print 1 "TIME SERIES POST-PROCESSING ${Dimension} WITH CHUNCK ACTIVATED"
 		echo
 		# Need to Remember This One
@@ -340,5 +338,5 @@
     if [ ${SeasonalFrequency} = true ] ; then
         #
-        IGCM_debug_Print 2 "SEASONNAL POST-TREATMENT :"
+        IGCM_debug_Print 1 "SEASONNAL POST-TREATMENT"
         echo
 	#
@@ -435,10 +433,10 @@
     if [ ${RebuildFrequency} = true ] ; then
         if ( [ ${config_Post_RebuildFromArchive} = true ] ) ; then
-            IGCM_debug_Print 2 "REBUILD POST-TREATMENT FROM ARCHIVE:"
+            IGCM_debug_Print 1 "REBUILD POST-TREATMENT FROM ARCHIVE"
             echo
             #
 	    script=rebuild_fromArchive
 	else
-            IGCM_debug_Print 2 "REBUILD POST-TREATMENT FROM WORKDIR:"
+            IGCM_debug_Print 1 "REBUILD POST-TREATMENT FROM WORKDIR"
 	    echo
 	    #
@@ -505,5 +503,5 @@
     SlaveFrequency=$( eval echo \${${2}} )
 
-    IGCM_debug_Print 1 "IGCM_post_CheckModuloFrequency : Master=${MasterFrequency} Slave=${SlaveFrequency}"
+    IGCM_debug_Print 2 "IGCM_post_CheckModuloFrequency : Master=${MasterFrequency} Slave=${SlaveFrequency}"
 
     case ${MasterFrequency} in
@@ -515,6 +513,6 @@
 		    if ( [ ${PeriodSlaveYear} -gt ${PeriodMasterYear} ] || \
 			[ $(( ${PeriodMasterYear} % ${PeriodSlaveYear} )) -ne 0 ] );  then
-			IGCM_debug_Print 3 "${SlaveName} frequency ${SlaveFrequency} not compatbile with"
-			IGCM_debug_Print 3 "${MasterName} frequency : ${MasterFrequency}"
+			IGCM_debug_Print 1 "${SlaveName} frequency ${SlaveFrequency} not compatbile with"
+			IGCM_debug_Print 1 "${MasterName} frequency : ${MasterFrequency}"
 			IGCM_debug_Exit "Check your frequency"
 		    fi ;;
@@ -523,6 +521,6 @@
 		    if ( [ ${PeriodSlaveMonth} -gt $(( ${PeriodMasterYear} * 12 )) ] || \
 			[ $(( ( ${PeriodMasterYear} * 12 ) % ${PeriodSlaveMonth} )) -ne 0 ] ) ; then
-			IGCM_debug_Print 3 "${SlaveName} frequency ${SlaveFrequency} not compatbile with"
-			IGCM_debug_Print 3 "${MasterName} frequency : ${MasterFrequency}"
+			IGCM_debug_Print 1 "${SlaveName} frequency ${SlaveFrequency} not compatbile with"
+			IGCM_debug_Print 1 "${MasterName} frequency : ${MasterFrequency}"
 			IGCM_debug_Exit "Check your frequency"
  	            fi ;;
@@ -533,12 +531,12 @@
 			if ( [ ${PeriodSlaveDay} -gt $(( ${PeriodMasterYear} * ${NbDays} )) ] || \
 			    [ $(( ( ${PeriodMasterYear} * ${NbDays} ) % ${PeriodSlaveDay} )) -ne 0 ] ; ) then
-			    IGCM_debug_Print 3 "${SlaveName} frequency ${SlaveFrequency} not compatbile with"
-			    IGCM_debug_Print 3 "${MasterName} frequency : ${MasterFrequency}"
+			    IGCM_debug_Print 1 "${SlaveName} frequency ${SlaveFrequency} not compatbile with"
+			    IGCM_debug_Print 1 "${MasterName} frequency : ${MasterFrequency}"
 			    IGCM_debug_Exit "Check your frequency"
 			fi
 		    else
-			IGCM_debug_Print 3 "For ${MasterName} with leap calendar:"
-			IGCM_debug_Print 3 "We have a daily ${SlaveName} frequency and ${MasterName}=${MasterFrequency}"
-			IGCM_debug_Print 3 "No post-treatment. Case not properly handle at this moment by libIGCM. Sorry"
+			IGCM_debug_Print 1 "For ${MasterName} with leap calendar:"
+			IGCM_debug_Print 1 "We have a daily ${SlaveName} frequency and ${MasterName}=${MasterFrequency}"
+			IGCM_debug_Print 1 "No post-treatment. Case not properly handle at this moment by libIGCM. Sorry"
 			IGCM_debug_Exit    "Check your frequency ${MasterName} and choose a daily frequency for this one too."
                     fi ;;
@@ -551,6 +549,6 @@
 		    if ( [ ${PeriodMasterMonth} -gt $(( ${PeriodSlaveYear} * 12 )) ] || \
 			[ $(( ${PeriodMasterMonth} % ( ${PeriodSlaveYear} * 12 ) )) -ne 0 ] ) ; then
-			IGCM_debug_Print 3 "${SlaveName} frequency ${SlaveFrequency} not compatbile with"
-			IGCM_debug_Print 3 "${MasterName} frequency : ${MasterFrequency}"
+			IGCM_debug_Print 1 "${SlaveName} frequency ${SlaveFrequency} not compatbile with"
+			IGCM_debug_Print 1 "${MasterName} frequency : ${MasterFrequency}"
 			IGCM_debug_Exit "Check your frequency"
  	            fi ;;
@@ -559,11 +557,11 @@
 		    if ( [ ${PeriodSlaveMonth} -gt ${PeriodMasterMonth} ] || \
 			[ $(( ${PeriodMasterMonth} % ${PeriodSlaveMonth} )) -ne 0 ] ) ;  then		
-			IGCM_debug_Print 3 "${SlaveName} frequency ${SlaveFrequency} not compatbile with"
-			IGCM_debug_Print 3 "${MasterName} frequency : ${MasterFrequency}"
+			IGCM_debug_Print 1 "${SlaveName} frequency ${SlaveFrequency} not compatbile with"
+			IGCM_debug_Print 1 "${MasterName} frequency : ${MasterFrequency}"
 			IGCM_debug_Exit "Check your frequency"
 		    fi ;;
 		*D|*d)
-		    IGCM_debug_Print 3 "${SlaveName} frequency ${SlaveFrequency} not compatbile with"
-		    IGCM_debug_Print 3 "${MasterName} frequency : ${MasterFrequency}"
+		    IGCM_debug_Print 1 "${SlaveName} frequency ${SlaveFrequency} not compatbile with"
+		    IGCM_debug_Print 1 "${MasterName} frequency : ${MasterFrequency}"
 		    IGCM_debug_Exit "Check your frequency" ;;
 	    esac ;;
@@ -572,10 +570,10 @@
             case ${SlaveFrequency} in
                 *Y|*y)
-                    IGCM_debug_Print 3 "${SlaveName} frequency ${SlaveFrequency} not compatbile with"
-                    IGCM_debug_Print 3 "${MasterName} frequency ${MasterFrequency}"
+                    IGCM_debug_Print 1 "${SlaveName} frequency ${SlaveFrequency} not compatbile with"
+                    IGCM_debug_Print 1 "${MasterName} frequency ${MasterFrequency}"
 		    IGCM_debug_Exit "Check your frequency" ;;
                 *M|*m)
-                    IGCM_debug_Print 3 "${SlaveName} frequency ${SlaveFrequency} not compatbile with"
-                    IGCM_debug_Print 3 "${MasterName} frequency ${MasterFrequency}"
+                    IGCM_debug_Print 1 "${SlaveName} frequency ${SlaveFrequency} not compatbile with"
+                    IGCM_debug_Print 1 "${MasterName} frequency ${MasterFrequency}"
 		    IGCM_debug_Exit "Check your frequency" ;;
                 *D|*d)
@@ -583,6 +581,6 @@
                     if ( [ ${PeriodSlaveDay} -gt ${PeriodMasterDay} ] || \
                         [ $(( ${PeriodMasterDay} % ${PeriodSlaveDay} )) -ne 0 ] ) ;  then
-                        IGCM_debug_Print 3 "${SlaveName} frequency ${SlaveFrequency} not compatbile with"
-                        IGCM_debug_Print 3 "${MasterName} frequency : ${MasterFrequency}"
+                        IGCM_debug_Print 1 "${SlaveName} frequency ${SlaveFrequency} not compatbile with"
+                        IGCM_debug_Print 1 "${MasterName} frequency : ${MasterFrequency}"
 			IGCM_debug_Exit "Check your frequency"
                     fi ;;
@@ -591,5 +589,5 @@
 	    ;;
 	*)
-	    IGCM_debug_Print 3 "KeyWord ${MasterFrequency} not allowed for ${MasterName} in config.card"
+	    IGCM_debug_Print 1 "KeyWord ${MasterFrequency} not allowed for ${MasterName} in config.card"
 	    IGCM_debug_Exit "Check your ${MasterName} in config.card" ;;
     esac
@@ -622,6 +620,5 @@
 
     echo
-    IGCM_debug_Print 1 "IGCM_post_ModuloRuntimeFrequency : Master=${MasterFrequency} Slave=${SlaveFrequency} CumulPeriod=${CumulPeriod}"
-    echo
+    IGCM_debug_Print 2 "IGCM_post_ModuloRuntimeFrequency : Master=${MasterFrequency} Slave=${SlaveFrequency} CumulPeriod=${CumulPeriod}"
 
     case ${MasterFrequency} in
@@ -675,6 +672,6 @@
 		    fi;;
 		*D|*d)
-		    IGCM_debug_Print 3 "PeriodLength frequency ${SlaveFrequency} not compatbile with"
-		    IGCM_debug_Print 3 "${flag_post} frequency : ${MasterFrequency} " ;;
+		    IGCM_debug_Print 1 "PeriodLength frequency ${SlaveFrequency} not compatbile with"
+		    IGCM_debug_Print 1 "${flag_post} frequency : ${MasterFrequency} " ;;
 	    esac ;;
         *D|*d)
@@ -682,9 +679,9 @@
             case ${SlaveFrequency} in
                 *Y|*y)
-                    IGCM_debug_Print 3 "PeriodLength frequency ${SlaveFrequency} not compatbile with"
-                    IGCM_debug_Print 3 "${flag_post} frequency : ${MasterFrequency} " ;;
+                    IGCM_debug_Print 1 "PeriodLength frequency ${SlaveFrequency} not compatbile with"
+                    IGCM_debug_Print 1 "${flag_post} frequency : ${MasterFrequency} " ;;
                 *M|*m)
-                    IGCM_debug_Print 3 "PeriodLength frequency ${SlaveFrequency} not compatbile with"
-                    IGCM_debug_Print 3 "${flag_post} frequency : ${MasterFrequency} " ;;
+                    IGCM_debug_Print 1 "PeriodLength frequency ${SlaveFrequency} not compatbile with"
+                    IGCM_debug_Print 1 "${flag_post} frequency : ${MasterFrequency} " ;;
                 *D|*d)
                     PeriodSlaveDay=$( echo ${SlaveFrequency} | sed -e "s/[dD]//" )
@@ -699,5 +696,5 @@
 	    ;;
 	*)
-	    IGCM_debug_Print 3 "KeyWord not allowed for ${post_freq} in config.card"
+	    IGCM_debug_Print 1 "KeyWord not allowed for ${post_freq} in config.card"
 	    ;;
     esac
Index: /trunk/libIGCM/libIGCM_sys/libIGCM_sys_titane.ksh
===================================================================
--- /trunk/libIGCM/libIGCM_sys/libIGCM_sys_titane.ksh	(revision 456)
+++ /trunk/libIGCM/libIGCM_sys/libIGCM_sys_titane.ksh	(revision 457)
@@ -217,12 +217,10 @@
     fi
 
-    set -vx
-
     typeset NB_ESSAI DELAI status i
     # keep standard input for the loop onto temporary file
     cat >tmp_IGCM_sys_RshPost_$$
 
-    echo cat tmp_IGCM_sys_RshPost_$$ INITIAL
-    cat tmp_IGCM_sys_RshPost_$$
+    #echo cat tmp_IGCM_sys_RshPost_$$ INITIAL
+    #cat tmp_IGCM_sys_RshPost_$$
 
     if [ "X$( grep rebuild_from tmp_IGCM_sys_RshPost_$$ )" != "X" ] ; then
@@ -237,6 +235,6 @@
 	#\mv tmp.txt tmp_IGCM_sys_RshPost_$$
 	#
-	echo cat tmp_IGCM_sys_RshPost_$$ AFTER
-	cat tmp_IGCM_sys_RshPost_$$
+	#echo cat tmp_IGCM_sys_RshPost_$$ AFTER
+	#cat tmp_IGCM_sys_RshPost_$$
 	/bin/ksh <tmp_IGCM_sys_RshPost_$$
 	if [ $? -gt 0 ] ; then
@@ -283,6 +281,4 @@
     fi
 
-    set -vx
-
     if ( ${ExitFlag} ) ; then
 	status=failed
