Index: trunk/libIGCM/AA_RunChecker
===================================================================
--- trunk/libIGCM/AA_RunChecker	(revision 784)
+++ trunk/libIGCM/AA_RunChecker	(revision 785)
@@ -133,18 +133,18 @@
     case ${1} in
       -f|--first)
-	fg_first=true
-	shift 1 ;;
+        fg_first=true
+        shift 1 ;;
       -l|--last)
-	fg_last=true
-	shift 1 ;;
+        fg_last=true
+        shift 1 ;;
       -j|--job)
-	fg_job=true
-	shift 1 ;;
+        fg_job=true
+        shift 1 ;;
       -*)
-	echo "usage: ${0}"
-	echo "       options = -f; -l"
-	exit ;;
+        echo "usage: ${0}"
+        echo "       options = -f; -l"
+        exit ;;
       *)
-	break ;;
+        break ;;
     esac
   done
Index: trunk/libIGCM/AA_SE_Checker
===================================================================
--- trunk/libIGCM/AA_SE_Checker	(revision 784)
+++ trunk/libIGCM/AA_SE_Checker	(revision 785)
@@ -48,6 +48,6 @@
 
 if [ ! -d ${CARD_DIR} ]; then
-    echo "No ${CARD_DIR}, we stop here"
-    exit
+  echo "No ${CARD_DIR}, we stop here"
+  exit
 fi
 
@@ -109,116 +109,116 @@
 while [ ${an_fin} -le ${an_fin_all} ] ; do
 
-    countTotal=0
-    countGood=0
-    countBad=0
-    
-    IGCM_debug_Print 1 " DateBegin/End for SE :  ${an_deb}_${an_fin} "
-    
-    for comp in ${config_ListOfComponents[*]} ; do
-	localcountBad=0
-	# Debug Print
-	IGCM_debug_Print 1 ${comp}
-	# Define component 
-	IGCM_card_DefineArrayFromOption ${CARD_DIR}/config.card ListOfComponents ${comp}
-	eval compname=\${config_ListOfComponents_${comp}[0]} > /dev/null 2>&1
-	
-	# Read libIGCM compatibility version in ${compname}.card
-	card=${CARD_DIR}/COMP/${compname}.card
-	
-	# Read and Build Output File stuff
-	#IGCM_debug_Print 1 "DefineArrayFromOption  : ${compname}_OutputFiles ${card}"
-	IGCM_card_DefineArrayFromOption ${card} OutputFiles List
-	ListFilesName=${compname}_OutputFiles_List
-	eval FileName0=\${${ListFilesName}[0]} > /dev/null 2>&1
-	#
-	if [ X${FileName0} != X${NULL_STR} ] ; then
-	    #
-	    # INITIALISATION
-	    #
-	    eval NbFiles=\${#${ListFilesName}[@]} > /dev/null 2>&1
-	    typeset i=2
-	    #
-	    until [ $i -gt $NbFiles ]; do
-		#
-		eval flag_post=\${${ListFilesName}[$i]} > /dev/null 2>&1
-		#
-		if [ X${flag_post} != XNONE ] ; then
-		    #
-		    # Check if seasonal is required for this file
-		    #
-		    IGCM_card_DefineArrayFromSection ${card} ${flag_post}
-		    #
-		    # Seasonal case : If option Seasonal is not found (old cards) put SEASONAL ON by default
-		    #
-		    # variable option allready typeset above
-		    for option in $( eval echo \${${compname}_${flag_post}[*]} ) ; do
-			if [ ${option} = Seasonal ] ; then
-			    FoundSeasonal=true
-			    IGCM_card_DefineVariableFromOption ${card} ${flag_post} Seasonal
-			fi
-		    done
-		    #
-		    if [ ! X${FoundSeasonal} = Xtrue ] ; then
-			eval ${compname}_${flag_post}_Seasonal=ON
-		    fi
-		    #
-		    if [ ! X$( eval echo \${${compname}_${flag_post}_Seasonal} ) = XON ] ; then
-			(( i=i+3 ))
-			continue
-		    fi
-		    #
-		    # CREATE LIST
-		    #
-		    FILE=$( echo ${flag_post} | awk "-FPost_" '{print $2}' )
-		    #
-		    DIRECTORY=${R_SAVE}/${comp}/Analyse/SE
-		    #
-		    TestedFile=${config_UserChoices_JobName}_SE_${an_deb}_${an_fin}_${FILE}.nc
-		    #
-		    (( countTotal = countTotal + 1 ))
-		    IGCM_sys_TestFileArchive ${DIRECTORY}/${TestedFile} >/dev/null 2>&1 
-		    if [ ! $? = 0 ] ; then
-			eval set +A LISTE_FILE_${comp}_${an_deb} \$\{LISTE_FILE_${comp}_${an_deb}[*]} ${TestedFile}
-			(( countBad = countBad + 1 ))
-			(( localcountBad = localcountBad + 1 ))
-		    else
-			(( countGood = countGood + 1 ))
-		    fi
-		fi
-		(( i=i+3 )) # to explore file list
-	    done            # until [ $i -eq $NbFiles ]
-	fi                  # [ X${FileName0} != X${NULL_STR} ] 
-	
-	[ $localcountBad = 0 ] || IGCM_debug_Print 1 "$localcountBad file(s) missing for ${comp} : " $( eval echo \${LISTE_FILE_${comp}_${an_deb}[*]} )
-    done
-    
-    # create_se submit if files don't exist
-    if [ $countGood != $countTotal ] ; then
-	IGCM_debug_Print 2 -e "\033[1;31mSubmit create_se \033[m for period ${an_deb}-${an_fin}"
-	
-        listVarEnv="libIGCM,SUBMIT_DIR,POST_DIR,DateBegin,PeriodDateEnd,RebuildFrequency,RESOL_ATM,RESOL_SRF,RESOL_SBG,RESOL_OCE,RESOL_ICE,RESOL_MBG"
-        export libIGCM=${libIGCM}
-        export SUBMIT_DIR=${CARD_DIR}
-        export POST_DIR=${POST_DIR}
-        export DateBegin=${an_deb}
-        export PeriodDateEnd=${an_fin}1231
-        export RebuildFrequency=${RebuildFrequency}
-	export RESOL_ATM=${RESOL_ATM}
-	export RESOL_SRF=${RESOL_SRF}
-	export RESOL_SBG=${RESOL_SBG}
-	export RESOL_OCE=${RESOL_OCE}
-	export RESOL_ICE=${RESOL_ICE}
-	export RESOL_MBG=${RESOL_MBG}
-        export listVarEnv=${listVarEnv}
-        IGCM_sys_MkdirWork ${POST_DIR}
-        IGCM_debug_Verif_Exit_Post
-	Script_Post_Output=create_se.${PeriodDateEnd}
-        IGCM_sys_QsubPost create_se
-
-	echo
-    fi
-
-    (( an_deb = an_deb + freq ))
-    (( an_fin = an_fin + freq ))
-    
+  countTotal=0
+  countGood=0
+  countBad=0
+
+  IGCM_debug_Print 1 " DateBegin/End for SE :  ${an_deb}_${an_fin} "
+
+  for comp in ${config_ListOfComponents[*]} ; do
+    localcountBad=0
+    # Debug Print
+    IGCM_debug_Print 1 ${comp}
+    # Define component 
+    IGCM_card_DefineArrayFromOption ${CARD_DIR}/config.card ListOfComponents ${comp}
+    eval compname=\${config_ListOfComponents_${comp}[0]} > /dev/null 2>&1
+
+    # Read libIGCM compatibility version in ${compname}.card
+    card=${CARD_DIR}/COMP/${compname}.card
+
+    # Read and Build Output File stuff
+    #IGCM_debug_Print 1 "DefineArrayFromOption  : ${compname}_OutputFiles ${card}"
+    IGCM_card_DefineArrayFromOption ${card} OutputFiles List
+    ListFilesName=${compname}_OutputFiles_List
+    eval FileName0=\${${ListFilesName}[0]} > /dev/null 2>&1
+    #
+    if [ X${FileName0} != X${NULL_STR} ] ; then
+      #
+      # INITIALISATION
+      #
+      eval NbFiles=\${#${ListFilesName}[@]} > /dev/null 2>&1
+      typeset i=2
+      #
+      until [ $i -gt $NbFiles ]; do
+        #
+        eval flag_post=\${${ListFilesName}[$i]} > /dev/null 2>&1
+        #
+        if [ X${flag_post} != XNONE ] ; then
+          #
+          # Check if seasonal is required for this file
+          #
+          IGCM_card_DefineArrayFromSection ${card} ${flag_post}
+          #
+          # Seasonal case : If option Seasonal is not found (old cards) put SEASONAL ON by default
+          #
+          # variable option allready typeset above
+          for option in $( eval echo \${${compname}_${flag_post}[*]} ) ; do
+            if [ ${option} = Seasonal ] ; then
+              FoundSeasonal=true
+              IGCM_card_DefineVariableFromOption ${card} ${flag_post} Seasonal
+            fi
+          done
+          #
+          if [ ! X${FoundSeasonal} = Xtrue ] ; then
+            eval ${compname}_${flag_post}_Seasonal=ON
+          fi
+          #
+          if [ ! X$( eval echo \${${compname}_${flag_post}_Seasonal} ) = XON ] ; then
+            (( i=i+3 ))
+            continue
+          fi
+          #
+          # CREATE LIST
+          #
+          FILE=$( echo ${flag_post} | awk "-FPost_" '{print $2}' )
+          #
+          DIRECTORY=${R_SAVE}/${comp}/Analyse/SE
+          #
+          TestedFile=${config_UserChoices_JobName}_SE_${an_deb}_${an_fin}_${FILE}.nc
+          #
+          (( countTotal = countTotal + 1 ))
+          IGCM_sys_TestFileArchive ${DIRECTORY}/${TestedFile} >/dev/null 2>&1 
+          if [ ! $? = 0 ] ; then
+            eval set +A LISTE_FILE_${comp}_${an_deb} \$\{LISTE_FILE_${comp}_${an_deb}[*]} ${TestedFile}
+            (( countBad = countBad + 1 ))
+            (( localcountBad = localcountBad + 1 ))
+          else
+            (( countGood = countGood + 1 ))
+          fi
+        fi
+        (( i=i+3 )) # to explore file list
+      done            # until [ $i -eq $NbFiles ]
+    fi                  # [ X${FileName0} != X${NULL_STR} ] 
+
+    [ $localcountBad = 0 ] || IGCM_debug_Print 1 "$localcountBad file(s) missing for ${comp} : " $( eval echo \${LISTE_FILE_${comp}_${an_deb}[*]} )
+  done
+
+  # create_se submit if files don't exist
+  if [ $countGood != $countTotal ] ; then
+    IGCM_debug_Print 2 -e "\033[1;31mSubmit create_se \033[m for period ${an_deb}-${an_fin}"
+
+    listVarEnv="libIGCM,SUBMIT_DIR,POST_DIR,DateBegin,PeriodDateEnd,RebuildFrequency,RESOL_ATM,RESOL_SRF,RESOL_SBG,RESOL_OCE,RESOL_ICE,RESOL_MBG"
+    export libIGCM=${libIGCM}
+    export SUBMIT_DIR=${CARD_DIR}
+    export POST_DIR=${POST_DIR}
+    export DateBegin=${an_deb}
+    export PeriodDateEnd=${an_fin}1231
+    export RebuildFrequency=${RebuildFrequency}
+    export RESOL_ATM=${RESOL_ATM}
+    export RESOL_SRF=${RESOL_SRF}
+    export RESOL_SBG=${RESOL_SBG}
+    export RESOL_OCE=${RESOL_OCE}
+    export RESOL_ICE=${RESOL_ICE}
+    export RESOL_MBG=${RESOL_MBG}
+    export listVarEnv=${listVarEnv}
+    IGCM_sys_MkdirWork ${POST_DIR}
+    IGCM_debug_Verif_Exit_Post
+    Script_Post_Output=create_se.${PeriodDateEnd}
+    IGCM_sys_QsubPost create_se
+
+    echo
+  fi
+
+  (( an_deb = an_deb + freq ))
+  (( an_fin = an_fin + freq ))
+
 done # while
Index: trunk/libIGCM/AA_atlas_ORCA_LIM
===================================================================
--- trunk/libIGCM/AA_atlas_ORCA_LIM	(revision 784)
+++ trunk/libIGCM/AA_atlas_ORCA_LIM	(revision 785)
@@ -2,5 +2,5 @@
 #-Q- curie ## CURIE   TGCC/CEA ##
 #-Q- curie ######################
-#-Q- curie #MSUB -r ATL_OPA        # Nom du job               
+#-Q- curie #MSUB -r ATL_OPA        # Nom du job
 #-Q- curie #MSUB -eo
 #-Q- curie #MSUB -n 1              # Reservation du processus
@@ -17,5 +17,5 @@
 #-Q- ada # Nom du travail LoadLeveler
 #-Q- ada # @ job_name   = ATL_OPA
-#-Q- ada # Fichier de sortie standard du travail       
+#-Q- ada # Fichier de sortie standard du travail
 #-Q- ada # @ output     = $(job_name).$(jobid)
 #-Q- ada # Fichier de sortie d'erreur du travail
@@ -40,5 +40,5 @@
 #-Q- titane ## TITANE   CEA ##
 #-Q- titane ######################
-#-Q- titane #MSUB -r ATL_OPA        # Nom du job                
+#-Q- titane #MSUB -r ATL_OPA        # Nom du job
 #-Q- titane #MSUB -eo
 #-Q- titane #MSUB -n 1              # Reservation du processus
@@ -142,46 +142,46 @@
 
 atlas -o ${RUN_DIR}/${R_ATLAS}/OCE_T -l ${FER_ATLAS}/atlas_p_${RESOL_OCE}_diag1_[abc].cfg     ${RUN_DIR}/${config_UserChoices_JobName}_SE_${YEARS}_1M_grid_T.nc
-atlas -o ${RUN_DIR}/${R_ATLAS}/OCE_U -l ${FER_ATLAS}/atlas_p_${RESOL_OCE}_diag0_U.cfg        ${RUN_DIR}/${config_UserChoices_JobName}_SE_${YEARS}_1M_grid_U.nc
-atlas -o ${RUN_DIR}/${R_ATLAS}/OCE_V -l ${FER_ATLAS}/atlas_p_${RESOL_OCE}_diag0_V.cfg        ${RUN_DIR}/${config_UserChoices_JobName}_SE_${YEARS}_1M_grid_V.nc
-#atlas -o ${RUN_DIR}/${R_ATLAS}/OCE_W -l ${FER_ATLAS}/atlas_p_${RESOL_OCE}_diag0_W.cfg        ${RUN_DIR}/${config_UserChoices_JobName}_SE_${YEARS}_1M_grid_W.nc
+atlas -o ${RUN_DIR}/${R_ATLAS}/OCE_U -l ${FER_ATLAS}/atlas_p_${RESOL_OCE}_diag0_U.cfg         ${RUN_DIR}/${config_UserChoices_JobName}_SE_${YEARS}_1M_grid_U.nc
+atlas -o ${RUN_DIR}/${R_ATLAS}/OCE_V -l ${FER_ATLAS}/atlas_p_${RESOL_OCE}_diag0_V.cfg         ${RUN_DIR}/${config_UserChoices_JobName}_SE_${YEARS}_1M_grid_V.nc
+#atlas -o ${RUN_DIR}/${R_ATLAS}/OCE_W -l ${FER_ATLAS}/atlas_p_${RESOL_OCE}_diag0_W.cfg         ${RUN_DIR}/${config_UserChoices_JobName}_SE_${YEARS}_1M_grid_W.nc
 atlas -o ${RUN_DIR}/${R_ATLAS}/OCE   -l ${FER_ATLAS}/atlas_p_${RESOL_OCE}_diag0_[defg].cfg     ${RUN_DIR}/${config_UserChoices_JobName}_SE_${YEARS}_1M_grid_T.nc
-atlas -o ${RUN_DIR}/${R_ATLAS}/ICE   -l ${FER_ATLAS}/atlas_p_${RESOL_OCE}LIM_diag0_[abc].cfg ${RUN_DIR}/${config_UserChoices_JobName}_SE_${YEARS}_1M_icemod.nc
+atlas -o ${RUN_DIR}/${R_ATLAS}/ICE   -l ${FER_ATLAS}/atlas_p_${RESOL_OCE}LIM_diag0_[abc].cfg  ${RUN_DIR}/${config_UserChoices_JobName}_SE_${YEARS}_1M_icemod.nc
 
 # IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
 
 # Put ferret journal files together
-for file in $( ls ${R_ATLAS}/OCE_T/*/*jnl ) ; do  
-    echo -e "\n\n################################" ; 
-    echo -e "$file\n" ; cat $file ; 
+for file in $( ls ${R_ATLAS}/OCE_T/*/*jnl ) ; do
+  echo -e "\n\n################################" ; 
+  echo -e "$file\n" ; cat $file ; 
 done  > ${R_ATLAS}/OCE_T/allferretscript.txt
 
 for file in $( ls ${R_ATLAS}/OCE_U/*/*jnl ) ; do  
-    echo -e "\n\n################################" ; 
-    echo -e "$file\n" ; cat $file ; 
+  echo -e "\n\n################################" ; 
+  echo -e "$file\n" ; cat $file ; 
 done  > ${R_ATLAS}/OCE_U/allferretscript.txt
 
 for file in $( ls ${R_ATLAS}/OCE_V/*/*jnl ) ; do  
-    echo -e "\n\n################################" ; 
-    echo -e "$file\n" ; cat $file ; 
+  echo -e "\n\n################################" ; 
+  echo -e "$file\n" ; cat $file ; 
 done  > ${R_ATLAS}/OCE_V/allferretscript.txt
 
 for file in $( ls ${R_ATLAS}/OCE/*/*jnl ) ; do  
-    echo -e "\n\n################################" ; 
-    echo -e "$file\n" ; cat $file ; 
+  echo -e "\n\n################################" ; 
+  echo -e "$file\n" ; cat $file ; 
 done  > ${R_ATLAS}/OCE/allferretscript.txt
 
 for file in $( ls ${R_ATLAS}/ICE/*/*jnl ) ; do  
-    echo -e "\n\n################################" ; 
-    echo -e "$file\n" ; cat $file ; 
+  echo -e "\n\n################################" ; 
+  echo -e "$file\n" ; cat $file ; 
 done  > ${R_ATLAS}/ICE/allferretscript.txt
 
 # WHILE WAITING FOR A MORE GENERIC SOLUTION
 if ( [ ${config_UserChoices_TagName} = "IPSLCM5" ] || [ ${config_UserChoices_TagName} = "IPSLCM5A" ] || [ ${config_UserChoices_TagName} = "IPSLCM5A-MR" ] || [ ${config_UserChoices_TagName} = "ORCA2_LIM2" ] || [ ${config_UserChoices_TagName} = "ORCA2_LIM2_PISCES" ] ) ; then
-    IGCM_sys_Get ${R_OUT_OCE}/Analyse/${DIR_OUT}/${config_UserChoices_JobName}_SE_${YEARS}_1M_diaptr.nc  ${RUN_DIR} ;
-    atlas -o ${RUN_DIR}/${R_ATLAS}/ZNL   -d -l ${FER_ATLAS}/atlas_l_${RESOL_OCE}_znl.cfg         ${RUN_DIR}/${config_UserChoices_JobName}_SE_${YEARS}_1M_diaptr.nc ;
-    for file in $( ls ${R_ATLAS}/ZNL/*/*jnl ) ; do
-	echo -e "\n\n################################" ;
-	echo -e "$file\n" ; cat $file ;
-    done > ${R_ATLAS}/ZNL/allferretscript.txt
+  IGCM_sys_Get ${R_OUT_OCE}/Analyse/${DIR_OUT}/${config_UserChoices_JobName}_SE_${YEARS}_1M_diaptr.nc  ${RUN_DIR} ;
+  atlas -o ${RUN_DIR}/${R_ATLAS}/ZNL   -d -l ${FER_ATLAS}/atlas_l_${RESOL_OCE}_znl.cfg         ${RUN_DIR}/${config_UserChoices_JobName}_SE_${YEARS}_1M_diaptr.nc ;
+  for file in $( ls ${R_ATLAS}/ZNL/*/*jnl ) ; do
+    echo -e "\n\n################################" ;
+    echo -e "$file\n" ; cat $file ;
+  done > ${R_ATLAS}/ZNL/allferretscript.txt
 fi
 
@@ -194,8 +194,8 @@
 IGCM_sys_Rm -Rf ATLAS
 IGCM_sys_Rm ${config_UserChoices_JobName}_SE_${YEARS}_1M_grid_[TUVW].nc 
-IGCM_sys_Rm ${config_UserChoices_JobName}_SE_${YEARS}_1M_icemod.nc      
+IGCM_sys_Rm ${config_UserChoices_JobName}_SE_${YEARS}_1M_icemod.nc
 # WHILE WAITING FOR A MORE GENERIC SOLUTION
 if ( [ ${config_UserChoices_TagName} = "IPSLCM5" ] || [ ${config_UserChoices_TagName} = "IPSLCM5A" ] || [ ${config_UserChoices_TagName} = "IPSLCM5A-MR" ] || [ ${config_UserChoices_TagName} = "ORCA2_LIM2" ] || [ ${config_UserChoices_TagName} = "ORCA2_LIM2_PISCES" ] ) ; then
-    IGCM_sys_Rm ${config_UserChoices_JobName}_SE_${YEARS}_1M_diaptr.nc ; 
+  IGCM_sys_Rm ${config_UserChoices_JobName}_SE_${YEARS}_1M_diaptr.nc ; 
 fi
 
Index: trunk/libIGCM/AA_clean_month
===================================================================
--- trunk/libIGCM/AA_clean_month	(revision 784)
+++ trunk/libIGCM/AA_clean_month	(revision 785)
@@ -81,121 +81,121 @@
 
 if [ ! -f ${SUBMIT_DIR}/run.card ]; then 
-    echo "You seem NOT to have a run.card in this directory !!"
-    echo "This script will fail because it doesn't know what to do without run.card available."
-    exit 1
+  echo "You seem NOT to have a run.card in this directory !!"
+  echo "This script will fail because it doesn't know what to do without run.card available."
+  exit 1
 else
-    #===================================#
-    #        Read updated run.card      #
-    #===================================#
-    IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/run.card Configuration PeriodState
-    IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/run.card Configuration OldPrefix
-    IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/run.card Configuration PeriodDateBegin
-    IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/run.card Configuration PeriodDateEnd
-    IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/run.card Configuration CumulPeriod
-
-    PeriodDateEnd=$( IGCM_date_ConvertFormatToGregorian ${run_Configuration_PeriodDateEnd} )
-    echo "Search files with ${PeriodDateEnd} in ${R_SAVE}"
-    set +A ListFiles -- $( IGCM_sys_RshArchive "find ${R_SAVE} -name \"*${PeriodDateEnd}*\" " )
-    CountListFiles=${#ListFiles[@]}
-
+  #===================================#
+  #        Read updated run.card      #
+  #===================================#
+  IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/run.card Configuration PeriodState
+  IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/run.card Configuration OldPrefix
+  IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/run.card Configuration PeriodDateBegin
+  IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/run.card Configuration PeriodDateEnd
+  IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/run.card Configuration CumulPeriod
+
+  PeriodDateEnd=$( IGCM_date_ConvertFormatToGregorian ${run_Configuration_PeriodDateEnd} )
+  echo "Search files with ${PeriodDateEnd} in ${R_SAVE}"
+  set +A ListFiles -- $( IGCM_sys_RshArchive "find ${R_SAVE} -name \"*${PeriodDateEnd}*\" " )
+  CountListFiles=${#ListFiles[@]}
+
+  if [ X${Pack} = Xtrue ] ; then
+    echo "Search files with ${PeriodDateEnd} in ${R_BUFR}"
+    set +A ListFilesBuf -- $( IGCM_sys_RshMaster "find ${R_BUFR} -name \"*${PeriodDateEnd}*\" " )
+    CountListFilesBuf=${#ListFilesBuf[@]}
+  else
+    CountListFilesBuf=0
+  fi
+
+  # If exist, erase REBUILD DIR
+  PeriodDateBegin=$( IGCM_date_ConvertFormatToGregorian ${run_Configuration_PeriodDateBegin} )
+  CountRebuildDir=0
+  if [ X${config_Post_RebuildFrequency} != X ] ; then
+    if [ X${config_Post_RebuildFromArchive} = Xtrue ] ; then
+      set +A RebuildDir -- $( IGCM_sys_RshArchive "find ${REBUILD_DIR} -type d -name \"*${PeriodDateBegin}*\" " )
+    else
+      set +A RebuildDir -- $( find ${REBUILD_DIR} -type d -name "*${PeriodDateBegin}*" )
+    fi
+    CountRebuildDir=${#RebuildDir[@]}
+  fi
+
+  IGCM_debug_Print 1 "Number of files to be erased : ${CountListFiles}."
+  if ( [ ${CountListFiles} -gt 0 ] || [ ${CountListFilesBuf} -gt 0 ] ) ; then 
+    for file in ${ListFiles[@]} ; do
+      IGCM_debug_Print 2 -e "\033[1;31m ${file}\033[m"
+    done
     if [ X${Pack} = Xtrue ] ; then
-      echo "Search files with ${PeriodDateEnd} in ${R_BUFR}"
-      set +A ListFilesBuf -- $( IGCM_sys_RshMaster "find ${R_BUFR} -name \"*${PeriodDateEnd}*\" " )
-      CountListFilesBuf=${#ListFilesBuf[@]}
-    else
-      CountListFilesBuf=0
+      for file in ${ListFilesBuf[@]} ; do
+        IGCM_debug_Print 2 -e "\033[1;31m ${file}\033[m"
+      done
     fi
-
-    # If exist, erase REBUILD DIR
-    PeriodDateBegin=$( IGCM_date_ConvertFormatToGregorian ${run_Configuration_PeriodDateBegin} )
-    CountRebuildDir=0
-    if [ X${config_Post_RebuildFrequency} != X ] ; then
-	if [ X${config_Post_RebuildFromArchive} = Xtrue ] ; then
-	    set +A RebuildDir -- $( IGCM_sys_RshArchive "find ${REBUILD_DIR} -type d -name \"*${PeriodDateBegin}*\" " )
-	else
-	    set +A RebuildDir -- $( find ${REBUILD_DIR} -type d -name  "*${PeriodDateBegin}*" )
-	fi
-	CountRebuildDir=${#RebuildDir[@]}
-    fi
-
-    IGCM_debug_Print 1 "Number of files to be erased : ${CountListFiles}."
-    if ( [ ${CountListFiles} -gt 0 ] || [ ${CountListFilesBuf} -gt 0 ] ) ; then 
-	for file in ${ListFiles[@]} ; do
-	    IGCM_debug_Print 2 -e "\033[1;31m ${file}\033[m"
-	done
+    echo -e "\033[1;32mDo you REALLY want to erase all those files ?"
+    echo -n -e " Your answer (y/n) : \033[m"
+    read reponse
+    case ${reponse} in
+
+      oui|OUI|o|y|yes|YES)
+        echo "OK. It will be erased."
+        IGCM_sys_RshArchive "find ${R_SAVE} -name \"*${PeriodDateEnd}*\" -exec rm -f '{}' \;"
         if [ X${Pack} = Xtrue ] ; then
-	  for file in ${ListFilesBuf[@]} ; do
-	    IGCM_debug_Print 2 -e "\033[1;31m ${file}\033[m"
-	  done
+          IGCM_sys_RshMaster  "find ${R_BUFR} -name \"*${PeriodDateEnd}*\" -exec rm -f '{}' \;"
         fi
-	echo -e "\033[1;32mDo you REALLY want to erase all those files ?"
-	echo -n -e " Your answer (y/n) : \033[m"
-	read reponse
-	case ${reponse} in
-	    
-	    oui|OUI|o|y|yes|YES)
-		echo "OK. It will be erased."
-		IGCM_sys_RshArchive "find ${R_SAVE} -name \"*${PeriodDateEnd}*\" -exec rm -f '{}' \;"
-                if [ X${Pack} = Xtrue ] ; then
-		  IGCM_sys_RshMaster  "find ${R_BUFR} -name \"*${PeriodDateEnd}*\" -exec rm -f '{}' \;"
-                fi
-		echo "done."
-		;;
-	    non|NON|n|no|NO)
-		echo "Nothing to do !"
-		;;
-	esac
-    fi
-
-    if [ ${CountRebuildDir} -gt 0 ] ; then 
-	IGCM_debug_Print 1 "Number of REBUILD Dirs to be erased : ${CountRebuildDir}."
-	for Dir in ${RebuildDir[@]} ; do
-	    IGCM_debug_Print 2 -e "\033[1;31m ${Dir}\033[m"
-	done
-
-	echo -e "\033[1;32mDo you REALLY want to erase all those Directories ?"
-	echo -n -e " Your answer (y/n) : \033[m"
-	read reponse
-	case ${reponse} in
-	    
-	    oui|OUI|o|y|yes|YES)
-		echo "OK. It will be erased."
-		if [ X${config_Post_RebuildFromArchive} = Xtrue ] ; then
-		    IGCM_sys_RshArchive "find ${REBUILD_DIR} -type d -name \"*${PeriodDateBegin}*\" -exec rm -Rf '{}' \;"
-		else
-		    find ${REBUILD_DIR} -type d -name "*${PeriodDateBegin}*" -exec rm -Rf '{}' \;
-		fi
-		echo "done."
-		;;
-	    non|NON|n|no|NO)
-		echo "Nothing to do !"
-		;;
-	esac
-    fi
-    
-    IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/run.card Configuration PeriodState
-    if ( [ ${run_Configuration_PeriodState} != "Running" ] && [ ${run_Configuration_PeriodState} != "OnQueue" ] && [ ${run_Configuration_PeriodState} != "Continue" ] ) ; then
-
-	echo -e "\033[1;32mNOW do you want to continue the simulation (Set PeriodState=OnQueue into run.card) ?"
-	echo -n -e " Your answer (y/n) : \033[m"
-	read reponse
-	case ${reponse} in
-	    
-	    oui|OUI|o|y|yes|YES)
-		echo "OK. Now you can submit the Job : ${SUBMIT_DIR}/Job_${config_UserChoices_JobName}."
-		IGCM_card_WriteOption ${SUBMIT_DIR}/run.card Configuration PeriodState "OnQueue"
-		;;
-	    non|NON|n|no|NO)
-		echo "Nothing to do !"
-		;;
-	esac
-    else
-	echo "You can submit the Job : ${SUBMIT_DIR}/Job_${config_UserChoices_JobName}."
-    fi
-
-    if ( [ X${run_Configuration_CumulPeriod} = X ] || [ X${run_Configuration_CumulPeriod} = X1 ] ); then
-      echo "CumulPeriod=1 so we erase run.card to start properly."
-      IGCM_sys_Rm ${SUBMIT_DIR}/run.card
-    fi
+        echo "done."
+        ;;
+      non|NON|n|no|NO)
+        echo "Nothing to do !"
+        ;;
+    esac
+  fi
+
+  if [ ${CountRebuildDir} -gt 0 ] ; then 
+    IGCM_debug_Print 1 "Number of REBUILD Dirs to be erased : ${CountRebuildDir}."
+    for Dir in ${RebuildDir[@]} ; do
+      IGCM_debug_Print 2 -e "\033[1;31m ${Dir}\033[m"
+    done
+
+    echo -e "\033[1;32mDo you REALLY want to erase all those Directories ?"
+    echo -n -e " Your answer (y/n) : \033[m"
+    read reponse
+    case ${reponse} in
+
+      oui|OUI|o|y|yes|YES)
+        echo "OK. It will be erased."
+        if [ X${config_Post_RebuildFromArchive} = Xtrue ] ; then
+          IGCM_sys_RshArchive "find ${REBUILD_DIR} -type d -name \"*${PeriodDateBegin}*\" -exec rm -Rf '{}' \;"
+        else
+          find ${REBUILD_DIR} -type d -name "*${PeriodDateBegin}*" -exec rm -Rf '{}' \;
+        fi
+        echo "done."
+        ;;
+      non|NON|n|no|NO)
+        echo "Nothing to do !"
+        ;;
+    esac
+  fi
+
+  IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/run.card Configuration PeriodState
+  if ( [ ${run_Configuration_PeriodState} != "Running" ] && [ ${run_Configuration_PeriodState} != "OnQueue" ] && [ ${run_Configuration_PeriodState} != "Continue" ] ) ; then
+
+    echo -e "\033[1;32mNOW do you want to continue the simulation (Set PeriodState=OnQueue into run.card) ?"
+    echo -n -e " Your answer (y/n) : \033[m"
+    read reponse
+    case ${reponse} in
+
+      oui|OUI|o|y|yes|YES)
+        echo "OK. Now you can submit the Job : ${SUBMIT_DIR}/Job_${config_UserChoices_JobName}."
+        IGCM_card_WriteOption ${SUBMIT_DIR}/run.card Configuration PeriodState "OnQueue"
+        ;;
+      non|NON|n|no|NO)
+        echo "Nothing to do !"
+        ;;
+    esac
+  else
+    echo "You can submit the Job : ${SUBMIT_DIR}/Job_${config_UserChoices_JobName}."
+  fi
+
+  if ( [ X${run_Configuration_CumulPeriod} = X ] || [ X${run_Configuration_CumulPeriod} = X1 ] ); then
+    echo "CumulPeriod=1 so we erase run.card to start properly."
+    IGCM_sys_Rm ${SUBMIT_DIR}/run.card
+  fi
 fi
 exit 0
Index: trunk/libIGCM/AA_clean_year
===================================================================
--- trunk/libIGCM/AA_clean_year	(revision 784)
+++ trunk/libIGCM/AA_clean_year	(revision 785)
@@ -198,5 +198,5 @@
     read reponse
     case ${reponse} in
-      
+
       oui|OUI|o|y|yes|YES)
         echo "OK. It will be erased."
@@ -220,5 +220,5 @@
                                -$( IGCM_date_DaysInMonth ${PeriodYear} ${PeriodMonth} ) )
   IGCM_date_GetYearMonth ${PreviousPeriodDateEnd} PreviousPeriodYear PreviousPeriodMonth
- 
+
   PreviousPeriodDateBegin=$( IGCM_date_AddDaysToGregorianDate ${PeriodDateBegin} \
                          -$( IGCM_date_DaysInMonth ${PreviousPeriodYear} ${PreviousPeriodMonth} ) )
Index: trunk/libIGCM/AA_create_multi_se
===================================================================
--- trunk/libIGCM/AA_create_multi_se	(revision 784)
+++ trunk/libIGCM/AA_create_multi_se	(revision 785)
@@ -2,5 +2,5 @@
 #-Q- curie ## CURIE   TGCC/CEA ##
 #-Q- curie ######################
-#-Q- curie #MSUB -r MULTISE        # Nom du job               
+#-Q- curie #MSUB -r MULTISE        # Nom du job
 #-Q- curie #MSUB -eo
 #-Q- curie #MSUB -n 1              # Reservation du processus
@@ -17,5 +17,5 @@
 #-Q- ada # Nom du travail LoadLeveler
 #-Q- ada # @ job_name   = MULTISE
-#-Q- ada # Fichier de sortie standard du travail       
+#-Q- ada # Fichier de sortie standard du travail
 #-Q- ada # @ output     = $(job_name).$(jobid)
 #-Q- ada # Fichier de sortie d'erreur du travail
@@ -40,5 +40,5 @@
 #-Q- titane ## TITANE   CEA ##
 #-Q- titane ######################
-#-Q- titane #MSUB -r MULTISE             # Nom du job                
+#-Q- titane #MSUB -r MULTISE             # Nom du job
 #-Q- titane #MSUB -eo
 #-Q- titane #MSUB -n 1              # Reservation du processus
@@ -152,11 +152,11 @@
 
 if [ ${StandAlone} = true ] ; then
-    CARD_DIR=${SUBMIT_DIR}
+  CARD_DIR=${SUBMIT_DIR}
 else
-    CARD_DIR=${RUN_DIR_PATH}
-    IGCM_sys_Get_Master ${SUBMIT_DIR}/config.card ${RUN_DIR_PATH}
-    IGCM_sys_Get_Master ${SUBMIT_DIR}/run.card    ${RUN_DIR_PATH}
-    IGCM_sys_Get_Master ${SUBMIT_DIR}/COMP        ${RUN_DIR_PATH}
-    IGCM_sys_Get_Master ${SUBMIT_DIR}/POST        ${RUN_DIR_PATH}
+  CARD_DIR=${RUN_DIR_PATH}
+  IGCM_sys_Get_Master ${SUBMIT_DIR}/config.card ${RUN_DIR_PATH}
+  IGCM_sys_Get_Master ${SUBMIT_DIR}/run.card    ${RUN_DIR_PATH}
+  IGCM_sys_Get_Master ${SUBMIT_DIR}/COMP        ${RUN_DIR_PATH}
+  IGCM_sys_Get_Master ${SUBMIT_DIR}/POST        ${RUN_DIR_PATH}
 fi
 
@@ -185,11 +185,11 @@
 FoundMultiSeasonal=false
 for option in ${config_Post[*]} ; do
-    if [ ${option} = MultiSeasonalFrequency ] ; then
-	FoundMultiSeasonal=true
-	IGCM_card_DefineVariableFromOption ${CARD_DIR}/config.card Post MultiSeasonalFrequency
-    fi
+  if [ ${option} = MultiSeasonalFrequency ] ; then
+    FoundMultiSeasonal=true
+    IGCM_card_DefineVariableFromOption ${CARD_DIR}/config.card Post MultiSeasonalFrequency
+  fi
 done
 if [ ! X${FoundMultiSeasonal} = Xtrue ] ; then
-    config_Post_MultiSeasonalFrequency=50Y
+  config_Post_MultiSeasonalFrequency=50Y
 fi
 #
@@ -221,175 +221,175 @@
 #
 for comp in ${config_ListOfComponents[*]} ; do
-    #
-    IGCM_card_DefineArrayFromOption ${CARD_DIR}/config.card ListOfComponents ${comp}
-    eval compname=\${config_ListOfComponents_${comp}[0]} > /dev/null 2>&1
-    #
-    card=${CARD_DIR}/COMP/${compname}.card
-    IGCM_card_DefineArrayFromOption ${card} OutputFiles List
-    #
-    ListFilesName=${compname}_OutputFiles_List
-    eval FileName0=\${${ListFilesName}[0]} > /dev/null 2>&1
-    #
-    if [ X${FileName0} != X${NULL_STR} ] ; then
-	#
-	# INITIALISATION
-	#
-	eval NbFiles=\${#${ListFilesName}[@]} > /dev/null 2>&1
-	typeset i=2
-	#
-	until [ $i -gt $NbFiles ]; do
-	    #
-	    eval flag_post=\${${ListFilesName}[$i]} > /dev/null 2>&1
-	    #
-	    if [ X${flag_post} != XNONE ] ; then
-		#
-		# Check if seasonal is required for this file
-		#
-		IGCM_card_DefineArrayFromSection ${card} ${flag_post}
-		#
-		# Seasonal case : If option Seasonal is not found (old cards) put SEASONAL ON by default
-		#
-		# variable option allready typeset above
-		for option in $( eval echo \${${compname}_${flag_post}[*]} ) ; do
-		    if [ ${option} = Seasonal ] ; then
-			FoundSeasonal=true
-			IGCM_card_DefineVariableFromOption ${card} ${flag_post} Seasonal
-		    fi
-		done
-		#
-		if [ ! X${FoundSeasonal} = Xtrue ] ; then
-		    eval ${compname}_${flag_post}_Seasonal=ON
-		fi
-		#
-		if [ ! X$( eval echo \${${compname}_${flag_post}_Seasonal} ) = XON ] ; then
-		    (( i=i+3 ))
-		    continue
-		fi
-		#
-	        # CREATE LIST
-	        #
-		FILE=$( echo ${flag_post} | awk "-FPost_" '{print $2}' )
-		#
-		DIRECTORY=${R_SAVE}/${comp}/Analyse/SE
-	        #
-		MULTI_DIRECTORY=${R_SAVE}/${comp}/Analyse/${DIR_OUT}
-	        #
-		TestedFile=${config_UserChoices_JobName}_SE_${an_multi_deb}_${an_multi_fin}_${FILE}.nc
-	        #
-		IGCM_sys_TestFileArchive ${MULTI_DIRECTORY}/${TestedFile}
-		if [ ! $? = 0 ] ; then
-		    eval set +A LISTE_FILE_${comp} \$\{LISTE_FILE_${comp}[*]} ${FILE}
-		fi
-	    fi
-	    (( i=i+3 ))
-	done # until [ $i -eq $NbFiles ]
+  #
+  IGCM_card_DefineArrayFromOption ${CARD_DIR}/config.card ListOfComponents ${comp}
+  eval compname=\${config_ListOfComponents_${comp}[0]} > /dev/null 2>&1
+  #
+  card=${CARD_DIR}/COMP/${compname}.card
+  IGCM_card_DefineArrayFromOption ${card} OutputFiles List
+  #
+  ListFilesName=${compname}_OutputFiles_List
+  eval FileName0=\${${ListFilesName}[0]} > /dev/null 2>&1
+  #
+  if [ X${FileName0} != X${NULL_STR} ] ; then
+    #
+    # INITIALISATION
+    #
+    eval NbFiles=\${#${ListFilesName}[@]} > /dev/null 2>&1
+    typeset i=2
+    #
+    until [ $i -gt $NbFiles ]; do
+      #
+      eval flag_post=\${${ListFilesName}[$i]} > /dev/null 2>&1
+      #
+      if [ X${flag_post} != XNONE ] ; then
+        #
+        # Check if seasonal is required for this file
+        #
+        IGCM_card_DefineArrayFromSection ${card} ${flag_post}
+        #
+        # Seasonal case : If option Seasonal is not found (old cards) put SEASONAL ON by default
+        #
+        # variable option allready typeset above
+        for option in $( eval echo \${${compname}_${flag_post}[*]} ) ; do
+          if [ ${option} = Seasonal ] ; then
+            FoundSeasonal=true
+            IGCM_card_DefineVariableFromOption ${card} ${flag_post} Seasonal
+          fi
+        done
+        #
+        if [ ! X${FoundSeasonal} = Xtrue ] ; then
+          eval ${compname}_${flag_post}_Seasonal=ON
+        fi
+        #
+        if [ ! X$( eval echo \${${compname}_${flag_post}_Seasonal} ) = XON ] ; then
+          (( i=i+3 ))
+          continue
+        fi
+        #
+        # CREATE LIST
+        #
+        FILE=$( echo ${flag_post} | awk "-FPost_" '{print $2}' )
+        #
+        DIRECTORY=${R_SAVE}/${comp}/Analyse/SE
+        #
+        MULTI_DIRECTORY=${R_SAVE}/${comp}/Analyse/${DIR_OUT}
+        #
+        TestedFile=${config_UserChoices_JobName}_SE_${an_multi_deb}_${an_multi_fin}_${FILE}.nc
+        #
+        IGCM_sys_TestFileArchive ${MULTI_DIRECTORY}/${TestedFile}
+        if [ ! $? = 0 ] ; then
+          eval set +A LISTE_FILE_${comp} \$\{LISTE_FILE_${comp}[*]} ${FILE}
+        fi
+      fi
+      (( i=i+3 ))
+    done # until [ $i -eq $NbFiles ]
+  fi
+done         # for comp
+
+for comp in ${config_ListOfComponents[*]} ; do
+  #
+  eval R_OUT_${comp}=${R_SAVE}/${comp}
+  #
+  i=0
+  for file in $( eval echo \${LISTE_FILE_${comp}[*]} ); do
+    #
+    RESULT_MULTI_SE=${config_UserChoices_JobName}_SE_${an_multi_deb}_${an_multi_fin}_${file}.nc
+    # Do not redo an existing SE
+    IGCM_sys_TestFileArchive ${R_SAVE}/${comp}/Analyse/${DIR_OUT}/${RESULT_MULTI_SE}
+    if [ $? = 0 ] ; then
+      continue
     fi
-done         # for comp
-
-for comp in ${config_ListOfComponents[*]} ; do
-    #
-    eval R_OUT_${comp}=${R_SAVE}/${comp}
-    #
-    i=0
-    for file in $( eval echo \${LISTE_FILE_${comp}[*]} ); do
-	#
-	RESULT_MULTI_SE=${config_UserChoices_JobName}_SE_${an_multi_deb}_${an_multi_fin}_${file}.nc
-	# Do not redo an existing SE
-	IGCM_sys_TestFileArchive ${R_SAVE}/${comp}/Analyse/${DIR_OUT}/${RESULT_MULTI_SE}
-	if [ $? = 0 ] ; then
-	    continue
-	fi
-	#
-	eval file_path=\${R_OUT_${comp}}/Analyse/SE/
-	#
-	(( an = an_multi_deb ))
-        # Initialize array
-	#set -A liste_file_se
-	#set -A liste_file_se_tmp
-	unset liste_file_se
-	unset liste_file_se_tmp
-	while [ ${an} -le ${an_multi_fin} ] ; do
-	    #
-	    an_deb=$(printf "%04i\n" ${an} )
-	    #
-	    (( an_fin = an_deb + freq - 1 ))
-	    date=${an_deb}_${an_fin}
-	    #set +A liste_file_se ${liste_file_se[*]} ${file_path}${config_UserChoices_JobName}_${date}_${file}.nc
-	    #set +A liste_file_se_tmp ${liste_file_se_tmp[*]} ${config_UserChoices_JobName}_${date}_${file}.nc
-	    liste_file_se[${#liste_file_se[*]}]=${file_path}${config_UserChoices_JobName}_SE_${date}_${file}.nc
-	    liste_file_se_tmp[${#liste_file_se_tmp[*]}]=${config_UserChoices_JobName}_SE_${date}_${file}.nc
-	    (( an = an + freq ))
-	done
-	#
-	IGCM_sys_Get /l liste_file_se[*] ${RUN_DIR_PATH}
-	IGCM_debug_Verif_Exit_Post
-	# Search of common list of variables to be treated
-	nbfile=0
-	for file_common_var in ${liste_file_se_tmp[*]} ; do
-            ncdump -h ${file_common_var} | grep -E 'float|double' | cut -f 1 -d '(' | cut -f 2 -d ' ' >> tmpfile_ncra
-	    (( nbfile = nbfile + 1 ))
-	done
-	list_var_final_ncra=`cat tmpfile_ncra | sort | uniq -c | awk -v nbfile=$nbfile '{if ($1 == nbfile) {print $2}}' | paste -s -d ','`
-	IGCM_sys_Rm tmpfile_ncra
-
-	# detect time counter : time or time_counter ie unlimited variable
-	var_unlim=$(ncdump -h ${liste_file_se_tmp[1]}|grep UNLIMITED|awk '{print $1}')
-
-	for mois in  01 02 03 04 05 06 07 08 09 10 11 12 ; do
-	#
-	    (( nb = ${mois} - 1 ))
-	#
-	    OUT_SE[${nb}]=${config_UserChoices_JobName}_SE${mois}_${an_deb}_${an_fin}_${file}.nc
-	    IGCM_sys_ncra -O -v ${list_var_final_ncra} -d ${var_unlim},${nb},,12 ${liste_file_se_tmp[*]} ${OUT_SE[${nb}]}
-	done
-	IGCM_sys_Rm ${liste_file_se_tmp[*]}
-	#
-
-        # Search of common list of variables to be treated
-        nbfile=0
-        for file_common_var in ${OUT_SE[*]} ; do
-           ncdump -h ${file_common_var} | grep -E 'float|double' | cut -f 1 -d '(' | cut -f 2 -d ' ' >> tmpfile_ncrcat
-           (( nbfile = nbfile + 1 ))
-        done
-        list_var_final_ncrcat=`cat tmpfile_ncrcat | sort | uniq -c | awk -v nbfile=$nbfile '{if ($1 == nbfile) {print $2}}' | paste -s -d ','`
-        IGCM_sys_Rm tmpfile_ncrcat
-
-	IGCM_sys_ncrcat -O -v ${list_var_final_ncrcat} ${OUT_SE[*]} ${RESULT_MULTI_SE}
-	#
-	IGCM_sys_Rm ${OUT_SE[*]}
-	
-	# Put correct climatological axis following calendar 
-	case ${config_UserChoices_CalendarType} in
-		360d|360_day)
-			# 360 days
-			ncap2cmd="'defdim(\"tbnds\",2) ; ${var_unlim}[${var_unlim}]={15, 45, 75, 105, 135, 165, 195, 225, 255, 285, 315, 345.} ; ${var_unlim}_bnds[${var_unlim},tbnds]={0, 30, 30, 60, 60, 90, 90, 120, 120, 150, 150, 180, 180, 210, 210, 240, 240, 270, 270, 300, 300, 330, 330, 360.} ; ${var_unlim}@units=\"days since 0000-01-01 00:00:00\" ; ${var_unlim}@time_origin=\"01-JAN-0000 00:00:00\" ; ${var_unlim}@calendar=\"360_day\" ; ${var_unlim}@bounds=\"${var_unlim}_bnds\"'"
-			;;
-      		noleap|365_day)
-			# 365 days
-			ncap2cmd="'defdim(\"tbnds\",2) ; ${var_unlim}[${var_unlim}]={15.5, 45, 74.5, 105, 135.5, 166, 196.5, 227.5, 258, 288.5, 319, 349.5} ; ${var_unlim}_bnds[${var_unlim},tbnds]={0, 31, 31, 59, 59, 90, 90, 120, 120, 151, 151, 181, 181, 212, 212, 243, 243, 273, 273, 304, 304, 334, 334, 365.} ; ${var_unlim}@units=\"days since 0000-01-01 00:00:00\" ; ${var_unlim}@time_origin=\"01-JAN-0000 00:00:00\" ; ${var_unlim}@calendar=\"365_day\" ; ${var_unlim}@bounds=\"${var_unlim}_bnds\"'"
-			;;
-		all_leap|366_day)
-			# 366 days
-			ncap2cmd="'defdim(\"tbnds\",2) ; ${var_unlim}[${var_unlim}]={15.5, 45.5, 75.5, 106, 136.5, 167, 197.5, 228.5, 259, 289.5, 320, 350.5} ; ${var_unlim}_bnds[${var_unlim},tbnds]={0, 31, 31, 60, 60, 91, 91, 121, 121, 152, 152, 182, 182, 213, 213, 244, 244, 274, 274, 305, 305, 335, 335, 366.} ; ${var_unlim}@units=\"days since 0000-01-01 00:00:00\" ; ${var_unlim}@time_origin=\"01-JAN-0000 00:00:00\" ; ${var_unlim}@calendar=\"366_day\" ; ${var_unlim}@bounds=\"${var_unlim}_bnds\"'"
-			;;
-		leap|gregorian|standard)
-			# 365.2425 days
-			ncap2cmd="'defdim(\"tbnds\",2) ; ${var_unlim}[${var_unlim}]={15.5, 45.12125, 74.7425, 105.2425, 135.7425, 166.2425, 196.7425, 227.7425, 258.2425, 288.7425, 319.2425, 349.7425} ; ${var_unlim}_bnds[${var_unlim},tbnds]={0, 31, 31, 59.2425, 59.2425, 90.2425, 90.2425, 120.2425, 120.2425, 151.2425, 151.2425, 181.2425, 181.2425, 212.2425, 212.2425, 243.2425, 243.2425, 273.2425, 273.2425, 304.2425, 304.2425, 334.2425, 334.2425, 365.2425} ; ${var_unlim}@units=\"days since 0000-01-01 00:00:00\" ; ${var_unlim}@time_origin=\"01-JAN-0000 00:00:00\" ; ${var_unlim}@calendar=\"gregorian\" ; ${var_unlim}@bounds=\"${var_unlim}_bnds\"'"
-			;;
-	esac
-	eval IGCM_sys_ncap2 -Oh -s $ncap2cmd ${RESULT_MULTI_SE} tmp.nc
-	IGCM_sys_Rm ${RESULT_MULTI_SE}
-	IGCM_sys_Mv tmp.nc ${RESULT_MULTI_SE}
-	#
-	eval IGCM_sys_Put_Out ${RESULT_MULTI_SE} \${R_OUT_${comp}}/Analyse/${DIR_OUT}/${RESULT_MULTI_SE}
-	IGCM_sys_Rm ${RESULT_MULTI_SE}
-	#
+    #
+    eval file_path=\${R_OUT_${comp}}/Analyse/SE/
+    #
+    (( an = an_multi_deb ))
+    # Initialize array
+    #set -A liste_file_se
+    #set -A liste_file_se_tmp
+    unset liste_file_se
+    unset liste_file_se_tmp
+    while [ ${an} -le ${an_multi_fin} ] ; do
+      #
+      an_deb=$(printf "%04i\n" ${an} )
+      #
+      (( an_fin = an_deb + freq - 1 ))
+      date=${an_deb}_${an_fin}
+      #set +A liste_file_se ${liste_file_se[*]} ${file_path}${config_UserChoices_JobName}_${date}_${file}.nc
+      #set +A liste_file_se_tmp ${liste_file_se_tmp[*]} ${config_UserChoices_JobName}_${date}_${file}.nc
+      liste_file_se[${#liste_file_se[*]}]=${file_path}${config_UserChoices_JobName}_SE_${date}_${file}.nc
+      liste_file_se_tmp[${#liste_file_se_tmp[*]}]=${config_UserChoices_JobName}_SE_${date}_${file}.nc
+      (( an = an + freq ))
     done
+    #
+    IGCM_sys_Get /l liste_file_se[*] ${RUN_DIR_PATH}
+    IGCM_debug_Verif_Exit_Post
+    # Search of common list of variables to be treated
+    nbfile=0
+    for file_common_var in ${liste_file_se_tmp[*]} ; do
+      ncdump -h ${file_common_var} | grep -E 'float|double' | cut -f 1 -d '(' | cut -f 2 -d ' ' >> tmpfile_ncra
+      (( nbfile = nbfile + 1 ))
+    done
+    list_var_final_ncra=`cat tmpfile_ncra | sort | uniq -c | awk -v nbfile=$nbfile '{if ($1 == nbfile) {print $2}}' | paste -s -d ','`
+    IGCM_sys_Rm tmpfile_ncra
+
+    # detect time counter : time or time_counter ie unlimited variable
+    var_unlim=$(ncdump -h ${liste_file_se_tmp[1]}|grep UNLIMITED|awk '{print $1}')
+
+    for mois in  01 02 03 04 05 06 07 08 09 10 11 12 ; do
+      #
+      (( nb = ${mois} - 1 ))
+      #
+      OUT_SE[${nb}]=${config_UserChoices_JobName}_SE${mois}_${an_deb}_${an_fin}_${file}.nc
+      IGCM_sys_ncra -O -v ${list_var_final_ncra} -d ${var_unlim},${nb},,12 ${liste_file_se_tmp[*]} ${OUT_SE[${nb}]}
+    done
+    IGCM_sys_Rm ${liste_file_se_tmp[*]}
+    #
+
+    # Search of common list of variables to be treated
+    nbfile=0
+    for file_common_var in ${OUT_SE[*]} ; do
+      ncdump -h ${file_common_var} | grep -E 'float|double' | cut -f 1 -d '(' | cut -f 2 -d ' ' >> tmpfile_ncrcat
+      (( nbfile = nbfile + 1 ))
+    done
+    list_var_final_ncrcat=`cat tmpfile_ncrcat | sort | uniq -c | awk -v nbfile=$nbfile '{if ($1 == nbfile) {print $2}}' | paste -s -d ','`
+    IGCM_sys_Rm tmpfile_ncrcat
+
+    IGCM_sys_ncrcat -O -v ${list_var_final_ncrcat} ${OUT_SE[*]} ${RESULT_MULTI_SE}
+    #
+    IGCM_sys_Rm ${OUT_SE[*]}
+
+    # Put correct climatological axis following calendar 
+    case ${config_UserChoices_CalendarType} in
+      360d|360_day)
+      # 360 days
+        ncap2cmd="'defdim(\"tbnds\",2) ; ${var_unlim}[${var_unlim}]={15, 45, 75, 105, 135, 165, 195, 225, 255, 285, 315, 345.} ; ${var_unlim}_bnds[${var_unlim},tbnds]={0, 30, 30, 60, 60, 90, 90, 120, 120, 150, 150, 180, 180, 210, 210, 240, 240, 270, 270, 300, 300, 330, 330, 360.} ; ${var_unlim}@units=\"days since 0000-01-01 00:00:00\" ; ${var_unlim}@time_origin=\"01-JAN-0000 00:00:00\" ; ${var_unlim}@calendar=\"360_day\" ; ${var_unlim}@bounds=\"${var_unlim}_bnds\"'"
+        ;;
+      noleap|365_day)
+      # 365 days
+        ncap2cmd="'defdim(\"tbnds\",2) ; ${var_unlim}[${var_unlim}]={15.5, 45, 74.5, 105, 135.5, 166, 196.5, 227.5, 258, 288.5, 319, 349.5} ; ${var_unlim}_bnds[${var_unlim},tbnds]={0, 31, 31, 59, 59, 90, 90, 120, 120, 151, 151, 181, 181, 212, 212, 243, 243, 273, 273, 304, 304, 334, 334, 365.} ; ${var_unlim}@units=\"days since 0000-01-01 00:00:00\" ; ${var_unlim}@time_origin=\"01-JAN-0000 00:00:00\" ; ${var_unlim}@calendar=\"365_day\" ; ${var_unlim}@bounds=\"${var_unlim}_bnds\"'"
+        ;;
+      all_leap|366_day)
+      # 366 days
+        ncap2cmd="'defdim(\"tbnds\",2) ; ${var_unlim}[${var_unlim}]={15.5, 45.5, 75.5, 106, 136.5, 167, 197.5, 228.5, 259, 289.5, 320, 350.5} ; ${var_unlim}_bnds[${var_unlim},tbnds]={0, 31, 31, 60, 60, 91, 91, 121, 121, 152, 152, 182, 182, 213, 213, 244, 244, 274, 274, 305, 305, 335, 335, 366.} ; ${var_unlim}@units=\"days since 0000-01-01 00:00:00\" ; ${var_unlim}@time_origin=\"01-JAN-0000 00:00:00\" ; ${var_unlim}@calendar=\"366_day\" ; ${var_unlim}@bounds=\"${var_unlim}_bnds\"'"
+        ;;
+      leap|gregorian|standard)
+      # 365.2425 days
+        ncap2cmd="'defdim(\"tbnds\",2) ; ${var_unlim}[${var_unlim}]={15.5, 45.12125, 74.7425, 105.2425, 135.7425, 166.2425, 196.7425, 227.7425, 258.2425, 288.7425, 319.2425, 349.7425} ; ${var_unlim}_bnds[${var_unlim},tbnds]={0, 31, 31, 59.2425, 59.2425, 90.2425, 90.2425, 120.2425, 120.2425, 151.2425, 151.2425, 181.2425, 181.2425, 212.2425, 212.2425, 243.2425, 243.2425, 273.2425, 273.2425, 304.2425, 304.2425, 334.2425, 334.2425, 365.2425} ; ${var_unlim}@units=\"days since 0000-01-01 00:00:00\" ; ${var_unlim}@time_origin=\"01-JAN-0000 00:00:00\" ; ${var_unlim}@calendar=\"gregorian\" ; ${var_unlim}@bounds=\"${var_unlim}_bnds\"'"
+        ;;
+    esac
+    eval IGCM_sys_ncap2 -Oh -s $ncap2cmd ${RESULT_MULTI_SE} tmp.nc
+    IGCM_sys_Rm ${RESULT_MULTI_SE}
+    IGCM_sys_Mv tmp.nc ${RESULT_MULTI_SE}
+    #
+    eval IGCM_sys_Put_Out ${RESULT_MULTI_SE} \${R_OUT_${comp}}/Analyse/${DIR_OUT}/${RESULT_MULTI_SE}
+    IGCM_sys_Rm ${RESULT_MULTI_SE}
+    #
+  done
 done
 
 # DODS copy
 for comp in ${config_ListOfComponents[*]} ; do
-    IGCM_sys_TestDirArchive ${R_SAVE}/${comp}/Analyse/${DIR_OUT}
-    [ $? = 0 ] && IGCM_sys_Put_Dods ${comp}/Analyse/${DIR_OUT}
+  IGCM_sys_TestDirArchive ${R_SAVE}/${comp}/Analyse/${DIR_OUT}
+  [ $? = 0 ] && IGCM_sys_Put_Dods ${comp}/Analyse/${DIR_OUT}
 done
 
@@ -411,63 +411,63 @@
    [ ${config_UserChoices_TagName} = "IPSLCM4_v2" ]        || \
    [ ${config_UserChoices_TagName} = "IPSL_ESM_V1" ] ; then
-    #
-    Script_Post_Output=atlas_ORCHIDEE.${PeriodDateEnd} ;
-    IGCM_sys_QsubPost atlas_ORCHIDEE                   ;
-    Script_Post_Output=atlas_LDMZ.${PeriodDateEnd}     ;
-    IGCM_sys_QsubPost atlas_LMDZ                       ;
-    Script_Post_Output=atlas_ORCA_LIM.${PeriodDateEnd} ;
-    IGCM_sys_QsubPost atlas_ORCA_LIM                   ;
-    Script_Post_Output=additionnal.${PeriodDateEnd}    ;
-    IGCM_sys_QsubPost additionnal                      ;
-    #
+  #
+  Script_Post_Output=atlas_ORCHIDEE.${PeriodDateEnd} ;
+  IGCM_sys_QsubPost atlas_ORCHIDEE                   ;
+  Script_Post_Output=atlas_LDMZ.${PeriodDateEnd}     ;
+  IGCM_sys_QsubPost atlas_LMDZ                       ;
+  Script_Post_Output=atlas_ORCA_LIM.${PeriodDateEnd} ;
+  IGCM_sys_QsubPost atlas_ORCA_LIM                   ;
+  Script_Post_Output=additionnal.${PeriodDateEnd}    ;
+  IGCM_sys_QsubPost additionnal                      ;
+  #
 elif [ ${config_UserChoices_TagName} = "IPSLCM5" ]  || \
      [ ${config_UserChoices_TagName} = "IPSLCM5A" ] || \
      [ ${config_UserChoices_TagName} = "IPSLCM5B" ] || \
      [ ${config_UserChoices_TagName} = "IPSLCM5A-MR" ] ; then
-    Script_Post_Output=atlas_ORCHIDEE.${PeriodDateEnd} ;
-    IGCM_sys_QsubPost atlas_ORCHIDEE                   ;
-    Script_Post_Output=atlas_LDMZ.${PeriodDateEnd}     ;
-    IGCM_sys_QsubPost atlas_LMDZ                       ;
-    Script_Post_Output=atlas_ORCA_LIM.${PeriodDateEnd} ;
-    IGCM_sys_QsubPost atlas_ORCA_LIM                   ;
-    Script_Post_Output=atlas_PISCES.${PeriodDateEnd}   ;
-    IGCM_sys_QsubPost atlas_PISCES                     ;
-    #
+  Script_Post_Output=atlas_ORCHIDEE.${PeriodDateEnd} ;
+  IGCM_sys_QsubPost atlas_ORCHIDEE                   ;
+  Script_Post_Output=atlas_LDMZ.${PeriodDateEnd}     ;
+  IGCM_sys_QsubPost atlas_LMDZ                       ;
+  Script_Post_Output=atlas_ORCA_LIM.${PeriodDateEnd} ;
+  IGCM_sys_QsubPost atlas_ORCA_LIM                   ;
+  Script_Post_Output=atlas_PISCES.${PeriodDateEnd}   ;
+  IGCM_sys_QsubPost atlas_PISCES                     ;
+  #
 elif [ ${config_UserChoices_TagName} = "LMDZ4OR" ]  || \
      [ ${config_UserChoices_TagName} = "LMDZOR" ]   || \
      [ ${config_UserChoices_TagName} = "LMDZ4OR_v2" ] ; then
-    #
-    Script_Post_Output=atlas_LDMZ.${PeriodDateEnd}     ;
-    IGCM_sys_QsubPost atlas_LMDZ                       ;
-    Script_Post_Output=atlas_ORCHIDEE.${PeriodDateEnd} ;
-    IGCM_sys_QsubPost atlas_ORCHIDEE                   ;
-    #
+  #
+  Script_Post_Output=atlas_LDMZ.${PeriodDateEnd}     ;
+  IGCM_sys_QsubPost atlas_LMDZ                       ;
+  Script_Post_Output=atlas_ORCHIDEE.${PeriodDateEnd} ;
+  IGCM_sys_QsubPost atlas_ORCHIDEE                   ;
+  #
 elif [ ${config_UserChoices_TagName} = "LMDZ" ] ; then
-    #
-    Script_Post_Output=atlas_LDMZ.${PeriodDateEnd}     ;
-    IGCM_sys_QsubPost atlas_LMDZ                       ;
-    #
+  #
+  Script_Post_Output=atlas_LDMZ.${PeriodDateEnd}     ;
+  IGCM_sys_QsubPost atlas_LMDZ                       ;
+  #
 elif [ ${config_UserChoices_TagName} = "OL" ]      || \
      [ ${config_UserChoices_TagName} = "OL2" ] ; then
-    #
-    Script_Post_Output=atlas_ORCHIDEE.${PeriodDateEnd} ;
-    IGCM_sys_QsubPost atlas_ORCHIDEE                   ;
-    #
+  #
+  Script_Post_Output=atlas_ORCHIDEE.${PeriodDateEnd} ;
+  IGCM_sys_QsubPost atlas_ORCHIDEE                   ;
+  #
 elif [ ${config_UserChoices_TagName} = "ORCA2_LIM" ]       ||
      [ ${config_UserChoices_TagName} = "ORCA2_LIM2" ] ; then
-    #
-    Script_Post_Output=atlas_ORCA_LIM.${PeriodDateEnd} ;
-    IGCM_sys_QsubPost atlas_ORCA_LIM                   ;
+  #
+  Script_Post_Output=atlas_ORCA_LIM.${PeriodDateEnd} ;
+  IGCM_sys_QsubPost atlas_ORCA_LIM                   ;
 elif [ ${config_UserChoices_TagName} = "ORCA2_LIM2_PISCES" ]  ; then
-    #
-    Script_Post_Output=atlas_ORCA_LIM.${PeriodDateEnd} ;
-    IGCM_sys_QsubPost atlas_ORCA_LIM                   ;
-    Script_Post_Output=atlas_PISCES.${PeriodDateEnd}   ;
-    IGCM_sys_QsubPost atlas_PISCES                     ;
+  #
+  Script_Post_Output=atlas_ORCA_LIM.${PeriodDateEnd} ;
+  IGCM_sys_QsubPost atlas_ORCA_LIM                   ;
+  Script_Post_Output=atlas_PISCES.${PeriodDateEnd}   ;
+  IGCM_sys_QsubPost atlas_PISCES                     ;
 elif [ ${config_UserChoices_TagName} = "ORCA2_OFF_PISCES" ]  ; then
-    #
-    Script_Post_Output=atlas_PISCES.${PeriodDateEnd}   ;
-    IGCM_sys_QsubPost atlas_PISCES                     ;
-    #
+  #
+  Script_Post_Output=atlas_PISCES.${PeriodDateEnd}   ;
+  IGCM_sys_QsubPost atlas_PISCES                     ;
+  #
 fi
 
Index: trunk/libIGCM/AA_create_se
===================================================================
--- trunk/libIGCM/AA_create_se	(revision 784)
+++ trunk/libIGCM/AA_create_se	(revision 785)
@@ -217,341 +217,341 @@
 #
 for comp in ${config_ListOfComponents[*]} ; do
-    #
-    IGCM_card_DefineArrayFromOption ${CARD_DIR}/config.card ListOfComponents ${comp}
-    eval compname=\${config_ListOfComponents_${comp}[0]} > /dev/null 2>&1
-    #
-    card=${CARD_DIR}/COMP/${compname}.card
-    IGCM_card_DefineArrayFromOption ${card} OutputFiles List
-    #
-    ListFilesName=${compname}_OutputFiles_List
-    eval FileName0=\${${ListFilesName}[0]} > /dev/null 2>&1
-    #
-    if [ X${FileName0} != X${NULL_STR} ] ; then
-	#
-	# INITIALISATION
-	#
-	eval NbFiles=\${#${ListFilesName}[@]} > /dev/null 2>&1
-	typeset i=2
-	#
-	until [ $i -gt $NbFiles ]; do
-	    #
-	    eval flag_post=\${${ListFilesName}[$i]} > /dev/null 2>&1
-	    #
-	    if [ X${flag_post} != XNONE ] ; then
-		#
-		# Check if seasonal is required for this file
-		#
-		IGCM_card_DefineArrayFromSection ${card} ${flag_post}
-		#
-		# Seasonal case : If option Seasonal is not found (old cards) put SEASONAL ON by default
-		#
-		# variable option allready typeset above
-		for option in $( eval echo \${${compname}_${flag_post}[*]} ) ; do
-		    if [ ${option} = Seasonal ] ; then
-			FoundSeasonal=true
-			IGCM_card_DefineVariableFromOption ${card} ${flag_post} Seasonal
-		    fi
-		done
-		#
-		if [ ! X${FoundSeasonal} = Xtrue ] ; then
-		    eval ${compname}_${flag_post}_Seasonal=ON
-		fi
-		#
-		if [ ! X$( eval echo \${${compname}_${flag_post}_Seasonal} ) = XON ] ; then
-		    (( i=i+3 ))
-		    continue
-		fi
-		#
-	        # CREATE LIST
-	        #
-		FILE=$( echo ${flag_post} | awk "-FPost_" '{print $2}' )
-		#
-		DIRECTORY=${R_SAVE}/${comp}/Analyse/SE
-	        #
-		TestedFile=${config_UserChoices_JobName}_SE_${an_deb}_${an_fin}_${FILE}.nc
-	        #
-		IGCM_sys_TestFileArchive ${DIRECTORY}/${TestedFile}
-		if [ ! $? = 0 ] ; then
-		    eval set +A LISTE_FILE_${comp} \$\{LISTE_FILE_${comp}[*]} ${FILE}
-		    if [ ! ${RebuildFrequency} = true ] ; then
-			IGCM_card_DefineArrayFromOption ${card} Post_${FILE} Patches
-			eval set +A LISTE_PATCHES_${FILE} \$\{${compname}_Post_${FILE}_Patches[*]}
-			if [ X$( eval echo \${LISTE_PATCHES_${FILE}[0]} ) !=  X${NULL_STR} ]; then
-			    for Patch in $( eval echo \${LISTE_PATCHES_${FILE}[*]} ); do
-				if [ Xload${Patch} != X ] ; then
-				    . ${libIGCM}/libIGCM_post/IGCM_${Patch}.ksh
-				    eval load${Patch}=loaded
-				fi
-			    done
-			fi
-		    fi
-		fi
-	    fi
-	    (( i=i+3 ))
-	done # until [ $i -eq $NbFiles ]
+  #
+  IGCM_card_DefineArrayFromOption ${CARD_DIR}/config.card ListOfComponents ${comp}
+  eval compname=\${config_ListOfComponents_${comp}[0]} > /dev/null 2>&1
+  #
+  card=${CARD_DIR}/COMP/${compname}.card
+  IGCM_card_DefineArrayFromOption ${card} OutputFiles List
+  #
+  ListFilesName=${compname}_OutputFiles_List
+  eval FileName0=\${${ListFilesName}[0]} > /dev/null 2>&1
+  #
+  if [ X${FileName0} != X${NULL_STR} ] ; then
+    #
+    # INITIALISATION
+    #
+    eval NbFiles=\${#${ListFilesName}[@]} > /dev/null 2>&1
+    typeset i=2
+    #
+    until [ $i -gt $NbFiles ]; do
+      #
+      eval flag_post=\${${ListFilesName}[$i]} > /dev/null 2>&1
+      #
+      if [ X${flag_post} != XNONE ] ; then
+        #
+        # Check if seasonal is required for this file
+        #
+        IGCM_card_DefineArrayFromSection ${card} ${flag_post}
+        #
+        # Seasonal case : If option Seasonal is not found (old cards) put SEASONAL ON by default
+        #
+        # variable option allready typeset above
+        for option in $( eval echo \${${compname}_${flag_post}[*]} ) ; do
+          if [ ${option} = Seasonal ] ; then
+            FoundSeasonal=true
+            IGCM_card_DefineVariableFromOption ${card} ${flag_post} Seasonal
+          fi
+        done
+        #
+        if [ ! X${FoundSeasonal} = Xtrue ] ; then
+            eval ${compname}_${flag_post}_Seasonal=ON
+        fi
+        #
+        if [ ! X$( eval echo \${${compname}_${flag_post}_Seasonal} ) = XON ] ; then
+          (( i=i+3 ))
+          continue
+        fi
+        #
+        # CREATE LIST
+        #
+        FILE=$( echo ${flag_post} | awk "-FPost_" '{print $2}' )
+        #
+        DIRECTORY=${R_SAVE}/${comp}/Analyse/SE
+        #
+        TestedFile=${config_UserChoices_JobName}_SE_${an_deb}_${an_fin}_${FILE}.nc
+        #
+        IGCM_sys_TestFileArchive ${DIRECTORY}/${TestedFile}
+        if [ ! $? = 0 ] ; then
+          eval set +A LISTE_FILE_${comp} \$\{LISTE_FILE_${comp}[*]} ${FILE}
+          if [ ! ${RebuildFrequency} = true ] ; then
+            IGCM_card_DefineArrayFromOption ${card} Post_${FILE} Patches
+            eval set +A LISTE_PATCHES_${FILE} \$\{${compname}_Post_${FILE}_Patches[*]}
+            if [ X$( eval echo \${LISTE_PATCHES_${FILE}[0]} ) !=  X${NULL_STR} ]; then
+              for Patch in $( eval echo \${LISTE_PATCHES_${FILE}[*]} ); do
+                if [ Xload${Patch} != X ] ; then
+                  . ${libIGCM}/libIGCM_post/IGCM_${Patch}.ksh
+                  eval load${Patch}=loaded
+                fi
+              done
+            fi
+          fi
+        fi
+      fi
+      (( i=i+3 ))
+    done # until [ $i -eq $NbFiles ]
+  fi
+done         # for comp
+
+for comp in ${config_ListOfComponents[*]} ; do
+  #
+  eval R_OUT_${comp}=${R_SAVE}/${comp}
+  #
+  i=0
+  for file in $( eval echo \${LISTE_FILE_${comp}[*]} ); do
+    #
+    # Determine in which output can we find file
+    # IE : Output/MO or Output/DA or ...
+    #
+    FlagDir=$( echo ${file} | awk -F "_" '{print $1}' )
+    case ${FlagDir} in
+      1Y)    FreqDir=YE  ;;
+      1M)    FreqDir=MO  ;;
+      5D|1D) FreqDir=DA  ;;
+      HF)    FreqDir=HF  ;;
+      3H)    FreqDir=HF  ;;
+      INS)   FreqDir=INS ;;
+    esac
+    #
+    RESULT_SE=${config_UserChoices_JobName}_SE_${an_deb}_${an_fin}_${file}.nc
+    # Do not redoo an existing SE
+    IGCM_sys_TestFileArchive ${R_SAVE}/${comp}/Analyse/SE/${RESULT_SE}
+    if [ $? = 0 ] ; then
+      continue
     fi
-done         # for comp
-
-for comp in ${config_ListOfComponents[*]} ; do
-    #
-    eval R_OUT_${comp}=${R_SAVE}/${comp}
-    #
-    i=0
-    for file in $( eval echo \${LISTE_FILE_${comp}[*]} ); do
-	#
-	# Determine in which output can we find file
-	# IE : Output/MO or Output/DA or ...
-	#
-	FlagDir=$( echo ${file} | awk -F "_" '{print $1}' )
-	case ${FlagDir} in
-	    1Y)    FreqDir=YE  ;;
-       	    1M)    FreqDir=MO  ;;
-	    5D|1D) FreqDir=DA  ;;
-	    HF)    FreqDir=HF  ;;
-	    3H)    FreqDir=HF  ;;
-	    INS)   FreqDir=INS ;;
-        esac
-	#
-	RESULT_SE=${config_UserChoices_JobName}_SE_${an_deb}_${an_fin}_${file}.nc
-	# Do not redoo an existing SE
-	IGCM_sys_TestFileArchive ${R_SAVE}/${comp}/Analyse/SE/${RESULT_SE}
-	if [ $? = 0 ] ; then
-	    continue
-	fi
-	#
-	eval file_path=\${R_OUT_${comp}}/Output/${FreqDir}/
-	#
-	case ${config_UserChoices_PeriodLength} in
-	# For Yearly simulation :
-	1Y|1y)
-	  (( an = an_deb ))
-          # Initialize array
-	  #set -A liste_file_se
-	  #set -A liste_file_se_tmp
-	  unset liste_file_se
-	  unset liste_file_se_tmp
-	  while [ ${an} -le ${an_fin} ] ; do
-	      moisL=$( IGCM_date_DaysInMonth ${an} ${mois} )
-	      #
-	      an4=$(printf "%04i\n" ${an} )
-	      #
-	      diy=$( IGCM_date_DaysInYear $an4 )
-	      afin=$( IGCM_date_AddDaysToGregorianDate ${an4}0101 $(( diy - 1 )) )
-	      date=${an4}0101_${afin}
-	      #set +A liste_file_se ${liste_file_se[*]} ${file_path}${config_UserChoices_JobName}_${date}_${file}.nc
-	      #set +A liste_file_se_tmp ${liste_file_se_tmp[*]} ${config_UserChoices_JobName}_${date}_${file}.nc
-	      liste_file_se[${#liste_file_se[*]}]=${file_path}${config_UserChoices_JobName}_${date}_${file}.nc
-	      liste_file_se_tmp[${#liste_file_se_tmp[*]}]=${config_UserChoices_JobName}_${date}_${file}.nc
-	      (( an = an + 1 ))
-	  done
-	  #
-	  IGCM_sys_Get /l liste_file_se[*] ${RUN_DIR_PATH}
-	  IGCM_debug_Verif_Exit_Post
-	  
-	  # Apply IGCM_Patch if needed
-	  if [ ! ${RebuildFrequency} = true ] ; then
-	      if [ X$( eval echo \${LISTE_PATCHES_${file}[0]} ) !=  X${NULL_STR} ]; then
-		  for file_t in $( eval echo ${liste_file_se_tmp[*]} ); do
-		      for Patch in $( eval echo \${LISTE_PATCHES_${file}[*]} ); do
-			  IGCM_${Patch} ${file_t}
-		      done
-		  done
-	      fi
-	  fi
-	      	      
-	  # Search of common list of variables to be treated
-	  nbfile=0
-	  for file_common_var in ${liste_file_se_tmp[*]} ; do
-	      ncdump -h ${file_common_var} | grep -E 'float|double' | cut -f 1 -d '(' | cut -f 2 -d ' ' >> tmpfile_ncra
-	      (( nbfile = nbfile + 1 ))
-	  done
-	  list_var_final_ncra=`cat tmpfile_ncra | sort | uniq -c | awk -v nbfile=$nbfile '{if ($1 == nbfile) {print $2}}' | paste -s -d ','`
-	  IGCM_sys_Rm tmpfile_ncra
-
-	  # detect time counter : time or time_counter ie unlimited variable
-          var_unlim=$(ncdump -h ${liste_file_se_tmp[1]}|grep UNLIMITED|awk '{print $1}')
-
-	  for mois in  01 02 03 04 05 06 07 08 09 10 11 12 ; do
-	  #
-	      (( nb = ${mois} - 1 ))
-	  #
-	      OUT_SE[${nb}]=${config_UserChoices_JobName}_SE${mois}_${an_deb}_${an_fin}_${file}.nc
-	      IGCM_sys_ncra -O -v ${list_var_final_ncra} -d ${var_unlim},${nb},,12 ${liste_file_se_tmp[*]} ${OUT_SE[${nb}]}
-	  done
-	  IGCM_sys_Rm ${liste_file_se_tmp[*]}
-	  ;;
-	# For Monthly simulation :
-	1M|1m)
-	  for mois in  01 02 03 04 05 06 07 08 09 10 11 12 ; do
-	      #
-	      (( nb = ${mois} - 1 ))
-	      #
-	      OUT_SE[${nb}]=${config_UserChoices_JobName}_SE${mois}_${an_deb}_${an_fin}_${file}.nc
-	      #
-	      (( an = an_deb ))
-	      # Initialize array
-	      #set -A liste_file_se
-	      #set -A liste_file_se_tmp
-	      unset liste_file_se
-	      unset liste_file_se_tmp
-	      while [ ${an} -le ${an_fin} ] ; do
-		  moisL=$( IGCM_date_DaysInMonth ${an} ${mois} )
-		  #
-		  an4=$(printf "%04i\n" ${an} )
-	          #
-		  date=${an4}${mois}01_${an4}${mois}${moisL}
-		  #set +A liste_file_se ${liste_file_se[*]} ${file_path}${config_UserChoices_JobName}_${date}_${file}.nc
-		  #set +A liste_file_se_tmp ${liste_file_se_tmp[*]} ${config_UserChoices_JobName}_${date}_${file}.nc
-		  liste_file_se[${#liste_file_se[*]}]=${file_path}${config_UserChoices_JobName}_${date}_${file}.nc
-		  liste_file_se_tmp[${#liste_file_se_tmp[*]}]=${config_UserChoices_JobName}_${date}_${file}.nc
-
-		  (( an = an + 1 ))
-	      done
-	      #
-	      IGCM_sys_Get /l liste_file_se[*] ${RUN_DIR_PATH}
-	      IGCM_debug_Verif_Exit_Post
-	      
-	      # Apply IGCM_Patch if needed
-	      if [ ! ${RebuildFrequency} = true ] ; then
-		  if [ X$( eval echo \${LISTE_PATCHES_${file}[0]} ) !=  X${NULL_STR} ]; then
-		      for file_t in $( eval echo ${liste_file_se_tmp[*]} ); do
-			  for Patch in $( eval echo \${LISTE_PATCHES_${file}[*]} ); do
-			      IGCM_${Patch} ${file_t}
-			  done
-		      done
-		  fi
-	      fi
-	      
-	      # Search of common list of variables to be treated
-              nbfile=0
-	      for file_common_var in ${liste_file_se_tmp[*]} ; do
-                  ncdump -h ${file_common_var} | grep -E 'float|double' | cut -f 1 -d '(' | cut -f 2 -d ' ' >> tmpfile_ncra
-                  (( nbfile = nbfile + 1 ))
-	      done
-              list_var_final_ncra=`cat tmpfile_ncra | sort | uniq -c | awk -v nbfile=$nbfile '{if ($1 == nbfile) {print $2}}' | paste -s -d ','`
-	      IGCM_sys_Rm tmpfile_ncra
-
-	      IGCM_sys_ncra -O -v ${list_var_final_ncra} ${liste_file_se_tmp[*]} ${OUT_SE[${nb}]}
-
-	      IGCM_sys_Rm ${liste_file_se_tmp[*]}
-	  done
-	  ;;
-	*D|*d)
-	  for mois in  01 02 03 04 05 06 07 08 09 10 11 12 ; do
-	      #
-	      (( nb = ${mois} - 1 ))
-	      #
-	      OUT_SE[${nb}]=${config_UserChoices_JobName}_SE${mois}_${an_deb}_${an_fin}_${file}.nc
-	      #
-	      (( an = an_deb ))
-	      # Initialize array
-	      #set -A liste_file_se
-	      #set -A liste_file_se_tmp
-	      unset liste_file_se
-	      unset liste_file_se_tmp
-	      while [ ${an} -le ${an_fin} ] ; do
-		  moisL=$( IGCM_date_DaysInMonth ${an} ${mois} )
-		  #
-		  an4=$(printf "%04i\n" ${an} )
-	          #
-		  length_d=$(( ${config_UserChoices_PeriodLength} - 1 ))
-		  # for one day
-		  if [ ${length_d} -eq 1 ] ; then
-		      (( length_d = 0 ))
-		  fi
-		  (( day  = 1 ))
-		  while [ ${day} -le ${moisL} ] ; do
-		      day2=$(printf "%02i\n" ${day} )
-		      day_beg=${an4}${mois}${day2}
-		      day_end=$( IGCM_date_AddDaysToGregorianDate ${day_beg} ${length_d} )
-		      date=${an4}${mois}${day_beg}_${an4}${mois}${day_end}
-		      #set +A liste_file_se ${liste_file_se[*]} ${file_path}${config_UserChoices_JobName}_${date}_${file}.nc
-		      #set +A liste_file_se_tmp ${liste_file_se_tmp[*]} ${config_UserChoices_JobName}_${date}_${file}.nc
-		      liste_file_se[${#liste_file_se[*]}]=${file_path}${config_UserChoices_JobName}_${date}_${file}.nc
-		      liste_file_se_tmp[${#liste_file_se_tmp[*]}]=${config_UserChoices_JobName}_${date}_${file}.nc
-		      (( day = day + 1 ))
-		  done
-		  (( an = an + 1 ))
-	      done
-	      #
-	      IGCM_sys_Get /l liste_file_se[*] ${RUN_DIR_PATH}
-	      IGCM_debug_Verif_Exit_Post
-	      
-	      # Apply IGCM_Patch if needed
-	      if [ ! ${RebuildFrequency} = true ] ; then
-		  if [ X$( eval echo \${LISTE_PATCHES_${file}[0]} ) !=  X${NULL_STR} ]; then
-		      for file_t in $( eval echo ${liste_file_se_tmp[*]} ); do
-			  for Patch in $( eval echo \${LISTE_PATCHES_${file}[*]} ); do
-			      IGCM_${Patch} ${file_t}
-			  done
-		      done
-		  fi
-	      fi
-
-              # Search of common list of variables to be treated
-              nbfile=0
-	      for file_common_var in ${liste_file_se_tmp[*]} ; do
-                  ncdump -h ${file_common_var} | grep -E 'float|double' | cut -f 1 -d '(' | cut -f 2 -d ' ' >> tmpfile_ncra
-                  (( nbfile = nbfile + 1 ))
-	      done
-              list_var_final_ncra=`cat tmpfile_ncra | sort | uniq -c | awk -v nbfile=$nbfile '{if ($1 == nbfile) {print $2}}' | paste -s -d ','`
-	      IGCM_sys_Rm tmpfile_ncra
-
-	      IGCM_sys_ncra -O -v ${list_var_final_ncra} ${liste_file_se_tmp[*]} ${OUT_SE[${nb}]}
-	      IGCM_sys_Rm ${liste_file_se_tmp[*]}
-	  done
-	  ;;
-        esac
-	#
+    #
+    eval file_path=\${R_OUT_${comp}}/Output/${FreqDir}/
+    #
+    case ${config_UserChoices_PeriodLength} in
+      # For Yearly simulation :
+      1Y|1y)
+        (( an = an_deb ))
+        # Initialize array
+        #set -A liste_file_se
+        #set -A liste_file_se_tmp
+        unset liste_file_se
+        unset liste_file_se_tmp
+        while [ ${an} -le ${an_fin} ] ; do
+          moisL=$( IGCM_date_DaysInMonth ${an} ${mois} )
+          #
+          an4=$(printf "%04i\n" ${an} )
+          #
+          diy=$( IGCM_date_DaysInYear $an4 )
+          afin=$( IGCM_date_AddDaysToGregorianDate ${an4}0101 $(( diy - 1 )) )
+          date=${an4}0101_${afin}
+          #set +A liste_file_se ${liste_file_se[*]} ${file_path}${config_UserChoices_JobName}_${date}_${file}.nc
+          #set +A liste_file_se_tmp ${liste_file_se_tmp[*]} ${config_UserChoices_JobName}_${date}_${file}.nc
+          liste_file_se[${#liste_file_se[*]}]=${file_path}${config_UserChoices_JobName}_${date}_${file}.nc
+          liste_file_se_tmp[${#liste_file_se_tmp[*]}]=${config_UserChoices_JobName}_${date}_${file}.nc
+          (( an = an + 1 ))
+        done
+        #
+        IGCM_sys_Get /l liste_file_se[*] ${RUN_DIR_PATH}
+        IGCM_debug_Verif_Exit_Post
+
+        # Apply IGCM_Patch if needed
+        if [ ! ${RebuildFrequency} = true ] ; then
+          if [ X$( eval echo \${LISTE_PATCHES_${file}[0]} ) !=  X${NULL_STR} ]; then
+            for file_t in $( eval echo ${liste_file_se_tmp[*]} ); do
+              for Patch in $( eval echo \${LISTE_PATCHES_${file}[*]} ); do
+                IGCM_${Patch} ${file_t}
+              done
+            done
+          fi
+        fi
 
         # Search of common list of variables to be treated
         nbfile=0
-        for file_common_var in ${OUT_SE[*]} ; do
-           ncdump -h ${file_common_var} | grep -E 'float|double' | cut -f 1 -d '(' | cut -f 2 -d ' ' >> tmpfile_ncrcat
-           (( nbfile = nbfile + 1 ))
+        for file_common_var in ${liste_file_se_tmp[*]} ; do
+          ncdump -h ${file_common_var} | grep -E 'float|double' | cut -f 1 -d '(' | cut -f 2 -d ' ' >> tmpfile_ncra
+          (( nbfile = nbfile + 1 ))
         done
-        list_var_final_ncrcat=`cat tmpfile_ncrcat | sort | uniq -c | awk -v nbfile=$nbfile '{if ($1 == nbfile) {print $2}}' | paste -s -d ','`
-        IGCM_sys_Rm tmpfile_ncrcat
-
-	IGCM_sys_ncrcat -O -v ${list_var_final_ncrcat} ${OUT_SE[*]} ${RESULT_SE}
-	#
-	IGCM_sys_Rm ${OUT_SE[*]}
-	#
-	# detect time counter : time or time_counter ie unlimited variable
-        var_unlim=$(ncdump -h ${RESULT_SE}|grep UNLIMITED| cut -d ' ' -f 1)
-
-	# Put correct climatological axis following calendar 
-	case ${config_UserChoices_CalendarType} in
-		360d|360_day)
-			# 360 days
-			ncap2cmd="'defdim(\"tbnds\",2) ; ${var_unlim}[${var_unlim}]={15, 45, 75, 105, 135, 165, 195, 225, 255, 285, 315, 345.} ; ${var_unlim}_bnds[${var_unlim},tbnds]={0, 30, 30, 60, 60, 90, 90, 120, 120, 150, 150, 180, 180, 210, 210, 240, 240, 270, 270, 300, 300, 330, 330, 360.} ; ${var_unlim}@units=\"days since 0000-01-01 00:00:00\" ; ${var_unlim}@time_origin=\"01-JAN-0000 00:00:00\" ; ${var_unlim}@calendar=\"360_day\" ; ${var_unlim}@bounds=\"${var_unlim}_bnds\"'"
-			;;
-      		noleap|365_day)
-			# 365 days
-			ncap2cmd="'defdim(\"tbnds\",2) ; ${var_unlim}[${var_unlim}]={15.5, 45, 74.5, 105, 135.5, 166, 196.5, 227.5, 258, 288.5, 319, 349.5} ; ${var_unlim}_bnds[${var_unlim},tbnds]={0, 31, 31, 59, 59, 90, 90, 120, 120, 151, 151, 181, 181, 212, 212, 243, 243, 273, 273, 304, 304, 334, 334, 365.} ; ${var_unlim}@units=\"days since 0000-01-01 00:00:00\" ; ${var_unlim}@time_origin=\"01-JAN-0000 00:00:00\" ; ${var_unlim}@calendar=\"365_day\" ; ${var_unlim}@bounds=\"${var_unlim}_bnds\"'"
-			;;
-		all_leap|366_day)
-			# 366 days
-			ncap2cmd="'defdim(\"tbnds\",2) ; ${var_unlim}[${var_unlim}]={15.5, 45.5, 75.5, 106, 136.5, 167, 197.5, 228.5, 259, 289.5, 320, 350.5} ; ${var_unlim}_bnds[${var_unlim},tbnds]={0, 31, 31, 60, 60, 91, 91, 121, 121, 152, 152, 182, 182, 213, 213, 244, 244, 274, 274, 305, 305, 335, 335, 366.} ; ${var_unlim}@units=\"days since 0000-01-01 00:00:00\" ; ${var_unlim}@time_origin=\"01-JAN-0000 00:00:00\" ; ${var_unlim}@calendar=\"366_day\" ; ${var_unlim}@bounds=\"${var_unlim}_bnds\"'"
-			;;
-		leap|gregorian|standard)
-			# 365.2425 days
-			ncap2cmd="'defdim(\"tbnds\",2) ; ${var_unlim}[${var_unlim}]={15.5, 45.12125, 74.7425, 105.2425, 135.7425, 166.2425, 196.7425, 227.7425, 258.2425, 288.7425, 319.2425, 349.7425} ; ${var_unlim}_bnds[${var_unlim},tbnds]={0, 31, 31, 59.2425, 59.2425, 90.2425, 90.2425, 120.2425, 120.2425, 151.2425, 151.2425, 181.2425, 181.2425, 212.2425, 212.2425, 243.2425, 243.2425, 273.2425, 273.2425, 304.2425, 304.2425, 334.2425, 334.2425, 365.2425} ; ${var_unlim}@units=\"days since 0000-01-01 00:00:00\" ; ${var_unlim}@time_origin=\"01-JAN-0000 00:00:00\" ; ${var_unlim}@calendar=\"gregorian\" ; ${var_unlim}@bounds=\"${var_unlim}_bnds\"'"
-			;;
-	esac
-	eval IGCM_sys_ncap2 -Oh -s $ncap2cmd ${RESULT_SE} tmp.nc
-	IGCM_sys_Rm ${RESULT_SE}
-	IGCM_sys_Mv tmp.nc ${RESULT_SE}
-	#
-	eval IGCM_sys_Put_Out ${RESULT_SE} \${R_OUT_${comp}}/Analyse/SE/${RESULT_SE}
-	IGCM_sys_Rm ${RESULT_SE}
-	#
-    done
+        list_var_final_ncra=`cat tmpfile_ncra | sort | uniq -c | awk -v nbfile=$nbfile '{if ($1 == nbfile) {print $2}}' | paste -s -d ','`
+        IGCM_sys_Rm tmpfile_ncra
+
+        # detect time counter : time or time_counter ie unlimited variable
+        var_unlim=$(ncdump -h ${liste_file_se_tmp[1]}|grep UNLIMITED|awk '{print $1}')
+
+        for mois in  01 02 03 04 05 06 07 08 09 10 11 12 ; do
+          #
+          (( nb = ${mois} - 1 ))
+          #
+          OUT_SE[${nb}]=${config_UserChoices_JobName}_SE${mois}_${an_deb}_${an_fin}_${file}.nc
+          IGCM_sys_ncra -O -v ${list_var_final_ncra} -d ${var_unlim},${nb},,12 ${liste_file_se_tmp[*]} ${OUT_SE[${nb}]}
+        done
+        IGCM_sys_Rm ${liste_file_se_tmp[*]}
+        ;;
+      # For Monthly simulation :
+      1M|1m)
+        for mois in 01 02 03 04 05 06 07 08 09 10 11 12 ; do
+          #
+          (( nb = ${mois} - 1 ))
+          #
+          OUT_SE[${nb}]=${config_UserChoices_JobName}_SE${mois}_${an_deb}_${an_fin}_${file}.nc
+          #
+          (( an = an_deb ))
+          # Initialize array
+          #set -A liste_file_se
+          #set -A liste_file_se_tmp
+          unset liste_file_se
+          unset liste_file_se_tmp
+          while [ ${an} -le ${an_fin} ] ; do
+            moisL=$( IGCM_date_DaysInMonth ${an} ${mois} )
+            #
+            an4=$(printf "%04i\n" ${an} )
+            #
+            date=${an4}${mois}01_${an4}${mois}${moisL}
+            #set +A liste_file_se ${liste_file_se[*]} ${file_path}${config_UserChoices_JobName}_${date}_${file}.nc
+            #set +A liste_file_se_tmp ${liste_file_se_tmp[*]} ${config_UserChoices_JobName}_${date}_${file}.nc
+            liste_file_se[${#liste_file_se[*]}]=${file_path}${config_UserChoices_JobName}_${date}_${file}.nc
+            liste_file_se_tmp[${#liste_file_se_tmp[*]}]=${config_UserChoices_JobName}_${date}_${file}.nc
+
+            (( an = an + 1 ))
+          done
+          #
+          IGCM_sys_Get /l liste_file_se[*] ${RUN_DIR_PATH}
+          IGCM_debug_Verif_Exit_Post
+
+          # Apply IGCM_Patch if needed
+          if [ ! ${RebuildFrequency} = true ] ; then
+            if [ X$( eval echo \${LISTE_PATCHES_${file}[0]} ) !=  X${NULL_STR} ]; then
+              for file_t in $( eval echo ${liste_file_se_tmp[*]} ); do
+                for Patch in $( eval echo \${LISTE_PATCHES_${file}[*]} ); do
+                  IGCM_${Patch} ${file_t}
+                done
+              done
+            fi
+          fi
+
+          # Search of common list of variables to be treated
+          nbfile=0
+          for file_common_var in ${liste_file_se_tmp[*]} ; do
+            ncdump -h ${file_common_var} | grep -E 'float|double' | cut -f 1 -d '(' | cut -f 2 -d ' ' >> tmpfile_ncra
+            (( nbfile = nbfile + 1 ))
+          done
+            list_var_final_ncra=`cat tmpfile_ncra | sort | uniq -c | awk -v nbfile=$nbfile '{if ($1 == nbfile) {print $2}}' | paste -s -d ','`
+          IGCM_sys_Rm tmpfile_ncra
+
+          IGCM_sys_ncra -O -v ${list_var_final_ncra} ${liste_file_se_tmp[*]} ${OUT_SE[${nb}]}
+
+          IGCM_sys_Rm ${liste_file_se_tmp[*]}
+        done
+        ;;
+      *D|*d)
+        for mois in 01 02 03 04 05 06 07 08 09 10 11 12 ; do
+          #
+          (( nb = ${mois} - 1 ))
+          #
+          OUT_SE[${nb}]=${config_UserChoices_JobName}_SE${mois}_${an_deb}_${an_fin}_${file}.nc
+          #
+          (( an = an_deb ))
+          # Initialize array
+          #set -A liste_file_se
+          #set -A liste_file_se_tmp
+          unset liste_file_se
+          unset liste_file_se_tmp
+          while [ ${an} -le ${an_fin} ] ; do
+            moisL=$( IGCM_date_DaysInMonth ${an} ${mois} )
+            #
+            an4=$(printf "%04i\n" ${an} )
+              #
+            length_d=$(( ${config_UserChoices_PeriodLength} - 1 ))
+            # for one day
+            if [ ${length_d} -eq 1 ] ; then
+              (( length_d = 0 ))
+            fi
+            (( day  = 1 ))
+            while [ ${day} -le ${moisL} ] ; do
+              day2=$(printf "%02i\n" ${day} )
+              day_beg=${an4}${mois}${day2}
+              day_end=$( IGCM_date_AddDaysToGregorianDate ${day_beg} ${length_d} )
+              date=${an4}${mois}${day_beg}_${an4}${mois}${day_end}
+              #set +A liste_file_se ${liste_file_se[*]} ${file_path}${config_UserChoices_JobName}_${date}_${file}.nc
+              #set +A liste_file_se_tmp ${liste_file_se_tmp[*]} ${config_UserChoices_JobName}_${date}_${file}.nc
+              liste_file_se[${#liste_file_se[*]}]=${file_path}${config_UserChoices_JobName}_${date}_${file}.nc
+              liste_file_se_tmp[${#liste_file_se_tmp[*]}]=${config_UserChoices_JobName}_${date}_${file}.nc
+              (( day = day + 1 ))
+            done
+            (( an = an + 1 ))
+          done
+          #
+          IGCM_sys_Get /l liste_file_se[*] ${RUN_DIR_PATH}
+          IGCM_debug_Verif_Exit_Post
+
+          # Apply IGCM_Patch if needed
+          if [ ! ${RebuildFrequency} = true ] ; then
+            if [ X$( eval echo \${LISTE_PATCHES_${file}[0]} ) !=  X${NULL_STR} ]; then
+              for file_t in $( eval echo ${liste_file_se_tmp[*]} ); do
+                for Patch in $( eval echo \${LISTE_PATCHES_${file}[*]} ); do
+                  IGCM_${Patch} ${file_t}
+                done
+              done
+            fi
+          fi
+
+          # Search of common list of variables to be treated
+          nbfile=0
+          for file_common_var in ${liste_file_se_tmp[*]} ; do
+            ncdump -h ${file_common_var} | grep -E 'float|double' | cut -f 1 -d '(' | cut -f 2 -d ' ' >> tmpfile_ncra
+            (( nbfile = nbfile + 1 ))
+          done
+            list_var_final_ncra=`cat tmpfile_ncra | sort | uniq -c | awk -v nbfile=$nbfile '{if ($1 == nbfile) {print $2}}' | paste -s -d ','`
+          IGCM_sys_Rm tmpfile_ncra
+
+          IGCM_sys_ncra -O -v ${list_var_final_ncra} ${liste_file_se_tmp[*]} ${OUT_SE[${nb}]}
+          IGCM_sys_Rm ${liste_file_se_tmp[*]}
+        done
+        ;;
+      esac
+      #
+
+      # Search of common list of variables to be treated
+      nbfile=0
+      for file_common_var in ${OUT_SE[*]} ; do
+        ncdump -h ${file_common_var} | grep -E 'float|double' | cut -f 1 -d '(' | cut -f 2 -d ' ' >> tmpfile_ncrcat
+        (( nbfile = nbfile + 1 ))
+      done
+      list_var_final_ncrcat=`cat tmpfile_ncrcat | sort | uniq -c | awk -v nbfile=$nbfile '{if ($1 == nbfile) {print $2}}' | paste -s -d ','`
+      IGCM_sys_Rm tmpfile_ncrcat
+
+    IGCM_sys_ncrcat -O -v ${list_var_final_ncrcat} ${OUT_SE[*]} ${RESULT_SE}
+    #
+    IGCM_sys_Rm ${OUT_SE[*]}
+    #
+    # detect time counter : time or time_counter ie unlimited variable
+    var_unlim=$(ncdump -h ${RESULT_SE}|grep UNLIMITED| cut -d ' ' -f 1)
+
+    # Put correct climatological axis following calendar 
+    case ${config_UserChoices_CalendarType} in
+      360d|360_day)
+      # 360 days
+        ncap2cmd="'defdim(\"tbnds\",2) ; ${var_unlim}[${var_unlim}]={15, 45, 75, 105, 135, 165, 195, 225, 255, 285, 315, 345.} ; ${var_unlim}_bnds[${var_unlim},tbnds]={0, 30, 30, 60, 60, 90, 90, 120, 120, 150, 150, 180, 180, 210, 210, 240, 240, 270, 270, 300, 300, 330, 330, 360.} ; ${var_unlim}@units=\"days since 0000-01-01 00:00:00\" ; ${var_unlim}@time_origin=\"01-JAN-0000 00:00:00\" ; ${var_unlim}@calendar=\"360_day\" ; ${var_unlim}@bounds=\"${var_unlim}_bnds\"'"
+        ;;
+      noleap|365_day)
+      # 365 days
+        ncap2cmd="'defdim(\"tbnds\",2) ; ${var_unlim}[${var_unlim}]={15.5, 45, 74.5, 105, 135.5, 166, 196.5, 227.5, 258, 288.5, 319, 349.5} ; ${var_unlim}_bnds[${var_unlim},tbnds]={0, 31, 31, 59, 59, 90, 90, 120, 120, 151, 151, 181, 181, 212, 212, 243, 243, 273, 273, 304, 304, 334, 334, 365.} ; ${var_unlim}@units=\"days since 0000-01-01 00:00:00\" ; ${var_unlim}@time_origin=\"01-JAN-0000 00:00:00\" ; ${var_unlim}@calendar=\"365_day\" ; ${var_unlim}@bounds=\"${var_unlim}_bnds\"'"
+        ;;
+      all_leap|366_day)
+      # 366 days
+        ncap2cmd="'defdim(\"tbnds\",2) ; ${var_unlim}[${var_unlim}]={15.5, 45.5, 75.5, 106, 136.5, 167, 197.5, 228.5, 259, 289.5, 320, 350.5} ; ${var_unlim}_bnds[${var_unlim},tbnds]={0, 31, 31, 60, 60, 91, 91, 121, 121, 152, 152, 182, 182, 213, 213, 244, 244, 274, 274, 305, 305, 335, 335, 366.} ; ${var_unlim}@units=\"days since 0000-01-01 00:00:00\" ; ${var_unlim}@time_origin=\"01-JAN-0000 00:00:00\" ; ${var_unlim}@calendar=\"366_day\" ; ${var_unlim}@bounds=\"${var_unlim}_bnds\"'"
+        ;;
+      leap|gregorian|standard)
+      # 365.2425 days
+        ncap2cmd="'defdim(\"tbnds\",2) ; ${var_unlim}[${var_unlim}]={15.5, 45.12125, 74.7425, 105.2425, 135.7425, 166.2425, 196.7425, 227.7425, 258.2425, 288.7425, 319.2425, 349.7425} ; ${var_unlim}_bnds[${var_unlim},tbnds]={0, 31, 31, 59.2425, 59.2425, 90.2425, 90.2425, 120.2425, 120.2425, 151.2425, 151.2425, 181.2425, 181.2425, 212.2425, 212.2425, 243.2425, 243.2425, 273.2425, 273.2425, 304.2425, 304.2425, 334.2425, 334.2425, 365.2425} ; ${var_unlim}@units=\"days since 0000-01-01 00:00:00\" ; ${var_unlim}@time_origin=\"01-JAN-0000 00:00:00\" ; ${var_unlim}@calendar=\"gregorian\" ; ${var_unlim}@bounds=\"${var_unlim}_bnds\"'"
+        ;;
+    esac
+    eval IGCM_sys_ncap2 -Oh -s $ncap2cmd ${RESULT_SE} tmp.nc
+    IGCM_sys_Rm ${RESULT_SE}
+    IGCM_sys_Mv tmp.nc ${RESULT_SE}
+    #
+    eval IGCM_sys_Put_Out ${RESULT_SE} \${R_OUT_${comp}}/Analyse/SE/${RESULT_SE}
+    IGCM_sys_Rm ${RESULT_SE}
+    #
+  done
 done
 
 # DODS copy
 for comp in ${config_ListOfComponents[*]} ; do
-    IGCM_sys_TestDirArchive ${R_SAVE}/${comp}/Analyse/SE
-    [ $? = 0 ] && IGCM_sys_Put_Dods ${comp}/Analyse/SE
+  IGCM_sys_TestDirArchive ${R_SAVE}/${comp}/Analyse/SE
+  [ $? = 0 ] && IGCM_sys_Put_Dods ${comp}/Analyse/SE
 done
 
@@ -574,63 +574,63 @@
    [ ${config_UserChoices_TagName} = "IPSLCM4_v2" ]        || \
    [ ${config_UserChoices_TagName} = "IPSL_ESM_V1" ] ; then
-    #
-    Script_Post_Output=atlas_ORCHIDEE.${PeriodDateEnd} ;
-    IGCM_sys_QsubPost atlas_ORCHIDEE                   ;
-    Script_Post_Output=atlas_LMDZ.${PeriodDateEnd}     ;
-    IGCM_sys_QsubPost atlas_LMDZ                       ;
-    Script_Post_Output=atlas_ORCA_LIM.${PeriodDateEnd} ;
-    IGCM_sys_QsubPost atlas_ORCA_LIM                   ;
-    Script_Post_Output=additionnal.${PeriodDateEnd}    ;
-    IGCM_sys_QsubPost additionnal                      ;
-    #
+  #
+  Script_Post_Output=atlas_ORCHIDEE.${PeriodDateEnd} ;
+  IGCM_sys_QsubPost atlas_ORCHIDEE                   ;
+  Script_Post_Output=atlas_LMDZ.${PeriodDateEnd}     ;
+  IGCM_sys_QsubPost atlas_LMDZ                       ;
+  Script_Post_Output=atlas_ORCA_LIM.${PeriodDateEnd} ;
+  IGCM_sys_QsubPost atlas_ORCA_LIM                   ;
+  Script_Post_Output=additionnal.${PeriodDateEnd}    ;
+  IGCM_sys_QsubPost additionnal                      ;
+  #
 elif [ ${config_UserChoices_TagName} = "IPSLCM5" ]  || \
      [ ${config_UserChoices_TagName} = "IPSLCM5A" ] || \
      [ ${config_UserChoices_TagName} = "IPSLCM5B" ] || \
      [ ${config_UserChoices_TagName} = "IPSLCM5A-MR" ] ; then
-    Script_Post_Output=atlas_ORCHIDEE.${PeriodDateEnd} ;
-    IGCM_sys_QsubPost atlas_ORCHIDEE                   ;
-    Script_Post_Output=atlas_LMDZ.${PeriodDateEnd}     ;
-    IGCM_sys_QsubPost atlas_LMDZ                       ;
-    Script_Post_Output=atlas_ORCA_LIM.${PeriodDateEnd} ;
-    IGCM_sys_QsubPost atlas_ORCA_LIM                   ;
-    Script_Post_Output=atlas_PISCES.${PeriodDateEnd}   ;
-    IGCM_sys_QsubPost atlas_PISCES                     ;
-    #
+  Script_Post_Output=atlas_ORCHIDEE.${PeriodDateEnd} ;
+  IGCM_sys_QsubPost atlas_ORCHIDEE                   ;
+  Script_Post_Output=atlas_LMDZ.${PeriodDateEnd}     ;
+  IGCM_sys_QsubPost atlas_LMDZ                       ;
+  Script_Post_Output=atlas_ORCA_LIM.${PeriodDateEnd} ;
+  IGCM_sys_QsubPost atlas_ORCA_LIM                   ;
+  Script_Post_Output=atlas_PISCES.${PeriodDateEnd}   ;
+  IGCM_sys_QsubPost atlas_PISCES                     ;
+  #
 elif [ ${config_UserChoices_TagName} = "LMDZ4OR" ]  || \
      [ ${config_UserChoices_TagName} = "LMDZOR" ]   || \
      [ ${config_UserChoices_TagName} = "LMDZ4OR_v2" ] ; then
-    #
-    Script_Post_Output=atlas_LMDZ.${PeriodDateEnd}     ;
-    IGCM_sys_QsubPost atlas_LMDZ                       ;
-    Script_Post_Output=atlas_ORCHIDEE.${PeriodDateEnd} ;
-    IGCM_sys_QsubPost atlas_ORCHIDEE                   ;
-    #
+  #
+  Script_Post_Output=atlas_LMDZ.${PeriodDateEnd}     ;
+  IGCM_sys_QsubPost atlas_LMDZ                       ;
+  Script_Post_Output=atlas_ORCHIDEE.${PeriodDateEnd} ;
+  IGCM_sys_QsubPost atlas_ORCHIDEE                   ;
+  #
 elif [ ${config_UserChoices_TagName} = "LMDZ" ] ; then
-    #
-    Script_Post_Output=atlas_LMDZ.${PeriodDateEnd}     ;
-    IGCM_sys_QsubPost atlas_LMDZ                       ;
-    #
+  #
+  Script_Post_Output=atlas_LMDZ.${PeriodDateEnd}     ;
+  IGCM_sys_QsubPost atlas_LMDZ                       ;
+  #
 elif [ ${config_UserChoices_TagName} = "OL" ]      || \
      [ ${config_UserChoices_TagName} = "OL2" ] ; then
-    #
-    Script_Post_Output=atlas_ORCHIDEE.${PeriodDateEnd} ;
-    IGCM_sys_QsubPost atlas_ORCHIDEE                   ;
-    #
+  #
+  Script_Post_Output=atlas_ORCHIDEE.${PeriodDateEnd} ;
+  IGCM_sys_QsubPost atlas_ORCHIDEE                   ;
+  #
 elif [ ${config_UserChoices_TagName} = "ORCA2_LIM" ]       ||
      [ ${config_UserChoices_TagName} = "ORCA2_LIM2" ] ; then
-    #
-    Script_Post_Output=atlas_ORCA_LIM.${PeriodDateEnd} ;
-    IGCM_sys_QsubPost atlas_ORCA_LIM                   ;
+  #
+  Script_Post_Output=atlas_ORCA_LIM.${PeriodDateEnd} ;
+  IGCM_sys_QsubPost atlas_ORCA_LIM                   ;
 elif [ ${config_UserChoices_TagName} = "ORCA2_LIM2_PISCES" ]  ; then
-    #
-    Script_Post_Output=atlas_ORCA_LIM.${PeriodDateEnd} ;
-    IGCM_sys_QsubPost atlas_ORCA_LIM                   ;
-    Script_Post_Output=atlas_PISCES.${PeriodDateEnd}   ;
-    IGCM_sys_QsubPost atlas_PISCES                     ;
+  #
+  Script_Post_Output=atlas_ORCA_LIM.${PeriodDateEnd} ;
+  IGCM_sys_QsubPost atlas_ORCA_LIM                   ;
+  Script_Post_Output=atlas_PISCES.${PeriodDateEnd}   ;
+  IGCM_sys_QsubPost atlas_PISCES                     ;
 elif [ ${config_UserChoices_TagName} = "ORCA2_OFF_PISCES" ]  ; then
-    #
-    Script_Post_Output=atlas_PISCES.${PeriodDateEnd}   ;
-    IGCM_sys_QsubPost atlas_PISCES                     ;
-    #
+  #
+  Script_Post_Output=atlas_PISCES.${PeriodDateEnd}   ;
+  IGCM_sys_QsubPost atlas_PISCES                     ;
+  #
 fi
 
Index: trunk/libIGCM/AA_create_ts
===================================================================
--- trunk/libIGCM/AA_create_ts	(revision 784)
+++ trunk/libIGCM/AA_create_ts	(revision 785)
@@ -100,5 +100,5 @@
 TsTask=${TsTask:=2D}
 if [ X${TsTask} = Xempty ] ; then
-    TsTask=""
+  TsTask=""
 fi
 
@@ -165,5 +165,5 @@
 MENAGE () 
 {
-    [ -f $3 ] && ( IGCM_sys_RshArchive rm -f $1/$2 ;)
+  [ -f $3 ] && ( IGCM_sys_RshArchive rm -f $1/$2 ;)
 }
 
@@ -179,11 +179,11 @@
 
 if [ ${StandAlone} = true ] ; then
-    CARD_DIR=${SUBMIT_DIR}
+  CARD_DIR=${SUBMIT_DIR}
 else
-    CARD_DIR=${RUN_DIR_PATH}
-    IGCM_sys_Get_Master ${SUBMIT_DIR}/config.card ${RUN_DIR_PATH}
-    IGCM_sys_Get_Master ${SUBMIT_DIR}/run.card    ${RUN_DIR_PATH}
-    IGCM_sys_Get_Master ${SUBMIT_DIR}/COMP        ${RUN_DIR_PATH}
-    IGCM_sys_Get_Master ${SUBMIT_DIR}/POST        ${RUN_DIR_PATH}
+  CARD_DIR=${RUN_DIR_PATH}
+  IGCM_sys_Get_Master ${SUBMIT_DIR}/config.card ${RUN_DIR_PATH}
+  IGCM_sys_Get_Master ${SUBMIT_DIR}/run.card    ${RUN_DIR_PATH}
+  IGCM_sys_Get_Master ${SUBMIT_DIR}/COMP        ${RUN_DIR_PATH}
+  IGCM_sys_Get_Master ${SUBMIT_DIR}/POST        ${RUN_DIR_PATH}
 fi
 
@@ -228,9 +228,9 @@
 # Determine Dimension of the produced time series : 2D or 3D
 if (   [ X${TsTask} = XChunck2D ] || [ X${TsTask} = X2D ] ) ; then
-    Dimension=2D
+  Dimension=2D
 elif ( [ X${TsTask} = XChunck3D ] || [ X${TsTask} = X3D ] ) ; then
-    Dimension=3D
+  Dimension=3D
 else
-    Dimension=""
+  Dimension=""
 fi
 
@@ -255,145 +255,145 @@
 DoJob=false
 for comp in ${config_ListOfComponents[*]} ; do
-    #
-    ActiveComp=false
-    #
-    IGCM_card_DefineArrayFromOption ${CARD_DIR}/config.card ListOfComponents ${comp}
-    eval compname=\${config_ListOfComponents_${comp}[0]} > /dev/null 2>&1
-    #
-    card=${CARD_DIR}/COMP/${compname}.card
-
-    IGCM_card_DefineArrayFromOption ${card} OutputFiles List
-    #
-    ListFilesName=${compname}_OutputFiles_List
-    eval FileName0=\${${ListFilesName}[0]} > /dev/null 2>&1
-    #
-    if [ X${FileName0} != X${NULL_STR} ] ; then
-	#
-	#IGCM_debug_Print 1 "Component      : ${compname}"
-	#
-	# INITIALISATION
-	#
-	typeset i
-	if [ ${FlagToRead} ] ; then
-	    ((NbFiles=${FlagToRead}))
-	    ((i=${NbFiles}))
-	else
-	    eval NbFiles=\${#${ListFilesName}[@]} > /dev/null 2>&1
-	    i=2
-	fi
-	#
-	until [ $i -gt $NbFiles ]; do
-	    #
-	    eval flag_post=\${${ListFilesName}[$i]} > /dev/null 2>&1
-	    #
-	    if [ X${flag_post} != XNONE ] ; then
-		#
-	        # For each comp and each file who needs post-processing
-	        # determine which variables need time series.
-	        #
-		FILE=$( echo ${flag_post} | awk "-FPost_" '{print $2}' )
-		IGCM_card_DefineArrayFromOption ${card}    Post_${FILE} TimeSeriesVars${Dimension}
-		IGCM_card_DefineVariableFromOption ${card} Post_${FILE} ChunckJob${Dimension}
-	        #
-		# If TimeSeriesVars list is empty we skip
-		#
-		if [ $( eval echo \${${compname}_Post_${FILE}_TimeSeriesVars${Dimension}} ) = ${NULL_STR} ] ; then
-	            #
-		    IGCM_debug_Print 3 "Nothing to do for ${FILE} according to ${card}"
-		    IGCM_debug_Print 3 "TimeSeriesVars${Dimension} for ${FILE} is empty"
-		    (( i=i+3 ))
-		    continue
-	            #
-		fi
-		#
-		# If files/variables has been switch off by ChunckJob${Dimension}=0 we skip
-		#
-		if [ X$( eval echo \${${compname}_Post_${FILE}_ChunckJob${Dimension}} ) = XOFF ] ; then
-		    IGCM_debug_Print 3 "Nothing to do for ${FILE} according to ${card}"
-		    IGCM_debug_Print 3 "ChunckJob${Dimension}=OFF for ${FILE} so it has been switched off"
-		    (( i=i+3 ))
-		    continue
-		fi
-		#
-	        # If we are not a Chunck type task, we skip files/variables handled by chunck task
-	        #
-		if ( [ ! X${TsTask} = XChunck${Dimension} ] && [ ! X${TsTask} = X ] && [ ! XChunck${Dimension} = XChunck ] ) ; then
-		    if [ ! $( eval echo \${${compname}_Post_${FILE}_ChunckJob${Dimension}} ) = NONE ] ; then
-			IGCM_debug_Print 3 "Nothing to do for ${FILE} TimeSeriesVars${Dimension} according to ${card}"
-			IGCM_debug_Print 3 "Let another chunck task do the job $( eval echo \${${compname}_Post_${FILE}_ChunckJob${Dimension}} )"
-			(( i=i+3 ))
-			continue
-		    fi
-		fi
-		#
-		# Now on we know we have things to do
-		#
-
-		#
-	        #  We need coordinates axis to properly fill produced time series
-	        #
-		IGCM_card_DefineArrayFromOption ${card} Post_${FILE} GatherWithInternal
-	        #
-		if [ $( eval echo \${${compname}_Post_${FILE}_GatherWithInternal} ) = ${NULL_STR} ] ; then
-	            #
-		    IGCM_debug_Print 1 "ERROR !! We miss coordinate axis for ${FILE} according to ${card}"
-		    IGCM_debug_Print 1 "So no time series will be produced for ${FILE} !!"
-		    (( i=i+3 ))
-		    continue
-	            #
-		fi
-	        #
-	        # We need LIST of variables not allready produced (useful for standalone mode)
-	        #
-		FlagDir=$( echo ${FILE} | awk -F "_" '{print $1}' )
-		case ${FlagDir} in
-		    *Y)  TS_Dir=TS_YE  ;;
-		    *M)  TS_Dir=TS_MO  ;;
-		    *D)  TS_Dir=TS_DA  ;;
-		    HF)  TS_Dir=TS_HF  ;;
-		    3H)  TS_Dir=TS_HF  ;;
-		    INS) TS_Dir=TS_INS ;;
-		esac
-		#
-		count=0
-		for var in $( eval echo \${${compname}_Post_${FILE}_TimeSeriesVars${Dimension}[*]} ) ; do
-	            #
-		    DIRECTORY=${R_SAVE}/${comp}/Analyse/${TS_Dir}
-		    TestedFile=${config_UserChoices_JobName}_${DateBegin}_${PeriodDateEnd}_${FlagDir}_${var}.nc
-	            #
-		    IGCM_sys_TestFileArchive ${DIRECTORY}/${TestedFile}
-		    if [ ! $? = 0 ] ; then
-			eval set +A LISTE_VARS_${FILE} \${LISTE_VARS_${FILE}[*]} ${var}
-			ActiveComp=true
-			(( count = count + 1 ))
-		    fi
-		done
-		#
-		if [ ${count} -gt 0 ] ; then
-	            #
-		    eval set +A LISTE_FILE_${comp} \${LISTE_FILE_${comp}[*]} ${FILE}
-		    eval set +A LISTE_AXIS_${FILE} \${${compname}_Post_${FILE}_GatherWithInternal[*]}
-		    #
-		    if [ ! X${RebuildFrequency} = Xtrue ] ; then
-			IGCM_card_DefineArrayFromOption ${card} Post_${FILE} Patches
-			eval set +A LISTE_PATCHES_${FILE} \${${compname}_Post_${FILE}_Patches[*]}
-			if [ X$( eval echo \${LISTE_PATCHES_${FILE}[0]} ) !=  X${NULL_STR} ]; then
-			    for Patch in $( eval echo \${LISTE_PATCHES_${FILE}[*]} ); do
-				if [ Xload${Patch} != X ] ; then
-				    . ${libIGCM}/libIGCM_post/IGCM_${Patch}.ksh
-				    eval load${Patch}=loaded
-				fi
-			    done
-			fi
-		    fi
-		fi
-	    fi
-	    (( i=i+3 ))
-	done
+  #
+  ActiveComp=false
+  #
+  IGCM_card_DefineArrayFromOption ${CARD_DIR}/config.card ListOfComponents ${comp}
+  eval compname=\${config_ListOfComponents_${comp}[0]} > /dev/null 2>&1
+  #
+  card=${CARD_DIR}/COMP/${compname}.card
+
+  IGCM_card_DefineArrayFromOption ${card} OutputFiles List
+  #
+  ListFilesName=${compname}_OutputFiles_List
+  eval FileName0=\${${ListFilesName}[0]} > /dev/null 2>&1
+  #
+  if [ X${FileName0} != X${NULL_STR} ] ; then
+    #
+    #IGCM_debug_Print 1 "Component      : ${compname}"
+    #
+    # INITIALISATION
+    #
+    typeset i
+    if [ ${FlagToRead} ] ; then
+      ((NbFiles=${FlagToRead}))
+      ((i=${NbFiles}))
+    else
+      eval NbFiles=\${#${ListFilesName}[@]} > /dev/null 2>&1
+      i=2
     fi
     #
-    if [ ${ActiveComp} = true ] ; then
-	set +A ActiveListOfComponents ${ActiveListOfComponents[*]} ${comp}
-    fi
+    until [ $i -gt $NbFiles ]; do
+      #
+      eval flag_post=\${${ListFilesName}[$i]} > /dev/null 2>&1
+      #
+      if [ X${flag_post} != XNONE ] ; then
+        #
+        # For each comp and each file who needs post-processing
+        # determine which variables need time series.
+        #
+        FILE=$( echo ${flag_post} | awk "-FPost_" '{print $2}' )
+        IGCM_card_DefineArrayFromOption ${card}    Post_${FILE} TimeSeriesVars${Dimension}
+        IGCM_card_DefineVariableFromOption ${card} Post_${FILE} ChunckJob${Dimension}
+        #
+        # If TimeSeriesVars list is empty we skip
+        #
+        if [ $( eval echo \${${compname}_Post_${FILE}_TimeSeriesVars${Dimension}} ) = ${NULL_STR} ] ; then
+          #
+          IGCM_debug_Print 3 "Nothing to do for ${FILE} according to ${card}"
+          IGCM_debug_Print 3 "TimeSeriesVars${Dimension} for ${FILE} is empty"
+          (( i=i+3 ))
+          continue
+          #
+        fi
+        #
+        # If files/variables has been switch off by ChunckJob${Dimension}=0 we skip
+        #
+        if [ X$( eval echo \${${compname}_Post_${FILE}_ChunckJob${Dimension}} ) = XOFF ] ; then
+          IGCM_debug_Print 3 "Nothing to do for ${FILE} according to ${card}"
+          IGCM_debug_Print 3 "ChunckJob${Dimension}=OFF for ${FILE} so it has been switched off"
+          (( i=i+3 ))
+          continue
+        fi
+        #
+          # If we are not a Chunck type task, we skip files/variables handled by chunck task
+          #
+        if ( [ ! X${TsTask} = XChunck${Dimension} ] && [ ! X${TsTask} = X ] && [ ! XChunck${Dimension} = XChunck ] ) ; then
+          if [ ! $( eval echo \${${compname}_Post_${FILE}_ChunckJob${Dimension}} ) = NONE ] ; then
+            IGCM_debug_Print 3 "Nothing to do for ${FILE} TimeSeriesVars${Dimension} according to ${card}"
+            IGCM_debug_Print 3 "Let another chunck task do the job $( eval echo \${${compname}_Post_${FILE}_ChunckJob${Dimension}} )"
+            (( i=i+3 ))
+            continue
+          fi
+        fi
+        #
+        # Now on we know we have things to do
+        #
+
+        #
+        #  We need coordinates axis to properly fill produced time series
+        #
+        IGCM_card_DefineArrayFromOption ${card} Post_${FILE} GatherWithInternal
+        #
+        if [ $( eval echo \${${compname}_Post_${FILE}_GatherWithInternal} ) = ${NULL_STR} ] ; then
+          #
+          IGCM_debug_Print 1 "ERROR !! We miss coordinate axis for ${FILE} according to ${card}"
+          IGCM_debug_Print 1 "So no time series will be produced for ${FILE} !!"
+          (( i=i+3 ))
+          continue
+          #
+        fi
+        #
+        # We need LIST of variables not allready produced (useful for standalone mode)
+        #
+        FlagDir=$( echo ${FILE} | awk -F "_" '{print $1}' )
+        case ${FlagDir} in
+          *Y)  TS_Dir=TS_YE  ;;
+          *M)  TS_Dir=TS_MO  ;;
+          *D)  TS_Dir=TS_DA  ;;
+          HF)  TS_Dir=TS_HF  ;;
+          3H)  TS_Dir=TS_HF  ;;
+          INS) TS_Dir=TS_INS ;;
+        esac
+        #
+        count=0
+        for var in $( eval echo \${${compname}_Post_${FILE}_TimeSeriesVars${Dimension}[*]} ) ; do
+          #
+          DIRECTORY=${R_SAVE}/${comp}/Analyse/${TS_Dir}
+          TestedFile=${config_UserChoices_JobName}_${DateBegin}_${PeriodDateEnd}_${FlagDir}_${var}.nc
+          #
+          IGCM_sys_TestFileArchive ${DIRECTORY}/${TestedFile}
+          if [ ! $? = 0 ] ; then
+            eval set +A LISTE_VARS_${FILE} \${LISTE_VARS_${FILE}[*]} ${var}
+            ActiveComp=true
+            (( count = count + 1 ))
+          fi
+        done
+        #
+        if [ ${count} -gt 0 ] ; then
+          #
+          eval set +A LISTE_FILE_${comp} \${LISTE_FILE_${comp}[*]} ${FILE}
+          eval set +A LISTE_AXIS_${FILE} \${${compname}_Post_${FILE}_GatherWithInternal[*]}
+          #
+          if [ ! X${RebuildFrequency} = Xtrue ] ; then
+            IGCM_card_DefineArrayFromOption ${card} Post_${FILE} Patches
+            eval set +A LISTE_PATCHES_${FILE} \${${compname}_Post_${FILE}_Patches[*]}
+            if [ X$( eval echo \${LISTE_PATCHES_${FILE}[0]} ) !=  X${NULL_STR} ]; then
+              for Patch in $( eval echo \${LISTE_PATCHES_${FILE}[*]} ); do
+                if [ Xload${Patch} != X ] ; then
+                  . ${libIGCM}/libIGCM_post/IGCM_${Patch}.ksh
+                  eval load${Patch}=loaded
+                fi
+              done
+            fi
+          fi
+        fi
+      fi
+      (( i=i+3 ))
+    done
+  fi
+  #
+  if [ ${ActiveComp} = true ] ; then
+    set +A ActiveListOfComponents ${ActiveListOfComponents[*]} ${comp}
+  fi
 done
 
@@ -414,28 +414,28 @@
 
 if [ ${StandAlone} != true ] ; then
-    Running_Flag=$( IGCM_sys_RshMaster "IGCM_card_DefineVariableFromOption \
-       ${SUBMIT_DIR}/run.card PostProcessing TimeSeriesRunning ; \
-       echo \${run_PostProcessing_TimeSeriesRunning}" )
-
-    #if [ X${Running_Flag} = Xy ] ; then
-    #    # Time Series Job allready running
-    #	IGCM_debug_Print 1 "Time Series Job allready running exit"
-    #	exit
-    #fi
-    # Now run.card know we are running
-
-
-
-
-    IGCM_sys_RshMaster IGCM_card_WriteOption ${SUBMIT_DIR}/run.card PostProcessing TimeSeriesRunning "y"
-
-
-
-
-
-    # Get information from last execution
-    #CompletedFlag=$( IGCM_sys_RshMaster \
-    #	"IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/run.card PostProcessing TimeSeriesCompleted ;\
-    #        echo \${run_PostProcessing_TimeSeriesCompleted}" )
+  Running_Flag=$( IGCM_sys_RshMaster "IGCM_card_DefineVariableFromOption \
+  ${SUBMIT_DIR}/run.card PostProcessing TimeSeriesRunning ; \
+  echo \${run_PostProcessing_TimeSeriesRunning}" )
+
+  #if [ X${Running_Flag} = Xy ] ; then
+  #  # Time Series Job allready running
+  #  IGCM_debug_Print 1 "Time Series Job allready running exit"
+  #  exit
+  #fi
+  # Now run.card know we are running
+
+
+
+
+  IGCM_sys_RshMaster IGCM_card_WriteOption ${SUBMIT_DIR}/run.card PostProcessing TimeSeriesRunning "y"
+
+
+
+
+
+  # Get information from last execution
+  #CompletedFlag=$( IGCM_sys_RshMaster \
+  # "IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/run.card PostProcessing TimeSeriesCompleted ;\
+  #        echo \${run_PostProcessing_TimeSeriesCompleted}" )
 fi
 
@@ -443,60 +443,60 @@
 
 if ( [ X${CompletedFlag} = X ] || [ X${CompletedFlag} = X$( IGCM_date_AddDaysToGregorianDate ${DateBegin} -1 ) ] ) ; then
-    # First Time Series Submission
-    FIRST_PASS=TRUE
-    Length=$( IGCM_date_DaysInPreviousPeriod ${DateBegin} ${config_UserChoices_PeriodLength} begin)
-    DATE_FIN_JOB_B=$( IGCM_date_AddDaysToGregorianDate ${DateBegin} $(( Length - 1 )) )
+  # First Time Series Submission
+  FIRST_PASS=TRUE
+  Length=$( IGCM_date_DaysInPreviousPeriod ${DateBegin} ${config_UserChoices_PeriodLength} begin)
+  DATE_FIN_JOB_B=$( IGCM_date_AddDaysToGregorianDate ${DateBegin} $(( Length - 1 )) )
 else
-    # Last Completed Time Series
-    FIRST_PASS=FALSE
-    DATE_FIN_JOB_B=${CompletedFlag}
-    date=${DateBegin}_${DATE_FIN_JOB_B}
-    for comp in ${config_ListOfComponents[*]} ; do
-	#
-	IGCM_sys_Mkdir ${RUN_DIR_PATH}/${comp}
-        #
-	IGCM_sys_Cd ${RUN_DIR_PATH}/${comp}
-	#
-	#set -A liste_file
-	unset liste_file
-	#
-	file_path=${R_SAVE}/${comp}/Analyse
-	#
-	i=0
-	file=${NULL_STR}
-	#
-	for file in $( eval echo \${LISTE_FILE_${comp}[*]} ); do
-	    #
-	    # Determine in which output can we find file
-	    # IE : Analyse/TS or Analyse/DA2TS or ...
-	    #
-	    FlagDir=$( echo ${file} | awk -F "_" '{print $1}' )
-	    case ${FlagDir} in
-	    	*Y)  TS_Dir=TS_YE  ;;
-	    	*M)  TS_Dir=TS_MO  ;;
-	    	*D)  TS_Dir=TS_DA  ;;
-		HF)  TS_Dir=TS_HF  ;;
-		3H)  TS_Dir=TS_HF  ;;
-		INS) TS_Dir=TS_INS ;;
-	    esac
-	    for var in $( eval echo \${LISTE_VARS_${file}[*]} ) ; do
-		#
-		#set +A liste_file ${liste_file[*]} ${file_path}/${TS_Dir}/${config_UserChoices_JobName}_${date}_${FlagDir}_${var}.nc
-		liste_file[${#liste_file[*]}]=${file_path}/${TS_Dir}/${config_UserChoices_JobName}_${date}_${FlagDir}_${var}.nc
-		#
-	    done
-	done
-	if [ X${file} != X${NULL_STR} ] ; then
-	    IGCM_sys_Get /l liste_file[*] ${RUN_DIR_PATH}/${comp}
-	    # Even if some files are missing we tried to continue
-	    # Either ListVar in compname.card are asked but not present in original history file
-	    # Either a previous TS task failed
-	    ExitFlag=false
-	    IGCM_debug_Verif_Exit_Post
-	fi
+  # Last Completed Time Series
+  FIRST_PASS=FALSE
+  DATE_FIN_JOB_B=${CompletedFlag}
+  date=${DateBegin}_${DATE_FIN_JOB_B}
+  for comp in ${config_ListOfComponents[*]} ; do
+    #
+    IGCM_sys_Mkdir ${RUN_DIR_PATH}/${comp}
+    #
+    IGCM_sys_Cd ${RUN_DIR_PATH}/${comp}
+    #
+    #set -A liste_file
+    unset liste_file
+    #
+    file_path=${R_SAVE}/${comp}/Analyse
+    #
+    i=0
+    file=${NULL_STR}
+    #
+    for file in $( eval echo \${LISTE_FILE_${comp}[*]} ); do
+      #
+      # Determine in which output can we find file
+      # IE : Analyse/TS or Analyse/DA2TS or ...
+      #
+      FlagDir=$( echo ${file} | awk -F "_" '{print $1}' )
+      case ${FlagDir} in
+        *Y)  TS_Dir=TS_YE  ;;
+        *M)  TS_Dir=TS_MO  ;;
+        *D)  TS_Dir=TS_DA  ;;
+        HF)  TS_Dir=TS_HF  ;;
+        3H)  TS_Dir=TS_HF  ;;
+        INS) TS_Dir=TS_INS ;;
+      esac
+      for var in $( eval echo \${LISTE_VARS_${file}[*]} ) ; do
+        #
+        #set +A liste_file ${liste_file[*]} ${file_path}/${TS_Dir}/${config_UserChoices_JobName}_${date}_${FlagDir}_${var}.nc
+        liste_file[${#liste_file[*]}]=${file_path}/${TS_Dir}/${config_UserChoices_JobName}_${date}_${FlagDir}_${var}.nc
+        #
+      done
     done
-    #
-    LEVEL=0
-    #
+    if [ X${file} != X${NULL_STR} ] ; then
+      IGCM_sys_Get /l liste_file[*] ${RUN_DIR_PATH}/${comp}
+      # Even if some files are missing we tried to continue
+      # Either ListVar in compname.card are asked but not present in original history file
+      # Either a previous TS task failed
+      ExitFlag=false
+      IGCM_debug_Verif_Exit_Post
+    fi
+  done
+  #
+  LEVEL=0
+  #
 fi
 
@@ -513,19 +513,19 @@
 
 if [ ${DoJob} = true ] ; then
-    while [ ${DATE_COUNT} -lt ${PeriodDateEnd} ] ; do
-	(( NBRE_FILE_TOT = NBRE_FILE_TOT + 1 ))
-	Length=$( IGCM_date_DaysInNextPeriod ${DATE_COUNT} ${config_UserChoices_PeriodLength} )
-	DATE_COUNT=$( IGCM_date_AddDaysToGregorianDate ${DATE_COUNT} ${Length} )
-    done
+  while [ ${DATE_COUNT} -lt ${PeriodDateEnd} ] ; do
+    (( NBRE_FILE_TOT = NBRE_FILE_TOT + 1 ))
+    Length=$( IGCM_date_DaysInNextPeriod ${DATE_COUNT} ${config_UserChoices_PeriodLength} )
+    DATE_COUNT=$( IGCM_date_AddDaysToGregorianDate ${DATE_COUNT} ${Length} )
+  done
 else
-    NBRE_FILE_TOT=0
+  NBRE_FILE_TOT=0
 fi
 
 if [ ${NBRE_FILE_TOT} -le ${UNIX_MAX_LIMIT} ] ; then
-    NBRE_TOUR=1 
+  NBRE_TOUR=1 
 elif [ ${NBRE_FILE_TOT}%${UNIX_MAX_LIMIT} -eq 0 ] ; then
-    let NBRE_TOUR=${NBRE_FILE_TOT}/${UNIX_MAX_LIMIT} 
+  let NBRE_TOUR=${NBRE_FILE_TOT}/${UNIX_MAX_LIMIT} 
 else
-    let NBRE_TOUR=${NBRE_FILE_TOT}/${UNIX_MAX_LIMIT}+1
+  let NBRE_TOUR=${NBRE_FILE_TOT}/${UNIX_MAX_LIMIT}+1
 fi
 
@@ -538,228 +538,227 @@
 
 while [ ${CURRENT_LOOP} -le  ${NBRE_TOUR} ] ; do
-      
-    if [ ${NBRE_FILE_TOT} -le ${UNIX_MAX_LIMIT} ] ; then 
-        # - LEVEL 1 : JUST ONE LOOP TO COMPLETE
-	NBRE_FILE_LOOP=${NBRE_FILE_TOT}
-
-        if [ ${FIRST_PASS} = TRUE ] ; then
-	    DATE_COURANTE=${DATE_FIN_JOB_B_LOOP}
-	else
-	    Length=$( IGCM_date_DaysInNextPeriod ${DATE_FIN_JOB_B_LOOP} ${config_UserChoices_PeriodLength} )
-	    DATE_COURANTE=$( IGCM_date_AddDaysToGregorianDate ${DATE_FIN_JOB_B_LOOP} ${Length} )
-	fi
-
-	DATE_FIN=${PeriodDateEnd}
-	DATE_FIN_JOB_B_LOOP_PREC=${DATE_FIN_JOB_B_LOOP}
-
-	[ -n "${DATE_LOOP}" ] && DATE_FIN_JOB_B_LOOP=${DATE_LOOP}
-	[ -n "${LEVEL}" ] && FLAG_B="TRUE" || FLAG_B="FALSE"
-
-	LEVEL=1
-	DEPOT="TRUE"	 
-    elif [ ${CURRENT_LOOP} -ne  ${NBRE_TOUR} ] ; then
-	# - LEVEL 2 : WE ARE IN THE "DEEP" LOOP
-	NBRE_FILE_LOOP=${UNIX_MAX_LIMIT}
-
-        if [ ! ${FIRST_PASS} = TRUE ] && [ ${CURRENT_LOOP} -eq 1 ] ; then
-	    Length=$( IGCM_date_DaysInNextPeriod ${DATE_FIN_JOB_B_LOOP} ${config_UserChoices_PeriodLength} )
-	    DATE_COURANTE=$( IGCM_date_AddDaysToGregorianDate ${DATE_FIN_JOB_B_LOOP} ${Length} )
-	elif [ -z "${DATE_COURANTE}" ] ; then
-	    DATE_COURANTE=${DATE_FIN_JOB_B}
-	else
-	    Length=$( IGCM_date_DaysInNextPeriod ${DATE_FIN} ${config_UserChoices_PeriodLength} )
-	    DATE_COURANTE=$( IGCM_date_AddDaysToGregorianDate ${DATE_FIN} ${Length} )
-	fi
-	 
-	(( TotLength = 0 ))
-	COMPTEUR=1
-	DATE_LOOP=${DATE_COURANTE}
-
-	while [ ${COMPTEUR} -lt ${NBRE_FILE_LOOP} ] ; do
-	    #
-	    Length=$( IGCM_date_DaysInNextPeriod ${DATE_LOOP} ${config_UserChoices_PeriodLength} )
-	    DATE_LOOP=$( IGCM_date_AddDaysToGregorianDate ${DATE_LOOP} ${Length} )
-	    (( TotLength = TotLength + Length ))
-	    (( COMPTEUR = COMPTEUR + 1 ))
-	    #
-	done # while [ ${COMPTEUR} -le ${NBRE_FILE_LOOP} ] done
-	DATE_FIN=$( IGCM_date_AddDaysToGregorianDate ${DATE_COURANTE} ${TotLength} )
-
-	[ -n "${DATE_LOOP}" ] && DATE_FIN_JOB_B_LOOP_PREC=${DATE_FIN_JOB_B_LOOP} ; DATE_FIN_JOB_B_LOOP=${DATE_LOOP}
-	[ -n "${LEVEL}" ] && [ ${LEVEL} -eq 0 ] && FLAG_B="TRUE" || [ ${CURRENT_LOOP} -gt 1 ] && FLAG_B="TRUE" || FLAG_B="FALSE"
-	DEPOT="FALSE"
-	LEVEL=2
+
+  if [ ${NBRE_FILE_TOT} -le ${UNIX_MAX_LIMIT} ] ; then 
+    # - LEVEL 1 : JUST ONE LOOP TO COMPLETE
+    NBRE_FILE_LOOP=${NBRE_FILE_TOT}
+
+    if [ ${FIRST_PASS} = TRUE ] ; then
+      DATE_COURANTE=${DATE_FIN_JOB_B_LOOP}
     else
-	# - LEVEL 3 : WE ARE IN THE LAST LOOP
-	NBRE_FILE_LOOP=$(( ${NBRE_FILE_TOT} % ( ${UNIX_MAX_LIMIT} * ( ${CURRENT_LOOP} - 1 ) ) ))
-	[ ${NBRE_FILE_LOOP} -eq 0 ] && NBRE_FILE_LOOP=${UNIX_MAX_LIMIT}
-
-	Length=$( IGCM_date_DaysInNextPeriod ${DATE_FIN} ${config_UserChoices_PeriodLength} )
-	DATE_COURANTE=$(IGCM_date_AddDaysToGregorianDate ${DATE_FIN} ${Length} )
-	DATE_FIN=${PeriodDateEnd}
-	[ -n "${DATE_LOOP}" ] && DATE_FIN_JOB_B_LOOP_PREC=${DATE_FIN_JOB_B_LOOP} ; DATE_FIN_JOB_B_LOOP=${DATE_LOOP}
-
-	LEVEL=3
-	DEPOT="TRUE"
-	FLAG_B="TRUE"
+      Length=$( IGCM_date_DaysInNextPeriod ${DATE_FIN_JOB_B_LOOP} ${config_UserChoices_PeriodLength} )
+      DATE_COURANTE=$( IGCM_date_AddDaysToGregorianDate ${DATE_FIN_JOB_B_LOOP} ${Length} )
     fi
 
-    # THEN FOR EACH FILE TYPE WE LOOP BETWEEN DATE_COURANTE AND DATE_FIN.
-    for comp in ${config_ListOfComponents[*]} ; do
-	#
-	IGCM_sys_Mkdir ${RUN_DIR_PATH}/${comp}
-        #
-	IGCM_sys_Cd ${RUN_DIR_PATH}/${comp}
-	#
-	eval R_OUT_${comp}=${R_SAVE}/${comp}
-	#
-	i=0
-	#
-	for file in $( eval echo \${LISTE_FILE_${comp}[*]} ); do
-	    #
-	    # Determine in which output can we find file
-	    # IE : Output/MO or Output/DA or ...
-	    #
-	    FlagDir=$( echo ${file} | awk -F "_" '{print $1}' )
-	    case ${FlagDir} in
-		*Y)    TS_Dir=TS_YE  ; FreqDir=YE  ;;
-		*M)    TS_Dir=TS_MO  ; FreqDir=MO  ;;
-		*D)    TS_Dir=TS_DA  ; FreqDir=DA  ;;
-		HF)    TS_Dir=TS_HF  ; FreqDir=HF  ;;
-		3H)    TS_Dir=TS_HF  ; FreqDir=HF  ;;
-		INS)   TS_Dir=TS_INS ; FreqDir=INS ;;
-		*) 
-	               IGCM_debug_Print 1 "Error in FlagDir=${FlagDir} for file ${file}."
-		       IGCM_sys_Exit "Job create_ts" ;;
-	    esac
-
-	    # Initialize array
-	    #set -A liste_file
-	    #set -A liste_file_tmp
-	    unset liste_file
-	    unset liste_file_tmp
-	    eval file_path=\${R_OUT_${comp}}/Output/${FreqDir}/
-
-	    COMPTEUR=1
-	    DATE_LOOP=${DATE_COURANTE}
-
-	    while [ ${COMPTEUR} -le ${NBRE_FILE_LOOP} ] ; do
-		#
-		Length1=$( IGCM_date_DaysInPreviousPeriod ${DATE_LOOP} ${config_UserChoices_PeriodLength} end)
-	        DATE_TAB=$(  IGCM_date_AddDaysToGregorianDate ${DATE_LOOP} $(( 1 - Length1 )) )_${DATE_LOOP}
-
-		Length2=$( IGCM_date_DaysInNextPeriod ${DATE_LOOP} ${config_UserChoices_PeriodLength} )
-		DATE_LOOP=$( IGCM_date_AddDaysToGregorianDate ${DATE_LOOP} ${Length2} )
-
-	        #set +A liste_file ${liste_file[*]} ${file_path}${config_UserChoices_JobName}_${DATE_TAB}_${file}.nc
-	        #set +A liste_file_tmp ${liste_file_tmp[*]} ${config_UserChoices_JobName}_${DATE_TAB}_${file}.nc
-		liste_file[${#liste_file[*]}]=${file_path}${config_UserChoices_JobName}_${DATE_TAB}_${file}.nc
-		liste_file_tmp[${#liste_file_tmp[*]}]=${config_UserChoices_JobName}_${DATE_TAB}_${file}.nc
-	        (( COMPTEUR = COMPTEUR + 1 ))
-		#
-	    done # while [ ${COMPTEUR} -le ${NBRE_FILE_LOOP} ] done
-	    DATE_LOOP=$( IGCM_date_AddDaysToGregorianDate ${DATE_LOOP} -${Length2} )
-
-	    # Get selected files
-	    IGCM_sys_Get /l liste_file[*] ${RUN_DIR_PATH}/${comp}
-	    IGCM_debug_Verif_Exit_Post
-
-	    # Apply IGCM_Patch if needed
-	    if [ ! X${RebuildFrequency} = Xtrue ] ; then
-		if [ X$( eval echo \${LISTE_PATCHES_${file}[0]} ) !=  X${NULL_STR} ]; then
-		    for file_t in $( eval echo ${liste_file_tmp[*]} ); do		
-			for Patch in $( eval echo \${LISTE_PATCHES_${file}[*]} ); do
-			    IGCM_${Patch} ${file_t}
-			    IGCM_debug_Verif_Exit_Post
-			done
-		    done
-		fi
-	    fi
-
-	    # WE CAN CONCATENATE FILES AT THIS POINT
-	    [ "${FLAG_B}" = "TRUE" ] && DATE_BUILD_B=${DateBegin}_${DATE_FIN_JOB_B_LOOP_PREC}
-	    Length=$( IGCM_date_DaysInPreviousPeriod ${DATE_COURANTE} ${config_UserChoices_PeriodLength} end)
-	    DATE_BUILD1=$( IGCM_date_AddDaysToGregorianDate ${DATE_COURANTE} -$(( Length - 1 )) )
-	    DATE_BUILD=${DATE_BUILD1}_${DATE_FIN}
-	    DATE_BUILD_END=${DateBegin}_${DATE_FIN}
-
-	    liste_coord=" "
-	    for axis in $( eval echo \${LISTE_AXIS_${file}[*]} ); do
-	      liste_coord=${liste_coord}${axis}","
-	    done
-
-	    # Time axis must be the last dimension
-	    time_axis=${axis}
-
-	    # SWITCH BETWEEN MODEL TO FIT PARTICULAR CASE
-	    for var in $( eval echo \${LISTE_VARS_${file}[*]} ) ; do
-	        #
-	        if [ "${FLAG_B}" = "TRUE" ] ; then
-		    # WE CONCATENATE WITH EXISTING FILES
-		    file1=${config_UserChoices_JobName}_${DATE_BUILD_B}_${FlagDir}_${var}.nc
-		    file_out=${config_UserChoices_JobName}_${DATE_BUILD_END}_${FlagDir}_${var}.nc
-		    IGCM_sys_ncrcat --hst -v ${liste_coord}${var} ${file1} ${liste_file_tmp[*]} ${file_out}
-		    #
-		    IGCM_sys_Rm ${file1}
-		    if [ ! "${DEPOT}" = "TRUE" ] ; then
-	            	eval IGCM_sys_Put_Out ${file_out} \${R_OUT_${comp}}/Analyse/${TS_Dir}/${file_out}
-			# "${file1} = file_before ?
-			[ ! "${file1}" = "${config_UserChoices_JobName}_${DateBegin}_${DATE_FIN_JOB_B}_${FlagDir}_${var}.nc" ] && eval MENAGE \${R_OUT_${comp}}/Analyse/${TS_Dir} ${file1} ${file_out}
-		    fi
-
-		    ExitFlag=false
-		else
-		    # OR NOT
-		    IGCM_sys_ncrcat --hst -v ${liste_coord}${var} ${liste_file_tmp[*]} ${config_UserChoices_JobName}_${DATE_BUILD}_${FlagDir}_${var}.nc
-	        fi
-
-		#
-	        if [ "${DEPOT}" = "TRUE" ] ; then
-		    # WE PUT FINAL FILE ON FILE SYSTEM
-		    [ "${FLAG_B}" = "FALSE" ] && file_out=${config_UserChoices_JobName}_${DATE_BUILD}_${FlagDir}_${var}.nc
-		    file_before=${config_UserChoices_JobName}_${DateBegin}_${DATE_FIN_JOB_B}_${FlagDir}_${var}.nc
-		    #
-		    eval IGCM_sys_Put_Out ${file_out} \${R_OUT_${comp}}/Analyse/${TS_Dir}/${file_out}
-		    [ "${FLAG_B}" = "TRUE" ] && eval MENAGE \${R_OUT_${comp}}/Analyse/${TS_Dir} ${file_before} ${file_out}
-		    if [ ! "X${file1}" = "X" ] ; then
-		    	[ ! "${file1}" = "${config_UserChoices_JobName}_${DateBegin}_${DATE_FIN_JOB_B}_${FlagDir}_${var}.nc" ] && eval MENAGE \${R_OUT_${comp}}/Analyse/${TS_Dir} ${file1} ${file_out}
-		    fi
-		    #
-		    if ( [ ${FlagDir} = "1M" ] && [ -f ${file_out} ] ) ; then
-			file_before_YE=${config_UserChoices_JobName}_${DateBegin}_${DATE_FIN_JOB_B}_1Y_${var}.nc
-			file_out_YE=${config_UserChoices_JobName}_${DATE_BUILD_END}_1Y_${var}.nc
-			#
-                        # Compute yearly average considering calendar
-                        # and set date of the mid year to 01/07 at 00:00
-			IGCM_sys_cdo -settime,00:00 -setday,1 -setmon,7 -settunits,days -divdpy -yearsum -muldpm -selvar,${var} ${file_out} ${file_out_YE}
-			# Extract all ancillary variables except $var, they will be appended after the cdo command
-			# Needed because cdo applies calculs on all variables
-			IGCM_sys_ncks -Oh -x -v ${var} ${file_out} ${file_out_YE%%.nc}_tmp1.nc
-			# This will remove the time axis because cdo rewrites severely with only considered useful variables
-			IGCM_sys_cdo -mulc,1 ${file_out_YE%%.nc}_tmp1.nc ${file_out_YE%%.nc}_tmp2.nc 2>/dev/null
-			if [ $? -eq 0 ] ; then
-				# Now append all ancillary variables if previous cdo operator ok
-				IGCM_sys_ncks -h -A ${file_out_YE%%.nc}_tmp2.nc ${file_out_YE}
-			fi
-
-			# Put global history attribut
-			IGCM_sys_ncatted -Oh -a history,global,o,c,"build by libIGCM/create_ts" ${file_out_YE}
-			#
-			eval IGCM_sys_Put_Out ${file_out_YE} \${R_OUT_${comp}}/Analyse/TS_MO_YE/${file_out_YE}
-			[ "${FLAG_B}" = "TRUE" ] && eval MENAGE \${R_OUT_${comp}}/Analyse/TS_MO_YE/ ${file_before_YE} ${file_out_YE}
-			IGCM_sys_Rm ${file_out_YE%%.nc}_tmp*.nc
-		    fi
-                    #
-		    IGCM_sys_Rm ${file_out}
-		    ExitFlag=false
-		    #
-	        fi
-		#
-	    done     # for var in ${liste_var} ; do
-	    IGCM_sys_Rm ${liste_file_tmp[*]}
-	done         # for file in ${liste_file_brut} do
-    done             # for comp in ${config_ListOfComponents[*]} ; do
-    # GO AHEAD IN DEEPEST LOOP
-    (( CURRENT_LOOP = CURRENT_LOOP + 1 ))
+    DATE_FIN=${PeriodDateEnd}
+    DATE_FIN_JOB_B_LOOP_PREC=${DATE_FIN_JOB_B_LOOP}
+
+    [ -n "${DATE_LOOP}" ] && DATE_FIN_JOB_B_LOOP=${DATE_LOOP}
+    [ -n "${LEVEL}" ] && FLAG_B="TRUE" || FLAG_B="FALSE"
+
+    LEVEL=1
+    DEPOT="TRUE"       
+  elif [ ${CURRENT_LOOP} -ne  ${NBRE_TOUR} ] ; then
+    # - LEVEL 2 : WE ARE IN THE "DEEP" LOOP
+    NBRE_FILE_LOOP=${UNIX_MAX_LIMIT}
+
+    if [ ! ${FIRST_PASS} = TRUE ] && [ ${CURRENT_LOOP} -eq 1 ] ; then
+      Length=$( IGCM_date_DaysInNextPeriod ${DATE_FIN_JOB_B_LOOP} ${config_UserChoices_PeriodLength} )
+      DATE_COURANTE=$( IGCM_date_AddDaysToGregorianDate ${DATE_FIN_JOB_B_LOOP} ${Length} )
+    elif [ -z "${DATE_COURANTE}" ] ; then
+      DATE_COURANTE=${DATE_FIN_JOB_B}
+    else
+      Length=$( IGCM_date_DaysInNextPeriod ${DATE_FIN} ${config_UserChoices_PeriodLength} )
+      DATE_COURANTE=$( IGCM_date_AddDaysToGregorianDate ${DATE_FIN} ${Length} )
+    fi
+
+    (( TotLength = 0 ))
+    COMPTEUR=1
+    DATE_LOOP=${DATE_COURANTE}
+
+    while [ ${COMPTEUR} -lt ${NBRE_FILE_LOOP} ] ; do
+      #
+      Length=$( IGCM_date_DaysInNextPeriod ${DATE_LOOP} ${config_UserChoices_PeriodLength} )
+      DATE_LOOP=$( IGCM_date_AddDaysToGregorianDate ${DATE_LOOP} ${Length} )
+      (( TotLength = TotLength + Length ))
+      (( COMPTEUR = COMPTEUR + 1 ))
+      #
+    done # while [ ${COMPTEUR} -le ${NBRE_FILE_LOOP} ] done
+    DATE_FIN=$( IGCM_date_AddDaysToGregorianDate ${DATE_COURANTE} ${TotLength} )
+
+    [ -n "${DATE_LOOP}" ] && DATE_FIN_JOB_B_LOOP_PREC=${DATE_FIN_JOB_B_LOOP} ; DATE_FIN_JOB_B_LOOP=${DATE_LOOP}
+    [ -n "${LEVEL}" ] && [ ${LEVEL} -eq 0 ] && FLAG_B="TRUE" || [ ${CURRENT_LOOP} -gt 1 ] && FLAG_B="TRUE" || FLAG_B="FALSE"
+    DEPOT="FALSE"
+    LEVEL=2
+  else
+    # - LEVEL 3 : WE ARE IN THE LAST LOOP
+    NBRE_FILE_LOOP=$(( ${NBRE_FILE_TOT} % ( ${UNIX_MAX_LIMIT} * ( ${CURRENT_LOOP} - 1 ) ) ))
+    [ ${NBRE_FILE_LOOP} -eq 0 ] && NBRE_FILE_LOOP=${UNIX_MAX_LIMIT}
+
+    Length=$( IGCM_date_DaysInNextPeriod ${DATE_FIN} ${config_UserChoices_PeriodLength} )
+    DATE_COURANTE=$(IGCM_date_AddDaysToGregorianDate ${DATE_FIN} ${Length} )
+    DATE_FIN=${PeriodDateEnd}
+    [ -n "${DATE_LOOP}" ] && DATE_FIN_JOB_B_LOOP_PREC=${DATE_FIN_JOB_B_LOOP} ; DATE_FIN_JOB_B_LOOP=${DATE_LOOP}
+
+    LEVEL=3
+    DEPOT="TRUE"
+    FLAG_B="TRUE"
+  fi
+
+  # THEN FOR EACH FILE TYPE WE LOOP BETWEEN DATE_COURANTE AND DATE_FIN.
+  for comp in ${config_ListOfComponents[*]} ; do
+    #
+    IGCM_sys_Mkdir ${RUN_DIR_PATH}/${comp}
+      #
+    IGCM_sys_Cd ${RUN_DIR_PATH}/${comp}
+    #
+    eval R_OUT_${comp}=${R_SAVE}/${comp}
+    #
+    i=0
+    #
+    for file in $( eval echo \${LISTE_FILE_${comp}[*]} ); do
+      #
+      # Determine in which output we can find file
+      # IE : Output/MO or Output/DA or ...
+      #
+      FlagDir=$( echo ${file} | awk -F "_" '{print $1}' )
+      case ${FlagDir} in
+        *Y)    TS_Dir=TS_YE  ; FreqDir=YE  ;;
+        *M)    TS_Dir=TS_MO  ; FreqDir=MO  ;;
+        *D)    TS_Dir=TS_DA  ; FreqDir=DA  ;;
+        HF)    TS_Dir=TS_HF  ; FreqDir=HF  ;;
+        3H)    TS_Dir=TS_HF  ; FreqDir=HF  ;;
+        INS)   TS_Dir=TS_INS ; FreqDir=INS ;;
+        *)     IGCM_debug_Print 1 "Error in FlagDir=${FlagDir} for file ${file}."
+               IGCM_sys_Exit "Job create_ts" ;;
+      esac
+
+      # Initialize array
+      #set -A liste_file
+      #set -A liste_file_tmp
+      unset liste_file
+      unset liste_file_tmp
+      eval file_path=\${R_OUT_${comp}}/Output/${FreqDir}/
+
+      COMPTEUR=1
+      DATE_LOOP=${DATE_COURANTE}
+
+      while [ ${COMPTEUR} -le ${NBRE_FILE_LOOP} ] ; do
+        #
+        Length1=$( IGCM_date_DaysInPreviousPeriod ${DATE_LOOP} ${config_UserChoices_PeriodLength} end)
+        DATE_TAB=$(  IGCM_date_AddDaysToGregorianDate ${DATE_LOOP} $(( 1 - Length1 )) )_${DATE_LOOP}
+
+        Length2=$( IGCM_date_DaysInNextPeriod ${DATE_LOOP} ${config_UserChoices_PeriodLength} )
+        DATE_LOOP=$( IGCM_date_AddDaysToGregorianDate ${DATE_LOOP} ${Length2} )
+
+        #set +A liste_file ${liste_file[*]} ${file_path}${config_UserChoices_JobName}_${DATE_TAB}_${file}.nc
+        #set +A liste_file_tmp ${liste_file_tmp[*]} ${config_UserChoices_JobName}_${DATE_TAB}_${file}.nc
+        liste_file[${#liste_file[*]}]=${file_path}${config_UserChoices_JobName}_${DATE_TAB}_${file}.nc
+        liste_file_tmp[${#liste_file_tmp[*]}]=${config_UserChoices_JobName}_${DATE_TAB}_${file}.nc
+        (( COMPTEUR = COMPTEUR + 1 ))
+        #
+      done # while [ ${COMPTEUR} -le ${NBRE_FILE_LOOP} ] done
+      DATE_LOOP=$( IGCM_date_AddDaysToGregorianDate ${DATE_LOOP} -${Length2} )
+
+      # Get selected files
+      IGCM_sys_Get /l liste_file[*] ${RUN_DIR_PATH}/${comp}
+      IGCM_debug_Verif_Exit_Post
+
+      # Apply IGCM_Patch if needed
+      if [ ! X${RebuildFrequency} = Xtrue ] ; then
+        if [ X$( eval echo \${LISTE_PATCHES_${file}[0]} ) !=  X${NULL_STR} ]; then
+          for file_t in $( eval echo ${liste_file_tmp[*]} ); do         
+            for Patch in $( eval echo \${LISTE_PATCHES_${file}[*]} ); do
+              IGCM_${Patch} ${file_t}
+              IGCM_debug_Verif_Exit_Post
+            done
+          done
+        fi
+      fi
+
+      # WE CAN CONCATENATE FILES AT THIS POINT
+      [ "${FLAG_B}" = "TRUE" ] && DATE_BUILD_B=${DateBegin}_${DATE_FIN_JOB_B_LOOP_PREC}
+      Length=$( IGCM_date_DaysInPreviousPeriod ${DATE_COURANTE} ${config_UserChoices_PeriodLength} end)
+      DATE_BUILD1=$( IGCM_date_AddDaysToGregorianDate ${DATE_COURANTE} -$(( Length - 1 )) )
+      DATE_BUILD=${DATE_BUILD1}_${DATE_FIN}
+      DATE_BUILD_END=${DateBegin}_${DATE_FIN}
+
+      liste_coord=" "
+      for axis in $( eval echo \${LISTE_AXIS_${file}[*]} ); do
+        liste_coord=${liste_coord}${axis}","
+      done
+
+      # Time axis must be the last dimension
+      time_axis=${axis}
+
+      # SWITCH BETWEEN MODEL TO FIT PARTICULAR CASE
+      for var in $( eval echo \${LISTE_VARS_${file}[*]} ) ; do
+        #
+        if [ "${FLAG_B}" = "TRUE" ] ; then
+          # WE CONCATENATE WITH EXISTING FILES
+          file1=${config_UserChoices_JobName}_${DATE_BUILD_B}_${FlagDir}_${var}.nc
+          file_out=${config_UserChoices_JobName}_${DATE_BUILD_END}_${FlagDir}_${var}.nc
+          IGCM_sys_ncrcat --hst -v ${liste_coord}${var} ${file1} ${liste_file_tmp[*]} ${file_out}
+          #
+          IGCM_sys_Rm ${file1}
+          if [ ! "${DEPOT}" = "TRUE" ] ; then
+            eval IGCM_sys_Put_Out ${file_out} \${R_OUT_${comp}}/Analyse/${TS_Dir}/${file_out}
+            # "${file1} = file_before ?
+            [ ! "${file1}" = "${config_UserChoices_JobName}_${DateBegin}_${DATE_FIN_JOB_B}_${FlagDir}_${var}.nc" ] && eval MENAGE \${R_OUT_${comp}}/Analyse/${TS_Dir} ${file1} ${file_out}
+          fi
+
+          ExitFlag=false
+        else
+          # OR NOT
+          IGCM_sys_ncrcat --hst -v ${liste_coord}${var} ${liste_file_tmp[*]} ${config_UserChoices_JobName}_${DATE_BUILD}_${FlagDir}_${var}.nc
+        fi
+
+        #
+        if [ "${DEPOT}" = "TRUE" ] ; then
+          # WE PUT FINAL FILE ON FILE SYSTEM
+          [ "${FLAG_B}" = "FALSE" ] && file_out=${config_UserChoices_JobName}_${DATE_BUILD}_${FlagDir}_${var}.nc
+          file_before=${config_UserChoices_JobName}_${DateBegin}_${DATE_FIN_JOB_B}_${FlagDir}_${var}.nc
+          #
+          eval IGCM_sys_Put_Out ${file_out} \${R_OUT_${comp}}/Analyse/${TS_Dir}/${file_out}
+          [ "${FLAG_B}" = "TRUE" ] && eval MENAGE \${R_OUT_${comp}}/Analyse/${TS_Dir} ${file_before} ${file_out}
+          if [ ! "X${file1}" = "X" ] ; then
+            [ ! "${file1}" = "${config_UserChoices_JobName}_${DateBegin}_${DATE_FIN_JOB_B}_${FlagDir}_${var}.nc" ] && eval MENAGE \${R_OUT_${comp}}/Analyse/${TS_Dir} ${file1} ${file_out}
+          fi
+          #
+          if ( [ ${FlagDir} = "1M" ] && [ -f ${file_out} ] ) ; then
+            file_before_YE=${config_UserChoices_JobName}_${DateBegin}_${DATE_FIN_JOB_B}_1Y_${var}.nc
+            file_out_YE=${config_UserChoices_JobName}_${DATE_BUILD_END}_1Y_${var}.nc
+            #
+            # Compute yearly average considering calendar
+            # and set date of the mid year to 01/07 at 00:00
+            IGCM_sys_cdo -settime,00:00 -setday,1 -setmon,7 -settunits,days -divdpy -yearsum -muldpm -selvar,${var} ${file_out} ${file_out_YE}
+            # Extract all ancillary variables except $var, they will be appended after the cdo command
+            # Needed because cdo applies calculs on all variables
+            IGCM_sys_ncks -Oh -x -v ${var} ${file_out} ${file_out_YE%%.nc}_tmp1.nc
+            # This will remove the time axis because cdo rewrites severely with only considered useful variables
+            IGCM_sys_cdo -mulc,1 ${file_out_YE%%.nc}_tmp1.nc ${file_out_YE%%.nc}_tmp2.nc 2>/dev/null
+            if [ $? -eq 0 ] ; then
+              # Now append all ancillary variables if previous cdo operator ok
+              IGCM_sys_ncks -h -A ${file_out_YE%%.nc}_tmp2.nc ${file_out_YE}
+            fi
+
+            # Put global history attribut
+            IGCM_sys_ncatted -Oh -a history,global,o,c,"build by libIGCM/create_ts" ${file_out_YE}
+            #
+            eval IGCM_sys_Put_Out ${file_out_YE} \${R_OUT_${comp}}/Analyse/TS_MO_YE/${file_out_YE}
+            [ "${FLAG_B}" = "TRUE" ] && eval MENAGE \${R_OUT_${comp}}/Analyse/TS_MO_YE/ ${file_before_YE} ${file_out_YE}
+            IGCM_sys_Rm ${file_out_YE%%.nc}_tmp*.nc
+          fi
+          #
+          IGCM_sys_Rm ${file_out}
+          ExitFlag=false
+          #
+        fi
+        #
+      done     # for var in ${liste_var} ; do
+      IGCM_sys_Rm ${liste_file_tmp[*]}
+    done         # for file in ${liste_file_brut} do
+  done             # for comp in ${config_ListOfComponents[*]} ; do
+  # GO AHEAD IN DEEPEST LOOP
+  (( CURRENT_LOOP = CURRENT_LOOP + 1 ))
 done                 # while [ ${CURRENT_LOOP} -le  ${NBRE_TOUR} ] do
 # FINISH
@@ -767,8 +766,8 @@
 # DODS copy
 for comp in ${config_ListOfComponents[*]} ; do
-    for TS_Dir in TS_YE TS_MO TS_MO_YE TS_DA TS_HF TS_INS ; do
-	IGCM_sys_TestDirArchive ${R_SAVE}/${comp}/Analyse/${TS_Dir}
-	[ $? = 0 ] && IGCM_sys_Put_Dods ${comp}/Analyse/${TS_Dir}
-    done
+  for TS_Dir in TS_YE TS_MO TS_MO_YE TS_DA TS_HF TS_INS ; do
+    IGCM_sys_TestDirArchive ${R_SAVE}/${comp}/Analyse/${TS_Dir}
+    [ $? = 0 ] && IGCM_sys_Put_Dods ${comp}/Analyse/${TS_Dir}
+  done
 done
 
@@ -788,6 +787,6 @@
 # --------------------------------------------------------------------
 if ( [ X${TsTask} = X2D ] || [ X${TsTask} = X3D ] || [ X${TsTask} = X ] ) ; then
-    Script_Post_Output=monitoring.${PeriodDateEnd}
-    IGCM_sys_QsubPost monitoring
+  Script_Post_Output=monitoring.${PeriodDateEnd}
+  IGCM_sys_QsubPost monitoring
 fi
 
@@ -797,8 +796,8 @@
 # --------------------------------------------------------------------
 if [ ${StandAlone} != true ] ; then
-    # Put in run.card end period of time series
-    [ X"${DATE_FIN}" = X ] || IGCM_sys_RshMaster IGCM_card_WriteOption ${SUBMIT_DIR}/run.card PostProcessing TimeSeriesCompleted "${DATE_FIN}"
-    # We have finish the job !
-    IGCM_sys_RshMaster IGCM_card_WriteOption ${SUBMIT_DIR}/run.card PostProcessing TimeSeriesRunning "n"
+  # Put in run.card end period of time series
+  [ X"${DATE_FIN}" = X ] || IGCM_sys_RshMaster IGCM_card_WriteOption ${SUBMIT_DIR}/run.card PostProcessing TimeSeriesCompleted "${DATE_FIN}"
+  # We have finish the job !
+  IGCM_sys_RshMaster IGCM_card_WriteOption ${SUBMIT_DIR}/run.card PostProcessing TimeSeriesRunning "n"
 fi
 
Index: trunk/libIGCM/AA_job
===================================================================
--- trunk/libIGCM/AA_job	(revision 784)
+++ trunk/libIGCM/AA_job	(revision 785)
@@ -291,219 +291,219 @@
 while ( ${PeriodContinue} ) ; do
 
-    echo
-    echo "Starting iteration ${Period} / ${PeriodNb}"
-
-    #D-
-    # ------------------------------------------------------------------
-    #D- COMPUTE AND DEFINE DATE STUFF.
-    # ------------------------------------------------------------------
-    IGCM_config_PeriodStart
-    #D- => ${PeriodDateBegin}
-    #D- => ${PeriodDateEnd}
-    #D- => ${CumulPeriod}
-    #D- => ${DatesPeriod}=${PeriodDateBegin}_${PeriodDateEnd}
-    #D- => ${PeriodLength} => JOURS=31 , 28, 29, 30 ; MOIS=0 ; ANS=0
-    #D- => update run.card value
-    
-    #D-
-    # ------------------------------------------------------------------
-    #D- BEGIN COMPUTATION ONLY IF NEEDED
-    # ------------------------------------------------------------------
-    if [ ${SimulationLengthInDays} -gt ${ExperienceLengthInDays} ] ; then
-        IGCM_debug_Print 1 "break because '${SimulationLengthInDays} -gt ${ExperienceLengthInDays}' : ${SimulationLengthInDays} -gt ${ExperienceLengthInDays}"
-        break ;
-    fi 
-   
-    #D-
-    # ------------------------------------------------------------------
-    #D- Optionnal function in driver 
-    #D- to set special variables used in forward lists (Param, Init or Bc).
-    # ------------------------------------------------------------------
-    IGCM_comp_PeriodStart
-    
-    #D-
-    # ------------------------------------------------------------------
-    #D- Get parameters text files updated by job (.def, namelist ...)
-    #D- READ AND USE BY GCM AT EACH EXECUTION.
-    # ------------------------------------------------------------------
-    IGCM_comp_GetInputParametersFiles
-
-    #D-
-    # ------------------------------------------------------------------
-    #D- Get initial state (Etat0, carteveg,relief...)
-    #D- NECESSARY ONLY IF CumulPeriod= (=> NUMERO) == 1
-    #D- AND ???_Restart=NO
-    #D- READ AND USE BY GCM FOR ONLY ONE EXECUTION.
-    # ------------------------------------------------------------------
-    IGCM_comp_GetInputInitialStateFiles
-
-    #D-
-    # ------------------------------------------------------------------
-    #D- Get Boundaries Conditions (SST, WIND[X,Y,Z], LAI ...)
-    #D- READ AND USE BY GCM AT EACH EXECUTION.
-    # ------------------------------------------------------------------
-    IGCM_comp_GetInputBoundaryFiles
-
-    #D-
-    # ------------------------------------------------------------------
-    #D- Get SmoothFiles Conditions (SST, WIND[X,Y,Z], LAI ...)
-    #D- READ AND USE BY GCM AT EACH EXECUTION but varying in time
-    # ------------------------------------------------------------------
-    IGCM_comp_GetInputSmoothFiles 
-
-    #D-
-    # ------------------------------------------------------------------
-    #D- Get restart files (restartphy.nc, orca_restart.nc ...)
-    #D- READ AND USE BY GCM AT EACH EXECUTION.
-    #D-
-    #D- IF A COMPONENT DO NOT RESTART FROM PREVIOULSY COMPUTED RESTART
-    #D- ONLY IF CumulPeriod= (=> NUMERO) == 1
-    #D- MUST EXECUTE CREATE ETAT0_LIMIT (TYPICALLY LMDZ AND ./create_etat0_limit.e)
-    #D-
-    #D- IF CumulPeriod == 1
-    #D- AND A COMPONENT RESTART FROM PREVIOULSY COMPUTED RESTART
-    #D- MUST BRING THIS RESTART IN ${RUN_DIR_PATH}
-    #D-
-    #D- ELSE BRING RESTART FROM ${JobName} IN ${RUN_DIR_PATH}
-    # ------------------------------------------------------------------
-    IGCM_comp_GetInputRestartFiles
-    
-    #D-
-    # ------------------------------------------------------------------
-    #D- Test if all was right before Update
-    # ------------------------------------------------------------------
-    IGCM_debug_Verif_Exit
-
-    # ------------------------------------------------------------------
-    #D- Activate running environnement variables
-    # ------------------------------------------------------------------
-    IGCM_sys_activ_variables
-
-    #D-
-    # ------------------------------------------------------------------
-    #D- UPDATE ParametersFiles (.def, namelist ...) with 
-    #D- current value of (ORCA_NIT00, ORCA_LRSTAR, RAZ_DATE, ...)
-    # ------------------------------------------------------------------
-    IGCM_comp_Update
-
-    #D-
-    # ------------------------------------------------------------------
-    #D- Test if all was right before execution
-    # ------------------------------------------------------------------
-    IGCM_debug_Verif_Exit
-
-    #D-
-    #D----------------------------------------------------------------==
-    #D-                          3. Execution
-    #D----------------------------------------------------------------==
-
-    echo
-    echo "#######################################"
-    echo "#      DIR BEFORE RUN EXECUTION       #"
-    echo "#######################################"
-    echo
-    ls -lrt
-
-    echo "========================================================================"
-    if [ ${DRYRUN} -le 1 ] ; then
-	REAL_DATE_INIT=$( date )
-	echo                                                                                   > ${Exe_Output}
-	echo "#######################################"                                        >> ${Exe_Output}
-        echo "EXECUTION of : ${EXECUTION}"
-        echo "EXECUTION of : ${EXECUTION}"                                                    >> ${Exe_Output}
-	echo                                                                                  >> ${Exe_Output}
-	typeset RET
-	RUN_DATE_BEGIN=$( date '+%Y-%m-%dT%H:%M:%S' )
-	${EXECUTION}  >> ${Exe_Output} 2>&1
-	RET=$?
-	RUN_DATE_END=$( date '+%Y-%m-%dT%H:%M:%S' )
-	if [ ${RET} -gt 0 ] ; then
-	    echo "Return code of executable :" ${RET}
-	    IGCM_debug_Exit "EXECUTABLE"
-	    IGCM_sys_Mkdir ${SUBMIT_DIR}/Debug
-	    IGCM_sys_Cp ${Exe_Output} ${SUBMIT_DIR}/Debug/${PREFIX}_${Exe_Output}_error
-	    ExecutionFail=true
-	fi
-	echo                                            >> ${Exe_Output}
-	echo "#######################################"  >> ${Exe_Output}
-	echo "libIGCM RunDateBegin=${RUN_DATE_BEGIN}"   >> ${Exe_Output}
-	echo "libIGCM RunDateEnd=${RUN_DATE_END}"       >> ${Exe_Output}
-	echo                                            >> ${Exe_Output}
-    else
-        echo "EXECUTION of : ${EXECUTION} simulated for DRYRUN = " $DRYRUN
-        echo "EXECUTION of : ${EXECUTION} simulated for DRYRUN = " $DRYRUN > ${Exe_Output}
-	if ( $DEBUG_debug ) ; then
-	    echo "FOR EXECUTION DRYRUN mode = " $DRYRUN >> stack
-	fi
+  echo
+  echo "Starting iteration ${Period} / ${PeriodNb}"
+
+  #D-
+  # ------------------------------------------------------------------
+  #D- COMPUTE AND DEFINE DATE STUFF.
+  # ------------------------------------------------------------------
+  IGCM_config_PeriodStart
+  #D- => ${PeriodDateBegin}
+  #D- => ${PeriodDateEnd}
+  #D- => ${CumulPeriod}
+  #D- => ${DatesPeriod}=${PeriodDateBegin}_${PeriodDateEnd}
+  #D- => ${PeriodLength} => JOURS=31 , 28, 29, 30 ; MOIS=0 ; ANS=0
+  #D- => update run.card value
+
+  #D-
+  # ------------------------------------------------------------------
+  #D- BEGIN COMPUTATION ONLY IF NEEDED
+  # ------------------------------------------------------------------
+  if [ ${SimulationLengthInDays} -gt ${ExperienceLengthInDays} ] ; then
+    IGCM_debug_Print 1 "break because '${SimulationLengthInDays} -gt ${ExperienceLengthInDays}' : ${SimulationLengthInDays} -gt ${ExperienceLengthInDays}"
+    break ;
+  fi
+
+  #D-
+  # ------------------------------------------------------------------
+  #D- Optionnal function in driver 
+  #D- to set special variables used in forward lists (Param, Init or Bc).
+  # ------------------------------------------------------------------
+  IGCM_comp_PeriodStart
+
+  #D-
+  # ------------------------------------------------------------------
+  #D- Get parameters text files updated by job (.def, namelist ...)
+  #D- READ AND USE BY GCM AT EACH EXECUTION.
+  # ------------------------------------------------------------------
+  IGCM_comp_GetInputParametersFiles
+
+  #D-
+  # ------------------------------------------------------------------
+  #D- Get initial state (Etat0, carteveg,relief...)
+  #D- NECESSARY ONLY IF CumulPeriod= (=> NUMERO) == 1
+  #D- AND ???_Restart=NO
+  #D- READ AND USE BY GCM FOR ONLY ONE EXECUTION.
+  # ------------------------------------------------------------------
+  IGCM_comp_GetInputInitialStateFiles
+
+  #D-
+  # ------------------------------------------------------------------
+  #D- Get Boundaries Conditions (SST, WIND[X,Y,Z], LAI ...)
+  #D- READ AND USE BY GCM AT EACH EXECUTION.
+  # ------------------------------------------------------------------
+  IGCM_comp_GetInputBoundaryFiles
+
+  #D-
+  # ------------------------------------------------------------------
+  #D- Get SmoothFiles Conditions (SST, WIND[X,Y,Z], LAI ...)
+  #D- READ AND USE BY GCM AT EACH EXECUTION but varying in time
+  # ------------------------------------------------------------------
+  IGCM_comp_GetInputSmoothFiles 
+
+  #D-
+  # ------------------------------------------------------------------
+  #D- Get restart files (restartphy.nc, orca_restart.nc ...)
+  #D- READ AND USE BY GCM AT EACH EXECUTION.
+  #D-
+  #D- IF A COMPONENT DO NOT RESTART FROM PREVIOULSY COMPUTED RESTART
+  #D- ONLY IF CumulPeriod= (=> NUMERO) == 1
+  #D- MUST EXECUTE CREATE ETAT0_LIMIT (TYPICALLY LMDZ AND ./create_etat0_limit.e)
+  #D-
+  #D- IF CumulPeriod == 1
+  #D- AND A COMPONENT RESTART FROM PREVIOULSY COMPUTED RESTART
+  #D- MUST BRING THIS RESTART IN ${RUN_DIR_PATH}
+  #D-
+  #D- ELSE BRING RESTART FROM ${JobName} IN ${RUN_DIR_PATH}
+  # ------------------------------------------------------------------
+  IGCM_comp_GetInputRestartFiles
+
+  #D-
+  # ------------------------------------------------------------------
+  #D- Test if all was right before Update
+  # ------------------------------------------------------------------
+  IGCM_debug_Verif_Exit
+
+  # ------------------------------------------------------------------
+  #D- Activate running environnement variables
+  # ------------------------------------------------------------------
+  IGCM_sys_activ_variables
+
+  #D-
+  # ------------------------------------------------------------------
+  #D- UPDATE ParametersFiles (.def, namelist ...) with 
+  #D- current value of (ORCA_NIT00, ORCA_LRSTAR, RAZ_DATE, ...)
+  # ------------------------------------------------------------------
+  IGCM_comp_Update
+
+  #D-
+  # ------------------------------------------------------------------
+  #D- Test if all was right before execution
+  # ------------------------------------------------------------------
+  IGCM_debug_Verif_Exit
+
+  #D-
+  #D----------------------------------------------------------------==
+  #D-                          3. Execution
+  #D----------------------------------------------------------------==
+
+  echo
+  echo "#######################################"
+  echo "#      DIR BEFORE RUN EXECUTION       #"
+  echo "#######################################"
+  echo
+  ls -lrt
+
+  echo "========================================================================"
+  if [ ${DRYRUN} -le 1 ] ; then
+    REAL_DATE_INIT=$( date )
+    echo                                                                                   > ${Exe_Output}
+    echo "#######################################"                                        >> ${Exe_Output}
+    echo "EXECUTION of : ${EXECUTION}"
+    echo "EXECUTION of : ${EXECUTION}"                                                    >> ${Exe_Output}
+    echo                                                                                  >> ${Exe_Output}
+    typeset RET
+    RUN_DATE_BEGIN=$( date '+%Y-%m-%dT%H:%M:%S' )
+    ${EXECUTION}  >> ${Exe_Output} 2>&1
+    RET=$?
+    RUN_DATE_END=$( date '+%Y-%m-%dT%H:%M:%S' )
+    if [ ${RET} -gt 0 ] ; then
+      echo "Return code of executable :" ${RET}
+      IGCM_debug_Exit "EXECUTABLE"
+      IGCM_sys_Mkdir ${SUBMIT_DIR}/Debug
+      IGCM_sys_Cp ${Exe_Output} ${SUBMIT_DIR}/Debug/${PREFIX}_${Exe_Output}_error
+      ExecutionFail=true
     fi
-    echo "========================================================================"
-
-    echo
-    echo "#######################################"
-    echo "#       DIR AFTER RUN EXECUTION       #"
-    echo "#######################################"
-    echo
-    ls -lrt
-
-    #D-
-    # ------------------------------------------------------------------
-    #D- Desactivate running environnement variables
-    # ------------------------------------------------------------------
-    IGCM_sys_desactiv_variables
-
-    #D-
-    #D----------------------------------------------------------------==
-    #D-                    4. Post execution operations
-    #D----------------------------------------------------------------==
-
-    #D-
-    # ------------------------------------------------------------------
-    #D- Save on archive machine netcdf outputs, restarts
-    #D- and text files of models
-    # ------------------------------------------------------------------
-    IGCM_comp_Finalize
-
-    #D-
-    # ------------------------------------------------------------------
-    #D- Test if all was right after Finalize
-    # ------------------------------------------------------------------
-    IGCM_debug_Verif_Exit
-
-    #D-
-    # ------------------------------------------------------------------
-    #D- Configure asynchronous post-treatment (Level 0) when necessary (rebuild)
-    #D- Configure classic post-treatment (Level 1) when necessary (TimeSeries/Seasonal)
-    # ------------------------------------------------------------------
-    IGCM_post_Configure
-
-    #D-
-    # ------------------------------------------------------------------
-    #D- Launch remote rebuild or/and post-treatment process if necessary
-    # ------------------------------------------------------------------
-    IGCM_post_Submit
-
-    #D-
-    # ------------------------------------------------------------------
-    #D- Save job output
-    #D- Manage executable size to save only different binary
-    #D- Write in run.card user, system and elapse time
-    #D- Check that everything went well ! No ? then we stop.
-    #D- Determine next computed period
-    # ------------------------------------------------------------------
-    IGCM_config_PeriodEnd
-
-    echo "Ending iteration ${Period}"
-    (( Period = Period + 1 ))
-
-    # End loop if date end is reached
-    if [ ${SimulationLengthInDays} -ge ${ExperienceLengthInDays} ] ; then
-	break ;
+    echo                                            >> ${Exe_Output}
+    echo "#######################################"  >> ${Exe_Output}
+    echo "libIGCM RunDateBegin=${RUN_DATE_BEGIN}"   >> ${Exe_Output}
+    echo "libIGCM RunDateEnd=${RUN_DATE_END}"       >> ${Exe_Output}
+    echo                                            >> ${Exe_Output}
+  else
+    echo "EXECUTION of : ${EXECUTION} simulated for DRYRUN = " $DRYRUN
+    echo "EXECUTION of : ${EXECUTION} simulated for DRYRUN = " $DRYRUN > ${Exe_Output}
+    if ( $DEBUG_debug ) ; then
+      echo "FOR EXECUTION DRYRUN mode = " $DRYRUN >> stack
     fi
-
-    PeriodContinue=false
-    if [ ${Period} -le ${PeriodNb} ]; then
-	PeriodContinue=true
-    fi
-done 
+  fi
+  echo "========================================================================"
+
+  echo
+  echo "#######################################"
+  echo "#       DIR AFTER RUN EXECUTION       #"
+  echo "#######################################"
+  echo
+  ls -lrt
+
+  #D-
+  # ------------------------------------------------------------------
+  #D- Desactivate running environnement variables
+  # ------------------------------------------------------------------
+  IGCM_sys_desactiv_variables
+
+  #D-
+  #D----------------------------------------------------------------==
+  #D-                    4. Post execution operations
+  #D----------------------------------------------------------------==
+
+  #D-
+  # ------------------------------------------------------------------
+  #D- Save on archive machine netcdf outputs, restarts
+  #D- and text files of models
+  # ------------------------------------------------------------------
+  IGCM_comp_Finalize
+
+  #D-
+  # ------------------------------------------------------------------
+  #D- Test if all was right after Finalize
+  # ------------------------------------------------------------------
+  IGCM_debug_Verif_Exit
+
+  #D-
+  # ------------------------------------------------------------------
+  #D- Configure asynchronous post-treatment (Level 0) when necessary (rebuild)
+  #D- Configure classic post-treatment (Level 1) when necessary (TimeSeries/Seasonal)
+  # ------------------------------------------------------------------
+  IGCM_post_Configure
+
+  #D-
+  # ------------------------------------------------------------------
+  #D- Launch remote rebuild or/and post-treatment process if necessary
+  # ------------------------------------------------------------------
+  IGCM_post_Submit
+
+  #D-
+  # ------------------------------------------------------------------
+  #D- Save job output
+  #D- Manage executable size to save only different binary
+  #D- Write in run.card user, system and elapse time
+  #D- Check that everything went well ! No ? then we stop.
+  #D- Determine next computed period
+  # ------------------------------------------------------------------
+  IGCM_config_PeriodEnd
+
+  echo "Ending iteration ${Period}"
+  (( Period = Period + 1 ))
+
+  # End loop if date end is reached
+  if [ ${SimulationLengthInDays} -ge ${ExperienceLengthInDays} ] ; then
+    break ;
+  fi
+
+  PeriodContinue=false
+  if [ ${Period} -le ${PeriodNb} ]; then
+    PeriodContinue=true
+  fi
+done
 
 #D-
Index: trunk/libIGCM/AA_monitoring
===================================================================
--- trunk/libIGCM/AA_monitoring	(revision 784)
+++ trunk/libIGCM/AA_monitoring	(revision 785)
@@ -154,11 +154,11 @@
 
 if [ ${StandAlone} = true ] ; then
-    CARD_DIR=${SUBMIT_DIR}
+  CARD_DIR=${SUBMIT_DIR}
 else
-    CARD_DIR=${RUN_DIR}
-    IGCM_sys_Get_Master ${SUBMIT_DIR}/config.card ${RUN_DIR_PATH}
-    IGCM_sys_Get_Master ${SUBMIT_DIR}/run.card    ${RUN_DIR_PATH}
-    IGCM_sys_Get_Master ${SUBMIT_DIR}/COMP        ${RUN_DIR_PATH}
-    IGCM_sys_Get_Master ${SUBMIT_DIR}/POST        ${RUN_DIR_PATH}
+  CARD_DIR=${RUN_DIR}
+  IGCM_sys_Get_Master ${SUBMIT_DIR}/config.card ${RUN_DIR_PATH}
+  IGCM_sys_Get_Master ${SUBMIT_DIR}/run.card    ${RUN_DIR_PATH}
+  IGCM_sys_Get_Master ${SUBMIT_DIR}/COMP        ${RUN_DIR_PATH}
+  IGCM_sys_Get_Master ${SUBMIT_DIR}/POST        ${RUN_DIR_PATH}
 fi
 
@@ -183,8 +183,8 @@
 IGCM_sys_TestDirArchive ${R_FIGR}/MONITORING
 if [ $? = 0 ] ; then
-    IGCM_debug_Print 1 "Get MONITORING directory from archive"
-    IGCM_sys_Get_Dir ${R_FIGR}/MONITORING ${RUN_DIR}
+  IGCM_debug_Print 1 "Get MONITORING directory from archive"
+  IGCM_sys_Get_Dir ${R_FIGR}/MONITORING ${RUN_DIR}
 else
-    IGCM_debug_Print 1 "MONITORING first pass. Nothing has been done before"
+  IGCM_debug_Print 1 "MONITORING first pass. Nothing has been done before"
 fi
 # --------------------------------------------
@@ -194,39 +194,39 @@
 
 for comp in ${config_ListOfComponents[*]} ; do
-    IGCM_debug_Print 1 "################## Component: ${comp} ######################"
-    liste_file_monitoring=""
-    IGCM_card_DefineArrayFromOption ${CARD_DIR}/config.card ListOfComponents ${comp}
-    eval compname=\${config_ListOfComponents_${comp}[0]}                > /dev/null 2>&1
-
-    PATH_monitoring_file=""
-    eval monitoring_file=monitoring01_${compname}_\${RESOL_${comp}}.cfg > /dev/null 2>&1
-    if [[ -d ${CARD_DIR}/POST && -f ${CARD_DIR}/POST/monitoring01_${compname}.cfg ]] ; then
-	PATH_monitoring_file=${CARD_DIR}/POST/monitoring01_${compname}.cfg
-    elif [ -f ${FER_ATLAS}/${monitoring_file} ] ; then
-	PATH_monitoring_file=${FER_ATLAS}/${monitoring_file}
-    else
-	IGCM_debug_Print 1 "No monitoring file found for this component. Was expecting ${monitoring_file}"
-	IGCM_debug_Print 1 "Step to next component"
-	continue
-    fi
-    #
-    if [ X${PATH_monitoring_file} != X"" ] ; then
-        IGCM_debug_Print 1 "Monitoring file used : ${PATH_monitoring_file}"
-	IGCM_debug_Print 1 "Determine which files we need."
-	. monitoring01 -l2 --listcommand 'IGCM_sys_RshArchive ls' ${PATH_monitoring_file} ${R_SAVE}/${comp}/Analyse/TS_MO
-	liste_file_monitoring=$( . monitoring01 -q -l2 --listcommand 'IGCM_sys_RshArchive ls' ${PATH_monitoring_file} ${R_SAVE}/${comp}/Analyse/TS_MO )
-    fi
-    #
-    if [ ! "X${liste_file_monitoring}" = X ] ; then
-	IGCM_sys_Get /l liste_file_monitoring ${RUN_DIR}
-	IGCM_debug_Print 1 "monitoring01 -c ${CARD_DIR} -p ${comp} --time -t \"${config_UserChoices_JobName} monitoring\" -o ${RUN_DIR}/MONITORING ${PATH_monitoring_file} ."
-	IGCM_debug_Print 1 "monitoring01 starts ................................................."
-	monitoring01 -c ${CARD_DIR} -p ${comp} --time -t "${config_UserChoices_JobName} monitoring" -o ${RUN_DIR}/MONITORING ${PATH_monitoring_file} .
-    else
-	IGCM_debug_Print 1 "No time series detected by this command :"
-	IGCM_debug_Print 1 "monitoring01 -l2 --listcommand 'IGCM_sys_RshArchive ls' ${PATH_monitoring_file} ${R_SAVE}/${comp}/Analyse/TS_MO"
-	. monitoring01 -l2 --listcommand 'IGCM_sys_RshArchive ls' ${PATH_monitoring_file} ${R_SAVE}/${comp}/Analyse/TS_MO
-    fi
-    #
+  IGCM_debug_Print 1 "################## Component: ${comp} ######################"
+  liste_file_monitoring=""
+  IGCM_card_DefineArrayFromOption ${CARD_DIR}/config.card ListOfComponents ${comp}
+  eval compname=\${config_ListOfComponents_${comp}[0]}                > /dev/null 2>&1
+
+  PATH_monitoring_file=""
+  eval monitoring_file=monitoring01_${compname}_\${RESOL_${comp}}.cfg > /dev/null 2>&1
+  if [[ -d ${CARD_DIR}/POST && -f ${CARD_DIR}/POST/monitoring01_${compname}.cfg ]] ; then
+    PATH_monitoring_file=${CARD_DIR}/POST/monitoring01_${compname}.cfg
+  elif [ -f ${FER_ATLAS}/${monitoring_file} ] ; then
+    PATH_monitoring_file=${FER_ATLAS}/${monitoring_file}
+  else
+    IGCM_debug_Print 1 "No monitoring file found for this component. Was expecting ${monitoring_file}"
+    IGCM_debug_Print 1 "Step to next component"
+    continue
+  fi
+  #
+  if [ X${PATH_monitoring_file} != X"" ] ; then
+    IGCM_debug_Print 1 "Monitoring file used : ${PATH_monitoring_file}"
+    IGCM_debug_Print 1 "Determine which files we need."
+    . monitoring01 -l2 --listcommand 'IGCM_sys_RshArchive ls' ${PATH_monitoring_file} ${R_SAVE}/${comp}/Analyse/TS_MO
+    liste_file_monitoring=$( . monitoring01 -q -l2 --listcommand 'IGCM_sys_RshArchive ls' ${PATH_monitoring_file} ${R_SAVE}/${comp}/Analyse/TS_MO )
+  fi
+  #
+  if [ ! "X${liste_file_monitoring}" = X ] ; then
+    IGCM_sys_Get /l liste_file_monitoring ${RUN_DIR}
+    IGCM_debug_Print 1 "monitoring01 -c ${CARD_DIR} -p ${comp} --time -t \"${config_UserChoices_JobName} monitoring\" -o ${RUN_DIR}/MONITORING ${PATH_monitoring_file} ."
+    IGCM_debug_Print 1 "monitoring01 starts ................................................."
+    monitoring01 -c ${CARD_DIR} -p ${comp} --time -t "${config_UserChoices_JobName} monitoring" -o ${RUN_DIR}/MONITORING ${PATH_monitoring_file} .
+  else
+    IGCM_debug_Print 1 "No time series detected by this command :"
+    IGCM_debug_Print 1 "monitoring01 -l2 --listcommand 'IGCM_sys_RshArchive ls' ${PATH_monitoring_file} ${R_SAVE}/${comp}/Analyse/TS_MO"
+    . monitoring01 -l2 --listcommand 'IGCM_sys_RshArchive ls' ${PATH_monitoring_file} ${R_SAVE}/${comp}/Analyse/TS_MO
+  fi
+  #
 done
 
Index: trunk/libIGCM/AA_move-and-rename
===================================================================
--- trunk/libIGCM/AA_move-and-rename	(revision 784)
+++ trunk/libIGCM/AA_move-and-rename	(revision 785)
@@ -69,111 +69,111 @@
 function REPLACE_sed
 {
-    IGCM_debug_PushStack "REPLACE_sed"
-    typeset RET
-    
-    FILEIN=${1}
-    FILEOUT=$( basename ${FILEIN} )
-
-    sed -e "s&${R_SAVE}&${NEW_R_SAVE}&g" -e "s/${config_UserChoices_JobName}/${NEW_JobName}/g" \
-	${1} > ${RUN_DIR_PATH}/${FILEOUT}
-    RET=$?
-
-    touch --reference=${1} ${RUN_DIR_PATH}/${FILEOUT}
-    IGCM_sys_Mv ${RUN_DIR_PATH}/${FILEOUT} ${2}
-    chmod --reference=${1} ${2}/${FILEOUT}
-
-    IGCM_sys_Rm -f ${1}
-
-    IGCM_debug_Print 3 "REPLACE_sed : ${1} ${2}"
-    
-    IGCM_debug_PopStack "REPLACE_sed"
-    return $RET
+  IGCM_debug_PushStack "REPLACE_sed"
+  typeset RET
+
+  FILEIN=${1}
+  FILEOUT=$( basename ${FILEIN} )
+
+  sed -e "s&${R_SAVE}&${NEW_R_SAVE}&g" -e "s/${config_UserChoices_JobName}/${NEW_JobName}/g" \
+  ${1} > ${RUN_DIR_PATH}/${FILEOUT}
+  RET=$?
+
+  touch --reference=${1} ${RUN_DIR_PATH}/${FILEOUT}
+  IGCM_sys_Mv ${RUN_DIR_PATH}/${FILEOUT} ${2}
+  chmod --reference=${1} ${2}/${FILEOUT}
+
+  IGCM_sys_Rm -f ${1}
+
+  IGCM_debug_Print 3 "REPLACE_sed : ${1} ${2}"
+
+  IGCM_debug_PopStack "REPLACE_sed"
+  return $RET
 }
 
 function MOVE_and_RENAME_files
 {
-    IGCM_debug_PushStack "MOVE_and_RENAME_files"
-
-    typeset VAR_files FILE_OUT file i RET
-
-    VAR_files=${1}
-    eval VAR1=\${${VAR_files[0]}}
-
-    if [ X$( echo ${NEW_R_SAVE} | grep ${config_UserChoices_JobName} ) != X ]; then
-	set +A FILE_OUT -- $( eval echo \${${VAR_files}[*]} | sed -e "s&${R_SAVE}&${NEW_R_SAVE}&g" )
-	((i=0))
-	for file in ${FILE_OUT[@]} ; do
-	    FILE_OUT[$i]=$( dirname $file )/$( echo $( basename $file ) | sed -e "s/${config_UserChoices_JobName}/${NEW_JobName}/g" )
-	    (( i = i + 1 ))
-	done
-    else
-	set +A FILE_OUT -- $( eval echo \${${VAR_files}[*]} | sed -e "s&${R_SAVE}&${NEW_R_SAVE}&g" -e "s/${config_UserChoices_JobName}/${NEW_JobName}/g" )
-    fi
-    IGCM_debug_Print 3 "MOVE_and_RENAME_files all : ${VAR1}"
-    IGCM_debug_Print 3 "    to     ${FILE_OUT}." 
-
-    (( ifile = 0 ))
-    for file_o in ${FILE_OUT[@]} ; do
-	eval IGCM_sys_Mv \${${VAR_files}[${ifile}]} ${file_o}
-	RET=$?
-	(( ifile = ifile + 1 ))
-    done    
-
-    IGCM_debug_PopStack "MOVE_and_RENAME_files"
-    return $RET
+  IGCM_debug_PushStack "MOVE_and_RENAME_files"
+
+  typeset VAR_files FILE_OUT file i RET
+
+  VAR_files=${1}
+  eval VAR1=\${${VAR_files[0]}}
+
+  if [ X$( echo ${NEW_R_SAVE} | grep ${config_UserChoices_JobName} ) != X ]; then
+    set +A FILE_OUT -- $( eval echo \${${VAR_files}[*]} | sed -e "s&${R_SAVE}&${NEW_R_SAVE}&g" )
+    ((i=0))
+    for file in ${FILE_OUT[@]} ; do
+      FILE_OUT[$i]=$( dirname $file )/$( echo $( basename $file ) | sed -e "s/${config_UserChoices_JobName}/${NEW_JobName}/g" )
+      (( i = i + 1 ))
+    done
+  else
+    set +A FILE_OUT -- $( eval echo \${${VAR_files}[*]} | sed -e "s&${R_SAVE}&${NEW_R_SAVE}&g" -e "s/${config_UserChoices_JobName}/${NEW_JobName}/g" )
+  fi
+  IGCM_debug_Print 3 "MOVE_and_RENAME_files all : ${VAR1}"
+  IGCM_debug_Print 3 "    to     ${FILE_OUT}." 
+
+  (( ifile = 0 ))
+  for file_o in ${FILE_OUT[@]} ; do
+    eval IGCM_sys_Mv \${${VAR_files}[${ifile}]} ${file_o}
+    RET=$?
+    (( ifile = ifile + 1 ))
+  done    
+
+  IGCM_debug_PopStack "MOVE_and_RENAME_files"
+  return $RET
 }
 
 function MY_DODS_Cp
 {
-    IGCM_debug_PushStack "MY_DODS_Cp"
-
-    typeset old_JobName old_R_DODS
-    IGCM_sys_Cd ${NEW_R_SAVE}
-    old_JobName=${config_UserChoices_JobName}
-    old_R_DODS=${R_DODS}
-    old_R_SAVE=${R_SAVE}
-
-    config_UserChoices_JobName=${NEW_JobName}
-    R_DODS=${NEW_R_DODS}
-    R_SAVE=${NEW_R_SAVE}
-
-    IGCM_sys_Dods_Cp ${1}
-    IGCM_debug_Print 3 "MY_DODS_Cp : ${config_UserChoices_JobName}/${1}"
-    IGCM_sys_Cd ${RUN_DIR_PATH}
-
-    config_UserChoices_JobName=${old_JobName}
-    R_DODS=${old_R_DODS}
-    R_SAVE=${old_R_SAVE}
-
-    IGCM_debug_PopStack "MY_DODS_Cp"
+  IGCM_debug_PushStack "MY_DODS_Cp"
+
+  typeset old_JobName old_R_DODS
+  IGCM_sys_Cd ${NEW_R_SAVE}
+  old_JobName=${config_UserChoices_JobName}
+  old_R_DODS=${R_DODS}
+  old_R_SAVE=${R_SAVE}
+
+  config_UserChoices_JobName=${NEW_JobName}
+  R_DODS=${NEW_R_DODS}
+  R_SAVE=${NEW_R_SAVE}
+
+  IGCM_sys_Dods_Cp ${1}
+  IGCM_debug_Print 3 "MY_DODS_Cp : ${config_UserChoices_JobName}/${1}"
+  IGCM_sys_Cd ${RUN_DIR_PATH}
+
+  config_UserChoices_JobName=${old_JobName}
+  R_DODS=${old_R_DODS}
+  R_SAVE=${old_R_SAVE}
+
+  IGCM_debug_PopStack "MY_DODS_Cp"
 }
 
 function MY_DODS_Rm
 {
-    IGCM_debug_PushStack "MY_DODS_Rm"
-    DEBUG_debug=false
-
-    IGCM_sys_Cd ${R_SAVE}
-    IGCM_sys_Dods_Rm ${1}
-    IGCM_debug_Print 3 "MY_DODS_Rm : ${config_UserChoices_JobName}/${1}"
-    IGCM_sys_Cd ${RUN_DIR_PATH}
-
-    IGCM_debug_PopStack "MY_DODS_Rm"
+  IGCM_debug_PushStack "MY_DODS_Rm"
+  DEBUG_debug=false
+
+  IGCM_sys_Cd ${R_SAVE}
+  IGCM_sys_Dods_Rm ${1}
+  IGCM_debug_Print 3 "MY_DODS_Rm : ${config_UserChoices_JobName}/${1}"
+  IGCM_sys_Cd ${RUN_DIR_PATH}
+
+  IGCM_debug_PopStack "MY_DODS_Rm"
 }
 ########################################################################
 
 if [ ! -d ${SUBMIT_DIR} ]; then
-    IGCM_debug_Print 1 "No ${SUBMIT_DIR}, we stop here"
-    exit 1
+  IGCM_debug_Print 1 "No ${SUBMIT_DIR}, we stop here"
+  exit 1
 fi
 
 # We temporary change ${run_Configuration_PeriodState} to 
 if [ -f ${SUBMIT_DIR}/run.card ] ; then
-    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
-	old_run_Configuration_PeriodState=${run_Configuration_PeriodState}
-	IGCM_debug_PrintVariables 2 old_run_Configuration_PeriodState
-	IGCM_card_WriteOption ${SUBMIT_DIR}/run.card Configuration PeriodState "OnQueue"
-    fi
+  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
+    old_run_Configuration_PeriodState=${run_Configuration_PeriodState}
+    IGCM_debug_PrintVariables 2 old_run_Configuration_PeriodState
+    IGCM_card_WriteOption ${SUBMIT_DIR}/run.card Configuration PeriodState "OnQueue"
+  fi
 fi
 
@@ -181,13 +181,13 @@
 
 if [ -f ${SUBMIT_DIR}/run.card ] ; then
-    IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/run.card Configuration OldPrefix
-    IGCM_debug_PrintVariables 2 run_Configuration_OldPrefix
-    if [ X${old_run_Configuration_PeriodState} != X"Completed" ] ; then
-	DateEnd=$( IGCM_date_ConvertFormatToGregorian $( echo ${run_Configuration_OldPrefix} | awk -F'_' '{print $2}' ) )
-    else
-	DateEnd=$( IGCM_date_ConvertFormatToGregorian ${config_UserChoices_DateEnd} )
-    fi
+  IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/run.card Configuration OldPrefix
+  IGCM_debug_PrintVariables 2 run_Configuration_OldPrefix
+  if [ X${old_run_Configuration_PeriodState} != X"Completed" ] ; then
+    DateEnd=$( IGCM_date_ConvertFormatToGregorian $( echo ${run_Configuration_OldPrefix} | awk -F'_' '{print $2}' ) )
+  else
+    DateEnd=$( IGCM_date_ConvertFormatToGregorian ${config_UserChoices_DateEnd} )
+  fi
 else
-    DateEnd=$( IGCM_date_ConvertFormatToGregorian ${config_UserChoices_DateEnd} )
+  DateEnd=$( IGCM_date_ConvertFormatToGregorian ${config_UserChoices_DateEnd} )
 fi
 
@@ -203,10 +203,10 @@
 #DEFINE NEW_R_SAVE
 if [ X${config_UserChoices_SpaceName} != X ] ; then
-    NEW_SAVE=${config_UserChoices_TagName}/${NEW_SpaceName}
+  NEW_SAVE=${config_UserChoices_TagName}/${NEW_SpaceName}
 else
-    NEW_SAVE=${config_UserChoices_TagName}
+  NEW_SAVE=${config_UserChoices_TagName}
 fi
 if [ X${config_UserChoices_ExperimentName} != X ] ; then
-    NEW_SAVE=${NEW_SAVE}/${NEW_ExperimentName}
+  NEW_SAVE=${NEW_SAVE}/${NEW_ExperimentName}
 fi
 
@@ -215,7 +215,7 @@
 IGCM_debug_Print 1 "Move ${R_SAVE} to ${NEW_R_SAVE}"
 if [ -d ${NEW_R_SAVE} ] ; then
-    IGCM_debug_Print 1 "ERROR : ${NEW_R_SAVE} directory already exist !"
-    IGCM_debug_Print 1 "We won't try to  We stop here."
-    exit 1
+  IGCM_debug_Print 1 "ERROR : ${NEW_R_SAVE} directory already exist !"
+  IGCM_debug_Print 1 "We won't try to  We stop here."
+  exit 1
 fi
 IGCM_sys_MkdirArchive ${NEW_R_SAVE}
@@ -231,11 +231,11 @@
 # Define NEW_REBUILD_DIR
 if [ -d ${REBUILD_DIR} ] ; then
-    if [ X${config_Post_RebuildFromArchive} = Xtrue ] ; then
-	NEW_REBUILD_DIR=${NEW_R_SAVE}/TMP
-	IGCM_sys_MkdirArchive ${NEW_REBUILD_DIR}
-    else
-	NEW_REBUILD_DIR=${BIG_DIR}/${config_UserChoices_TagName}/${NEW_JobName}
-	IGCM_sys_MkdirWork ${NEW_REBUILD_DIR}
-    fi
+  if [ X${config_Post_RebuildFromArchive} = Xtrue ] ; then
+    NEW_REBUILD_DIR=${NEW_R_SAVE}/TMP
+    IGCM_sys_MkdirArchive ${NEW_REBUILD_DIR}
+  else
+    NEW_REBUILD_DIR=${BIG_DIR}/${config_UserChoices_TagName}/${NEW_JobName}
+    IGCM_sys_MkdirWork ${NEW_REBUILD_DIR}
+  fi
 fi
 
@@ -261,11 +261,11 @@
 # Change JobName and copy run.card
 if [ -f ${OutinDir}/run.card ] ; then
-    sed -e "s/OldPrefix=\ *${config_UserChoices_JobName}/OldPrefix= ${NEW_JobName}/g" \
-	${OutinDir}/run.card > ${RUN_DIR_PATH}/run.card
-    RET=$?
-    if [ ${RET} = 0 ] ; then
-	IGCM_sys_Mv -f ${RUN_DIR_PATH}/run.card ${OutNEWDir}
-	IGCM_sys_Rm -f ${OutinDir}/run.card
-    fi
+  sed -e "s/OldPrefix=\ *${config_UserChoices_JobName}/OldPrefix= ${NEW_JobName}/g" \
+    ${OutinDir}/run.card > ${RUN_DIR_PATH}/run.card
+  RET=$?
+  if [ ${RET} = 0 ] ; then
+    IGCM_sys_Mv -f ${RUN_DIR_PATH}/run.card ${OutNEWDir}
+    IGCM_sys_Rm -f ${OutinDir}/run.card
+  fi
 fi
 
@@ -274,9 +274,9 @@
 set +A listfiles -- $( find ${OutinDir} -type f -name "run.card\.[0-9]*\.[0-9]*" )
 if [ ${#listfiles[*]} -gt 0 ] ; then
-    IGCM_sys_Cp ${listfiles[*]} ${OutNEWDir}
-    RET=$?
-    if [ ${RET} = 0 ] ; then
-	IGCM_sys_Rm -f ${listfiles[*]}
-    fi
+  IGCM_sys_Cp ${listfiles[*]} ${OutNEWDir}
+  RET=$?
+  if [ ${RET} = 0 ] ; then
+    IGCM_sys_Rm -f ${listfiles[*]}
+  fi
 fi
 
@@ -300,33 +300,33 @@
 IGCM_debug_Print 1 "Move Output"
 for comp in ${config_ListOfComponents[*]} ; do
-    IGCM_debug_Print 2 "------------------"
-    IGCM_debug_Print 2 "for component ${comp}"
-
-    unset FREQDIR
-    set +A FREQDIR -- $( find ${R_SAVE}/${comp}/Output -type d -not -name "*Output" )
-
-    IGCM_debug_Print 3 "List of WriteFrequencies : ${FREQDIR[*]}"
-
-    for ThisfreqDir in ${FREQDIR[*]} ; do
-	freq=$( basename ${ThisfreqDir} )
-	IGCM_debug_Print 2 "${freq}."
-
-	NEW_freqDir=${NEW_R_SAVE}/${comp}/Output/${freq}
-	IGCM_sys_MkdirArchive ${NEW_freqDir}
-
-	unset listfiles
-	set +A listfiles -- $( find ${ThisfreqDir} -type f )
-	
-	MOVE_and_RENAME_files "listfiles"
-    done
-
-    unset COMPFILES
-    set +A COMPFILES -- $( find ${R_SAVE}/${comp}/Output -type f )
-    
-    if [ ${#COMPFILES[*]} -gt 0 ] ; then
-	IGCM_debug_Print 2 "simple Output FILES : ${COMPFILES[*]}."
-
-	MOVE_and_RENAME_files "COMPFILES"
-    fi
+  IGCM_debug_Print 2 "------------------"
+  IGCM_debug_Print 2 "for component ${comp}"
+
+  unset FREQDIR
+  set +A FREQDIR -- $( find ${R_SAVE}/${comp}/Output -type d -not -name "*Output" )
+
+  IGCM_debug_Print 3 "List of WriteFrequencies : ${FREQDIR[*]}"
+
+  for ThisfreqDir in ${FREQDIR[*]} ; do
+    freq=$( basename ${ThisfreqDir} )
+    IGCM_debug_Print 2 "${freq}."
+
+    NEW_freqDir=${NEW_R_SAVE}/${comp}/Output/${freq}
+    IGCM_sys_MkdirArchive ${NEW_freqDir}
+
+    unset listfiles
+    set +A listfiles -- $( find ${ThisfreqDir} -type f )
+
+    MOVE_and_RENAME_files "listfiles"
+  done
+
+  unset COMPFILES
+  set +A COMPFILES -- $( find ${R_SAVE}/${comp}/Output -type f )
+
+  if [ ${#COMPFILES[*]} -gt 0 ] ; then
+    IGCM_debug_Print 2 "simple Output FILES : ${COMPFILES[*]}."
+
+    MOVE_and_RENAME_files "COMPFILES"
+  fi
 done
 
@@ -336,15 +336,15 @@
 IGCM_debug_Print 1 "Move Restart"
 for comp in ${config_ListOfComponents[*]} ; do
-    IGCM_debug_Print 2 "------------------"
-    IGCM_debug_Print 2 "for component ${comp}"
-
-    ThisRestDir=${R_SAVE}/${comp}/Restart
-    NEW_RestDir=${NEW_R_SAVE}/${comp}/Restart
-    IGCM_sys_MkdirArchive ${NEW_RestDir}
-
-    unset listfiles
-    set +A listfiles -- $( find ${ThisRestDir} -type f )
-    
-    MOVE_and_RENAME_files "listfiles"
+  IGCM_debug_Print 2 "------------------"
+  IGCM_debug_Print 2 "for component ${comp}"
+
+  ThisRestDir=${R_SAVE}/${comp}/Restart
+  NEW_RestDir=${NEW_R_SAVE}/${comp}/Restart
+  IGCM_sys_MkdirArchive ${NEW_RestDir}
+
+  unset listfiles
+  set +A listfiles -- $( find ${ThisRestDir} -type f )
+
+  MOVE_and_RENAME_files "listfiles"
 done
 
@@ -355,15 +355,15 @@
 IGCM_debug_Print 1 "Move Debug"
 for comp in ${config_ListOfComponents[*]} ; do
-    IGCM_debug_Print 2 "------------------"
-    IGCM_debug_Print 2 "for component ${comp}"
-
-    ThisDebugDir=${R_SAVE}/${comp}/Debug
-    NEW_DebugDir=${NEW_R_SAVE}/${comp}/Debug
-    IGCM_sys_MkdirArchive ${NEW_DebugDir}
-
-    unset listfiles
-    set +A listfiles -- $( find ${ThisDebugDir} -type f )
-    
-    MOVE_and_RENAME_files "listfiles"
+  IGCM_debug_Print 2 "------------------"
+  IGCM_debug_Print 2 "for component ${comp}"
+
+  ThisDebugDir=${R_SAVE}/${comp}/Debug
+  NEW_DebugDir=${NEW_R_SAVE}/${comp}/Debug
+  IGCM_sys_MkdirArchive ${NEW_DebugDir}
+
+  unset listfiles
+  set +A listfiles -- $( find ${ThisDebugDir} -type f )
+
+  MOVE_and_RENAME_files "listfiles"
 done
 
@@ -373,50 +373,50 @@
 IGCM_debug_Print 1 "Move Analyse"
 for comp in ${config_ListOfComponents[*]} ; do
-    IGCM_debug_Print 2 "------------------"
-    IGCM_debug_Print 2 "for component ${comp}"
-    
-    if [ -d ${R_SAVE}/${comp}/Analyse ] ; then
-	unset TSDIR
-	set +A TSDIR -- $( find ${R_SAVE}/${comp}/Analyse -name "TS_*" -type d )
-	
-	for ThisTSDir in ${TSDIR[*]} ; do
-	    TS_Dir=$( basename ${ThisTSDir} )
-	    IGCM_debug_Print 2 "${TS_Dir}."
-	    
-	    NEW_TSDir=${NEW_R_SAVE}/${comp}/Analyse/${TS_Dir}
-	    IGCM_sys_MkdirArchive ${NEW_TSDir}
-	    
-	    MY_DODS_Rm ${comp}/Analyse/${TS_Dir}
-	    
-	    unset listfiles
-	    set +A listfiles -- $( find ${ThisTSDir} -type f )
-	    
-	    MOVE_and_RENAME_files "listfiles"
-	    
-	    MY_DODS_Cp ${comp}/Analyse/${TS_Dir}
-	done
-
-	ThisSEDir=${R_SAVE}/${comp}/Analyse/SE
-	IGCM_sys_TestDirArchive ${ThisSEDir}
-	if [ $? = 0 ] ; then
-	    IGCM_debug_Print 2 "SE."
-	    NEW_SEDir=${NEW_R_SAVE}/${comp}/Analyse/SE
-	    IGCM_sys_MkdirArchive ${NEW_SEDir}
-	    
-	    MY_DODS_Rm ${comp}/Analyse/SE
-	    
-	    unset listfiles
-	    set +A listfiles -- $( find ${ThisSEDir} -type f )
-	    
-	    MOVE_and_RENAME_files "listfiles"
-	    
-	    MY_DODS_Cp ${comp}/Analyse/SE
-	fi
-
-	MY_DODS_Rm ${comp}/Analyse
-	MY_DODS_Rm ${comp}
-    else
-	IGCM_debug_Print 2 "nothing to do without Analyse."
+  IGCM_debug_Print 2 "------------------"
+  IGCM_debug_Print 2 "for component ${comp}"
+
+  if [ -d ${R_SAVE}/${comp}/Analyse ] ; then
+    unset TSDIR
+    set +A TSDIR -- $( find ${R_SAVE}/${comp}/Analyse -name "TS_*" -type d )
+
+    for ThisTSDir in ${TSDIR[*]} ; do
+      TS_Dir=$( basename ${ThisTSDir} )
+      IGCM_debug_Print 2 "${TS_Dir}."
+
+      NEW_TSDir=${NEW_R_SAVE}/${comp}/Analyse/${TS_Dir}
+      IGCM_sys_MkdirArchive ${NEW_TSDir}
+
+      MY_DODS_Rm ${comp}/Analyse/${TS_Dir}
+
+      unset listfiles
+      set +A listfiles -- $( find ${ThisTSDir} -type f )
+
+      MOVE_and_RENAME_files "listfiles"
+
+      MY_DODS_Cp ${comp}/Analyse/${TS_Dir}
+    done
+
+    ThisSEDir=${R_SAVE}/${comp}/Analyse/SE
+    IGCM_sys_TestDirArchive ${ThisSEDir}
+    if [ $? = 0 ] ; then
+      IGCM_debug_Print 2 "SE."
+      NEW_SEDir=${NEW_R_SAVE}/${comp}/Analyse/SE
+      IGCM_sys_MkdirArchive ${NEW_SEDir}
+
+      MY_DODS_Rm ${comp}/Analyse/SE
+
+      unset listfiles
+      set +A listfiles -- $( find ${ThisSEDir} -type f )
+
+      MOVE_and_RENAME_files "listfiles"
+
+      MY_DODS_Cp ${comp}/Analyse/SE
     fi
+
+    MY_DODS_Rm ${comp}/Analyse
+    MY_DODS_Rm ${comp}
+  else
+    IGCM_debug_Print 2 "nothing to do without Analyse."
+  fi
 
 done
@@ -428,11 +428,11 @@
 IGCM_sys_TestDirArchive ${R_SAVE}/${R_ATLAS}
 if [ $? = 0 ] ; then
-#    REPLACE_sed ${NEW_R_SAVE}/${R_ATLAS}/*/*/index.html ${NEW_R_SAVE}/${R_ATLAS}
-
-    MY_DODS_Rm ${R_ATLAS}
-
-    IGCM_sys_Mv ${R_SAVE}/${R_ATLAS} ${NEW_R_SAVE}/${R_ATLAS}
-
-    MY_DODS_Cp ${R_ATLAS}
+  # REPLACE_sed ${NEW_R_SAVE}/${R_ATLAS}/*/*/index.html ${NEW_R_SAVE}/${R_ATLAS}
+
+  MY_DODS_Rm ${R_ATLAS}
+
+  IGCM_sys_Mv ${R_SAVE}/${R_ATLAS} ${NEW_R_SAVE}/${R_ATLAS}
+
+  MY_DODS_Cp ${R_ATLAS}
 fi
 
@@ -441,42 +441,42 @@
 IGCM_sys_TestDirArchive ${R_SAVE}/${R_MONITORING}
 if [ $? = 0 ] ; then
-    IGCM_sys_MkdirArchive ${NEW_R_SAVE}/${R_MONITORING}
-    REPLACE_sed ${R_SAVE}/${R_MONITORING}/index.html ${NEW_R_SAVE}/${R_MONITORING}
-    sed -e "s/OldPrefix=\ *${config_UserChoices_JobName}/OldPrefix= ${NEW_JobName}/g" \
-	${R_SAVE}/${R_MONITORING}/run.card > ${RUN_DIR_PATH}/run.card
-    IGCM_sys_Mv -f ${RUN_DIR_PATH}/run.card ${NEW_R_SAVE}/${R_MONITORING}
-    RET=$?
-    if [ ${RET} = 0 ] ; then
-	IGCM_sys_Rm -f ${R_SAVE}/${R_MONITORING}/run.card
+  IGCM_sys_MkdirArchive ${NEW_R_SAVE}/${R_MONITORING}
+  REPLACE_sed ${R_SAVE}/${R_MONITORING}/index.html ${NEW_R_SAVE}/${R_MONITORING}
+  sed -e "s/OldPrefix=\ *${config_UserChoices_JobName}/OldPrefix= ${NEW_JobName}/g" \
+  ${R_SAVE}/${R_MONITORING}/run.card > ${RUN_DIR_PATH}/run.card
+  IGCM_sys_Mv -f ${RUN_DIR_PATH}/run.card ${NEW_R_SAVE}/${R_MONITORING}
+  RET=$?
+  if [ ${RET} = 0 ] ; then
+    IGCM_sys_Rm -f ${R_SAVE}/${R_MONITORING}/run.card
+  fi
+  REPLACE_sed ${R_SAVE}/${R_MONITORING}/config.card ${NEW_R_SAVE}/${R_MONITORING}
+  IGCM_sys_Cp -rp ${R_SAVE}/${R_MONITORING} ${NEW_R_SAVE}
+
+  MY_DODS_Rm ${R_MONITORING}
+  IGCM_sys_Rm -rf ${R_SAVE}/${R_MONITORING}
+
+  MY_DODS_Cp ${R_MONITORING}
+fi
+
+
+#====================================================
+#REBUILD
+
+if [ -d ${REBUILD_DIR} ] ; then
+
+  IGCM_debug_Print 1 "Move REBUILD"
+  set +A LISTREBUILDS -- $( find ${REBUILD_DIR} -type d  -not -name "*${config_UserChoices_JobName}" -a -not -name "*TMP" )
+
+  for ThisREBDir in ${LISTREBUILDS[*]} ; do
+    rebdir=$( basename ${ThisREBDir} )
+    IGCM_debug_Print 2 "${rebdir}."
+    if [ X${config_Post_RebuildFromArchive} = Xtrue ] ; then
+      IGCM_sys_MkdirArchive ${NEW_REBUILD_DIR}/${rebdir}
+    else
+      IGCM_sys_MkdirWork ${NEW_REBUILD_DIR}/${rebdir}
     fi
-    REPLACE_sed ${R_SAVE}/${R_MONITORING}/config.card ${NEW_R_SAVE}/${R_MONITORING}
-    IGCM_sys_Cp -rp ${R_SAVE}/${R_MONITORING} ${NEW_R_SAVE}
-
-    MY_DODS_Rm ${R_MONITORING}
-    IGCM_sys_Rm -rf ${R_SAVE}/${R_MONITORING}
-
-    MY_DODS_Cp ${R_MONITORING}
-fi
-
-
-#====================================================
-#REBUILD
-
-if [ -d ${REBUILD_DIR} ] ; then
-
-    IGCM_debug_Print 1 "Move REBUILD"
-    set +A LISTREBUILDS -- $( find ${REBUILD_DIR} -type d  -not -name "*${config_UserChoices_JobName}" -a -not -name "*TMP" )
-
-    for ThisREBDir in ${LISTREBUILDS[*]} ; do
-	rebdir=$( basename ${ThisREBDir} )
-	IGCM_debug_Print 2 "${rebdir}."
-	if [ X${config_Post_RebuildFromArchive} = Xtrue ] ; then
-	    IGCM_sys_MkdirArchive ${NEW_REBUILD_DIR}/${rebdir}
-	else
-	    IGCM_sys_MkdirWork ${NEW_REBUILD_DIR}/${rebdir}
-	fi
-	REPLACE_sed ${REBUILD_DIR}/${rebdir}/rebuild.ksh ${NEW_REBUILD_DIR}/${rebdir}
-	IGCM_sys_Mv -f ${REBUILD_DIR}/${rebdir}/* ${NEW_REBUILD_DIR}/${rebdir}/
-    done
+    REPLACE_sed ${REBUILD_DIR}/${rebdir}/rebuild.ksh ${NEW_REBUILD_DIR}/${rebdir}
+    IGCM_sys_Mv -f ${REBUILD_DIR}/${rebdir}/* ${NEW_REBUILD_DIR}/${rebdir}/
+  done
 fi
 
@@ -492,16 +492,16 @@
 echo -n " Your answer (y/n) : \033[m"
 if [ X${reponse} = X ] ; then
-    read reponse
+  read reponse
 fi
 case ${reponse} in
-	    
-    oui|OUI|o|y|yes|YES)
-	echo "OK. It will be erased."
-	IGCM_sys_Rm -Rf ${R_SAVE}
-	echo "done."
-	;;
-    non|NON|n|no|NO)
-	echo "Nothing to do !"
-	;;
+
+  oui|OUI|o|y|yes|YES)
+    echo "OK. It will be erased."
+    IGCM_sys_Rm -Rf ${R_SAVE}
+    echo "done."
+    ;;
+  non|NON|n|no|NO)
+    echo "Nothing to do !"
+    ;;
 esac
 
@@ -512,27 +512,27 @@
 IGCM_debug_Print 1 "edit config.card"
 if [ X${config_UserChoices_SpaceName} != X ] ; then
-    IGCM_card_WriteOption ${SUBMIT_DIR}/config.card UserChoices SpaceName ${NEW_SpaceName}
+  IGCM_card_WriteOption ${SUBMIT_DIR}/config.card UserChoices SpaceName ${NEW_SpaceName}
 fi
 if [ X${config_UserChoices_ExperimentName} != X ] ; then
-    IGCM_card_WriteOption ${SUBMIT_DIR}/config.card UserChoices ExperimentName ${NEW_ExperimentName}
+  IGCM_card_WriteOption ${SUBMIT_DIR}/config.card UserChoices ExperimentName ${NEW_ExperimentName}
 fi
 IGCM_card_WriteOption ${SUBMIT_DIR}/config.card UserChoices JobName ${NEW_JobName}
 
 if [ -f ${SUBMIT_DIR}/run.card ] ; then
-    IGCM_debug_Print 1 "edit run.card"
-    sed -e "s/OldPrefix=\ *${config_UserChoices_JobName}/OldPrefix= ${NEW_JobName}/g" \
-	${SUBMIT_DIR}/run.card > ${RUN_DIR_PATH}/run.card
-    IGCM_sys_Mv -f ${RUN_DIR_PATH}/run.card ${SUBMIT_DIR}/run.card
-
-    if [ X${old_run_Configuration_PeriodState} != X ] ; then
-	IGCM_card_WriteOption ${SUBMIT_DIR}/run.card Configuration PeriodState ${old_run_Configuration_PeriodState}
-    fi
+  IGCM_debug_Print 1 "edit run.card"
+  sed -e "s/OldPrefix=\ *${config_UserChoices_JobName}/OldPrefix= ${NEW_JobName}/g" \
+  ${SUBMIT_DIR}/run.card > ${RUN_DIR_PATH}/run.card
+  IGCM_sys_Mv -f ${RUN_DIR_PATH}/run.card ${SUBMIT_DIR}/run.card
+
+  if [ X${old_run_Configuration_PeriodState} != X ] ; then
+    IGCM_card_WriteOption ${SUBMIT_DIR}/run.card Configuration PeriodState ${old_run_Configuration_PeriodState}
+  fi
 fi
 
 if [ -f ${SUBMIT_DIR}/Job_${config_UserChoices_JobName} ] ; then
-    IGCM_debug_Print 1 "edit Job_${NEW_JobName}"
-    sed -e "s&${R_SAVE}&${NEW_R_SAVE}&g" -e "s/${config_UserChoices_JobName}/${NEW_JobName}/g" \
-	${SUBMIT_DIR}/Job_${config_UserChoices_JobName} > ${SUBMIT_DIR}/Job_${NEW_JobName}
-    chmod --reference=${SUBMIT_DIR}/Job_${config_UserChoices_JobName} ${SUBMIT_DIR}/Job_${NEW_JobName}
-    ls -la ${SUBMIT_DIR}/Job_${NEW_JobName}
-fi
+  IGCM_debug_Print 1 "edit Job_${NEW_JobName}"
+  sed -e "s&${R_SAVE}&${NEW_R_SAVE}&g" -e "s/${config_UserChoices_JobName}/${NEW_JobName}/g" \
+  ${SUBMIT_DIR}/Job_${config_UserChoices_JobName} > ${SUBMIT_DIR}/Job_${NEW_JobName}
+  chmod --reference=${SUBMIT_DIR}/Job_${config_UserChoices_JobName} ${SUBMIT_DIR}/Job_${NEW_JobName}
+  ls -la ${SUBMIT_DIR}/Job_${NEW_JobName}
+fi
Index: trunk/libIGCM/AA_pack_output
===================================================================
--- trunk/libIGCM/AA_pack_output	(revision 784)
+++ trunk/libIGCM/AA_pack_output	(revision 785)
@@ -278,5 +278,5 @@
         #mv liste_pack_${myType}_${date_begin_pack}_${date_end_pack}.txt ${STORE_DEBUG}
         IGCM_debug_Print 1 "Ncrcat and cleaning done for ${dir} and ${myType}"
-	echo
+        echo
       done
     done
Index: trunk/libIGCM/AA_rebuild_fromArchive
===================================================================
--- trunk/libIGCM/AA_rebuild_fromArchive	(revision 784)
+++ trunk/libIGCM/AA_rebuild_fromArchive	(revision 785)
@@ -185,36 +185,36 @@
 #
 if [ ${RebuildFromArchive} = true ] ; then
-    ListAllRebuildDir=$( IGCM_sys_RshArchive ls -d ${REBUILD_DIR}/REBUILD_* | grep -B $(( ${NbRebuildDir} -1 )) ${LastPeriodForRebuild} )
+  ListAllRebuildDir=$( IGCM_sys_RshArchive ls -d ${REBUILD_DIR}/REBUILD_* | grep -B $(( ${NbRebuildDir} -1 )) ${LastPeriodForRebuild} )
 else
-    ListAllRebuildDir=$( IGCM_sys_RshMaster ls -d ${REBUILD_DIR}/REBUILD_* | grep -B $(( ${NbRebuildDir} -1 )) ${LastPeriodForRebuild} )
+  ListAllRebuildDir=$( IGCM_sys_RshMaster ls -d ${REBUILD_DIR}/REBUILD_* | grep -B $(( ${NbRebuildDir} -1 )) ${LastPeriodForRebuild} )
 fi
 #
 
 for directory in ${ListAllRebuildDir} ; do
-    #
-    if [ ${RebuildFromArchive} = true ] ; then
-	IGCM_sys_Get_Dir ${directory} ${RUN_DIR}
-    else
-	IGCM_sys_Get_Master ${directory} ${RUN_DIR}
-    fi
-    #
-    IGCM_sys_Cd ${RUN_DIR}/$( basename ${directory} )
-
-    # --------------------------------------------------------------------
-    # Source function include in the REBUILD ksh and rebuild
-    # --------------------------------------------------------------------
-    . ${RUN_DIR}/$( basename ${directory} )/rebuild.ksh
-    IGCM_FlushRebuild
-    #
-    IGCM_sys_Cd ${RUN_DIR}
-    # Clean Up
-    # local clean up
-    IGCM_sys_Rm -rf $( basename ${directory} )
-    # remote clean up
-    if [ ${RebuildFromArchive} = true ] ; then
-	IGCM_sys_RshArchive rm -rf ${directory}
-    else
-	IGCM_sys_Rm -rf ${directory}
-    fi
+  #
+  if [ ${RebuildFromArchive} = true ] ; then
+    IGCM_sys_Get_Dir ${directory} ${RUN_DIR}
+  else
+    IGCM_sys_Get_Master ${directory} ${RUN_DIR}
+  fi
+  #
+  IGCM_sys_Cd ${RUN_DIR}/$( basename ${directory} )
+
+  # --------------------------------------------------------------------
+  # Source function include in the REBUILD ksh and rebuild
+  # --------------------------------------------------------------------
+  . ${RUN_DIR}/$( basename ${directory} )/rebuild.ksh
+  IGCM_FlushRebuild
+  #
+  IGCM_sys_Cd ${RUN_DIR}
+  # Clean Up
+  # local clean up
+  IGCM_sys_Rm -rf $( basename ${directory} )
+  # remote clean up
+  if [ ${RebuildFromArchive} = true ] ; then
+    IGCM_sys_RshArchive rm -rf ${directory}
+  else
+    IGCM_sys_Rm -rf ${directory}
+  fi
 done
 
Index: trunk/libIGCM/AA_rebuild_fromWorkdir
===================================================================
--- trunk/libIGCM/AA_rebuild_fromWorkdir	(revision 784)
+++ trunk/libIGCM/AA_rebuild_fromWorkdir	(revision 785)
@@ -185,36 +185,36 @@
 #
 if [ ${RebuildFromArchive} = true ] ; then
-    ListAllRebuildDir=$( IGCM_sys_RshArchive ls -d ${REBUILD_DIR}/REBUILD_* | grep -B $(( ${NbRebuildDir} -1 )) ${LastPeriodForRebuild} )
+  ListAllRebuildDir=$( IGCM_sys_RshArchive ls -d ${REBUILD_DIR}/REBUILD_* | grep -B $(( ${NbRebuildDir} -1 )) ${LastPeriodForRebuild} )
 else
-    ListAllRebuildDir=$( IGCM_sys_RshMaster ls -d ${REBUILD_DIR}/REBUILD_* | grep -B $(( ${NbRebuildDir} -1 )) ${LastPeriodForRebuild} )
+  ListAllRebuildDir=$( IGCM_sys_RshMaster ls -d ${REBUILD_DIR}/REBUILD_* | grep -B $(( ${NbRebuildDir} -1 )) ${LastPeriodForRebuild} )
 fi
 #
 
 for directory in ${ListAllRebuildDir} ; do
-    #
-    if [ ${RebuildFromArchive} = true ] ; then
-	IGCM_sys_Get_Dir ${directory} ${RUN_DIR}
-    else
-	IGCM_sys_Get_Master ${directory} ${RUN_DIR}
-    fi
-    #
-    IGCM_sys_Cd ${RUN_DIR}/$( basename ${directory} )
-
-    # --------------------------------------------------------------------
-    # Source function include in the REBUILD ksh and rebuild
-    # --------------------------------------------------------------------
-    . ${RUN_DIR}/$( basename ${directory} )/rebuild.ksh
-    IGCM_FlushRebuild
-    #
-    IGCM_sys_Cd ${RUN_DIR}
-    # Clean Up
-    # local clean up
-    IGCM_sys_Rm -rf $( basename ${directory} )
-    # remote clean up
-    if [ ${RebuildFromArchive} = true ] ; then
-	IGCM_sys_RshArchive rm -rf ${directory}
-    else
-	IGCM_sys_RshMaster rm -rf ${directory}
-    fi
+  #
+  if [ ${RebuildFromArchive} = true ] ; then
+    IGCM_sys_Get_Dir ${directory} ${RUN_DIR}
+  else
+    IGCM_sys_Get_Master ${directory} ${RUN_DIR}
+  fi
+  #
+  IGCM_sys_Cd ${RUN_DIR}/$( basename ${directory} )
+
+  # --------------------------------------------------------------------
+  # Source function include in the REBUILD ksh and rebuild
+  # --------------------------------------------------------------------
+  . ${RUN_DIR}/$( basename ${directory} )/rebuild.ksh
+  IGCM_FlushRebuild
+  #
+  IGCM_sys_Cd ${RUN_DIR}
+  # Clean Up
+  # local clean up
+  IGCM_sys_Rm -rf $( basename ${directory} )
+  # remote clean up
+  if [ ${RebuildFromArchive} = true ] ; then
+    IGCM_sys_RshArchive rm -rf ${directory}
+  else
+    IGCM_sys_RshMaster rm -rf ${directory}
+  fi
 done
 
Index: trunk/libIGCM/libIGCM_debug/libIGCM_debug.ksh
===================================================================
--- trunk/libIGCM/libIGCM_debug/libIGCM_debug.ksh	(revision 784)
+++ trunk/libIGCM/libIGCM_debug/libIGCM_debug.ksh	(revision 785)
@@ -81,9 +81,9 @@
       decal=0
       until [ $decal -eq ${i} ]; do
-	printf -- ' '
-	let $(( decal=decal+1 ))
+        printf -- ' '
+        let $(( decal=decal+1 ))
       done
       echo "$i - ${IGCM_debug_Stack[$(( $IGCM_debug_LenStack-$i-1 ))]}"\
-		"(${IGCM_debug_StackArgs[$(( $IGCM_debug_LenStack-$i-1 ))]})"
+           "(${IGCM_debug_StackArgs[$(( $IGCM_debug_LenStack-$i-1 ))]})"
       let $((i=i+1))
     done
@@ -229,6 +229,6 @@
       echo
       if ( $DEBUG_debug ) ; then
-	IGCM_sys_Cp stack ${SUBMIT_DIR}/stack_error
-	echo
+        IGCM_sys_Cp stack ${SUBMIT_DIR}/stack_error
+        echo
       fi
       # Mail notification
Index: trunk/libIGCM/libIGCM_sys/libIGCM_sys_curie.ksh
===================================================================
--- trunk/libIGCM/libIGCM_sys/libIGCM_sys_curie.ksh	(revision 784)
+++ trunk/libIGCM/libIGCM_sys/libIGCM_sys_curie.ksh	(revision 785)
@@ -326,7 +326,7 @@
 #      if [ ${status} -ne 0 ];
 #      then
-#	sleep $DELAI
+#        sleep $DELAI
 #      else
-#	break
+#        break
 #      fi
 #      let i=$i+1
@@ -1475,11 +1475,11 @@
     #echo ${dm_liste[0]} | grep "${R_OUT}" > /dev/null 2>&1
     #if [ $? -eq 0 ] ; then
-    #    # Yes  ? then we try to get it in SCRATCHDIR
-    #    set +A file_work $( echo ${dm_liste[*]} | sed -e "s|${R_OUT}|${R_BUF}|g" )
-    #    if [ -f ${file_work[0]} ] ; then
-    #	IGCM_sys_Cp ${file_work[*]} ${DEST}
-    #	IGCM_debug_PopStack "IGCM_sys_Get"
-    #	return
-    #    fi
+    #  # Yes  ? then we try to get it in SCRATCHDIR
+    #  set +A file_work $( echo ${dm_liste[*]} | sed -e "s|${R_OUT}|${R_BUF}|g" )
+    #  if [ -f ${file_work[0]} ] ; then
+    #    IGCM_sys_Cp ${file_work[*]} ${DEST}
+    #    IGCM_debug_PopStack "IGCM_sys_Get"
+    #    return
+    #  fi
     #fi
 
@@ -1493,22 +1493,22 @@
 
     #if [ ${status} -gt 0 ] ; then
-    #    if [ ! "X$( grep "Lost dmusrcmd connection" out_rsync )" = "X" ] ; then
-    #	cat out_rsync
-    #	echo "WARNING IGCM_sys_Get : Lost dmusrcmd connection : "
-    #	sleep 30
-    #	echo "We try another time"
-    ##	dmget ${dm_liste[*]} > out_rsync 2>&1
-    #   ccc_hsm get ${dm_liste[*]} > out_rsync 2>&1
-    #	status=$?
-    #	if [ ${status} -gt 0 ] ; then
-    #       echo "ERROR IGCM_sys_Get : again demigration error :"
-    #       cat out_rsync
-    #       IGCM_debug_Exit "IGCM_sys_Get"
-    #	fi
-    #    else
-    #	echo "ERROR IGCM_sys_Get : demigration error :"
-    #	cat out_rsync
-    #	IGCM_debug_Exit "IGCM_sys_Get"
+    #  if [ ! "X$( grep "Lost dmusrcmd connection" out_rsync )" = "X" ] ; then
+    #    cat out_rsync
+    #    echo "WARNING IGCM_sys_Get : Lost dmusrcmd connection : "
+    #    sleep 30
+    #    echo "We try another time"
+    ##    dmget ${dm_liste[*]} > out_rsync 2>&1
+    #    ccc_hsm get ${dm_liste[*]} > out_rsync 2>&1
+    #    status=$?
+    #    if [ ${status} -gt 0 ] ; then
+    #      echo "ERROR IGCM_sys_Get : again demigration error :"
+    #      cat out_rsync
+    #      IGCM_debug_Exit "IGCM_sys_Get"
     #    fi
+    #  else
+    #    echo "ERROR IGCM_sys_Get : demigration error :"
+    #    cat out_rsync
+    #    IGCM_debug_Exit "IGCM_sys_Get"
+    #  fi
     #fi
 
@@ -1730,11 +1730,11 @@
     status=$?
 
-#	if [ ${status} -gt 0 ] ; then
-#           echo "IGCM_sys_Dods_Rm : error."
-#           cat out_dods_rm
-#           IGCM_debug_Exit "IGCM_sys_Dods_Rm"
-#	else
-#           rm out_dods_rm
-#	fi
+#    if [ ${status} -gt 0 ] ; then
+#      echo "IGCM_sys_Dods_Rm : error."
+#      cat out_dods_rm
+#      IGCM_debug_Exit "IGCM_sys_Dods_Rm"
+#    else
+#      rm out_dods_rm
+#    fi
 
   else
Index: trunk/libIGCM/libIGCM_sys/libIGCM_sys_default.ksh
===================================================================
--- trunk/libIGCM/libIGCM_sys/libIGCM_sys_default.ksh	(revision 784)
+++ trunk/libIGCM/libIGCM_sys/libIGCM_sys_default.ksh	(revision 785)
@@ -774,5 +774,5 @@
     echo "IGCM_sys_RmRunDir :" $@
     echo "Dummy call, let the scheduler do that."
-#	IGCM_sys_Rm -rf ${RUN_DIR}
+#    IGCM_sys_Rm -rf ${RUN_DIR}
   fi
   IGCM_debug_PopStack "IGCM_sys_RmRunDir"
Index: trunk/libIGCM/libIGCM_sys/libIGCM_sys_iitm.ksh
===================================================================
--- trunk/libIGCM/libIGCM_sys/libIGCM_sys_iitm.ksh	(revision 784)
+++ trunk/libIGCM/libIGCM_sys/libIGCM_sys_iitm.ksh	(revision 785)
@@ -156,6 +156,6 @@
 EOF
     if [ $? -gt 0 ] ; then
-	echo "IGCM_sys_RshArchive : erreur."
-	IGCM_debug_Exit "IGCM_sys_RshArchive"
+      echo "IGCM_sys_RshArchive : erreur."
+      IGCM_debug_Exit "IGCM_sys_RshArchive"
     fi
     IGCM_debug_PopStack "IGCM_sys_RshMaster"
@@ -173,6 +173,6 @@
 EOF
     if [ $? -gt 0 ] ; then
-	echo "IGCM_sys_RshArchive : erreur."
-	IGCM_debug_Exit "IGCM_sys_RshArchive"
+      echo "IGCM_sys_RshArchive : erreur."
+      IGCM_debug_Exit "IGCM_sys_RshArchive"
     fi
     IGCM_debug_PopStack "IGCM_sys_RshArchive"
@@ -187,11 +187,11 @@
     IGCM_debug_PushStack "IGCM_sys_RshPost" $@
     if ( $DEBUG_sys ) ; then
-	echo "IGCM_sys_RshPost :" $@
+      echo "IGCM_sys_RshPost :" $@
     fi
     /bin/ksh ${@}
     #rsh ulam exec /bin/ksh ${@}
     if [ $? -gt 0 ] ; then
-	echo "IGCM_sys_RshPost : erreur."
-	IGCM_debug_Exit "IGCM_sys_RshPost"
+      echo "IGCM_sys_RshPost : erreur."
+      IGCM_debug_Exit "IGCM_sys_RshPost"
     fi
     IGCM_debug_PopStack "IGCM_sys_RshPost"
@@ -206,11 +206,11 @@
     IGCM_debug_PushStack "IGCM_sys_SendMail" $@
     if ( $DEBUG_sys ) ; then
-	echo "IGCM_sys_SendMail :" $@
+      echo "IGCM_sys_SendMail :" $@
     fi
 
     if ( ${ExitFlag} ) ; then
-	status=failed
+      status=failed
     else
-	status=completed
+      status=completed
     fi
     cat  << END_MAIL > job_end.mail
@@ -225,14 +225,14 @@
 
     if [ ! -z ${config_UserChoices_MailName} ] ; then
-	mailx -s "${config_UserChoices_JobName} ${status}" ${config_UserChoices_MailName} <  job_end.mail
+      mailx -s "${config_UserChoices_JobName} ${status}" ${config_UserChoices_MailName} <  job_end.mail
     elif [ -f ~/.forward ] ; then
-	mailx -s "${config_UserChoices_JobName} ${status}" $( cat ~/.forward ) < job_end.mail
+      mailx -s "${config_UserChoices_JobName} ${status}" $( cat ~/.forward ) < job_end.mail
     else
-	mailx -s "${config_UserChoices_JobName} ${status}" ${USER} < job_end.mail
+      mailx -s "${config_UserChoices_JobName} ${status}" ${USER} < job_end.mail
     fi
 
     if [ $? -gt 0 ] ; then
-	echo "IGCM_sys_SendMail : erreur."
-	IGCM_debug_Exit "IGCM_sys_SendMail"
+      echo "IGCM_sys_SendMail : erreur."
+      IGCM_debug_Exit "IGCM_sys_SendMail"
     fi
     IGCM_debug_PopStack "IGCM_sys_SendMail"
