Index: TOOLS/PACK_IPSL/launch_and_measureTime.sh
===================================================================
--- TOOLS/PACK_IPSL/launch_and_measureTime.sh	(revision 1862)
+++ TOOLS/PACK_IPSL/launch_and_measureTime.sh	(revision 1863)
@@ -25,5 +25,18 @@
        then
            local cmdToPrint=`echo $cmdReport | awk '{print $NF}' `
-	   echo "./process_list.sh $cmdToPrint" >> ${tasksListFile}
+	   case "x$resCmd" in
+	   x5)
+	       newCmdToPrint=`echo $cmdToPrint | sed 's;output_ncrcat;output_tar;' `
+	       echo "./process_list.sh $newCmdToPrint" >> ${tasksListFile}
+	   ;;
+	   x10)
+	       echo "./process_list.sh $cmdToPrint" >> ${tasksListFile}	       
+	       newCmdToPrint=`echo $cmdToPrint | sed 's;output_ncrcat;output_tar;' `
+	       echo "./process_list.sh $newCmdToPrint" >> ${tasksListFile}
+	   ;;
+	   *)
+	       echo "./process_list.sh $cmdToPrint" >> ${tasksListFile}
+	   ;;
+	   esac
        fi
    done
@@ -162,7 +175,7 @@
 #MSUB -r pack_ipsl          # Nom du job                
 ### mutable directives ###
-#MSUB -o /ccc/dmfbuf/import_data.2/ccrt/dmnfs12/cont003/bacasable/GUILLAUME/PSEUDO_DMNFS_PROGRESS/zIGCM_OUT/LMDZ4OR_v2/detailed_pack_output/pack_ipsl_%I.o
-#MSUB -e /ccc/dmfbuf/import_data.2/ccrt/dmnfs12/cont003/bacasable/GUILLAUME/PSEUDO_DMNFS_PROGRESS/zIGCM_OUT/LMDZ4OR_v2/detailed_pack_output/pack_ipsl_%I.e
-#MSUB -n 4
+#MSUB -o /ccc/dmfbuf/import_data.2/ccrt/dmnfs12/cont003/bacasable/GUILLAUME/PSEUDO_DMNFS_PROGRESS/zIGCM_OUT/detailed_pack_output/pack_ipsl_%I.o
+#MSUB -e /ccc/dmfbuf/import_data.2/ccrt/dmnfs12/cont003/bacasable/GUILLAUME/PSEUDO_DMNFS_PROGRESS/zIGCM_OUT/detailed_pack_output/pack_ipsl_%I.e
+#MSUB -n 7
 #MSUB -T 900
 #MSUB -A tgcc0013
@@ -233,7 +246,7 @@
        do
     	    echo "./process_list.sh $file" >> ${inputCmd}
-       done
-       
+       done      
     done
+    
 else
     # if try > 1 && inst == 1 ==> construction liste cmd avec fichiers try - 1, derniere instance
@@ -299,10 +312,10 @@
 
 # a virer #########################################
-#if [ ${numNewInstance} -ge 4 ]
-#then
-#    echo >> $badFailureFile
-#    echo "4eme instance. STOP." >> $badFailureFile
-#    exit 1
-#fi
+if [ ${numNewInstance} -ge 10 ]
+then
+    echo >> $badFailureFile
+    echo "10eme instance. STOP." >> $badFailureFile
+    exit 1
+fi
 ###################################################
 # startTime=$( getDateMilliSeconds ) # suppr
@@ -341,5 +354,5 @@
 # ----------------------
 everythingOK=`cat $nextInputCmd | wc -l `
-if [ "x{everythingOK}" == "x0"]
+if [ "x${everythingOK}" == "x0"]
 then
     echo "Tout s'est fini correctement" >> $badFailureFile
Index: TOOLS/PACK_IPSL/launch_ipsl_pack.sh
===================================================================
--- TOOLS/PACK_IPSL/launch_ipsl_pack.sh	(revision 1862)
+++ TOOLS/PACK_IPSL/launch_ipsl_pack.sh	(revision 1863)
@@ -68,4 +68,18 @@
 . load_ipslPack_env.sh
 
+if [ "x${IGCM_DEM}" == "x" ]
+then
+    echo "variable IGCM_DEM non renseignee. STOP."
+    exit 1
+fi
+# rm -f ${IGCM_DEM}/Listing.txt # gpdebug : en cas de reprise, on ne peut pas laisser ca en l'etat --> suppr
+# gpdebug : Donc on rajoute le if qui suit
+if [ "x${execEveryStep}" == "x1" ]
+then
+    echo "Destruction du repertoire :"
+    echo "${IGCM_DEM}"
+    rm -rf ${IGCM_DEM}
+fi
+
 export IGCM_TMP="${IGCM_DEM}/tmp"  # gpdebug : added
 # INPUT_DMF_DATA, positionnee par le load_ipslPack_env.sh, sert pour pour PATH_SIMUL_SHORT dans create_config_card.sh
@@ -102,11 +116,4 @@
 # 0- on cree le listing correspondant au fichier param 
 # on efface les tests precedents
-
-# rm -f ${IGCM_DEM}/Listing.txt # gpdebug : en cas de reprise, on ne peut pas laisser ca en l'etat --> suppr
-# gpdebug : Donc on rajoute le if qui suit
-if [ "x${execEveryStep}" == "x1" ]
-then
-    rm -f ${IGCM_DEM}/Listing.txt
-fi
 
 for DIR in $( awk '{print $0}' ${LISTE_SIMUL} ) ; do 
Index: TOOLS/PACK_IPSL/load_batch_directives.sh
===================================================================
--- TOOLS/PACK_IPSL/load_batch_directives.sh	(revision 1862)
+++ TOOLS/PACK_IPSL/load_batch_directives.sh	(revision 1863)
@@ -2,5 +2,5 @@
 
 # Directives Batch pour le code parallele
-export nbProcs="4"
+export nbProcs="7"
 export computationTime="900"
 export timeLimitBeforeEnd="890"
Index: TOOLS/PACK_IPSL/load_ipslPack_env.sh
===================================================================
--- TOOLS/PACK_IPSL/load_ipslPack_env.sh	(revision 1862)
+++ TOOLS/PACK_IPSL/load_ipslPack_env.sh	(revision 1863)
@@ -23,4 +23,46 @@
 #export OUTPUT_PROGRESS="/scratch/cont003/pierreg/PSEUDO_DMNFS_PROGRESS"
 
+
+
+# Determination du chemin pour le rep ${PSEUDO_DMNFS_PROGRESS}/USER (seulement pour la partie de pack)
+# ------------------------------------------------------------------
+# Le rep ${OUTPUT_PROGRESS} contiendra des sous rep USER
+# ${OUTPUT_PROGRESS}/USER contiendra, pour l'utilisateur USER :
+#    * la liste des taches a executer en parallele par le prog c/mpi
+#    * la nouvelle liste des taches qui n'ont pas ete reussies dans un premier temps
+#    * les sorties des taches executees en parallele (traitement des liste de fichiers)
+# L'idee est de regrouper ces elements dans un rep ${OUTPUT_PROGRESS}/USER
+# Pour determiner le rep USER, on parcourt ${IGCM_DEM}/config_card.liste. 
+# La chaine de caract commune a toutes les lignes de ce fichier est le rep USER, 
+# que l'on cree ensuite dans ${OUTPUT_PROGRESS}
+
+function find_intersection
+{
+    # Trouve la sous chaine commune de 2 chaines de caract
+    local string1=$1
+    local string2=$2
+
+    local lengthString1=${#string1}
+    local lengthString2=${#string2}
+
+    local longestString=
+    local smallestString=
+    if [ $lengthString1 -ge $lengthString2 ]
+    then
+       longestString=$string1
+       smallestString=$string2
+    else
+       longestString=$string2
+       smallestString=$string1  
+    fi
+
+    while [ "x`echo $longestString | grep $smallestString `" == "x" ]
+    do
+	smallestString=$( dirname $smallestString )
+    done
+    echo "$smallestString"
+}
+
+
 scriptCallingThisOne="$scriptCallingLoad"
 # echo "scriptCallingThisOne=$scriptCallingThisOne"
@@ -29,43 +71,6 @@
 then
 
-    # Determination du chemin pour le rep ${PSEUDO_DMNFS_PROGRESS}/USER (seulement pour la partie de pack)
-    # ------------------------------------------------------------------
-    # Le rep ${OUTPUT_PROGRESS} contiendra des sous rep USER
-    # ${OUTPUT_PROGRESS}/USER contiendra, pour l'utilisateur USER :
-    #    * la liste des taches a executer en parallele par le prog c/mpi
-    #    * la nouvelle liste des taches qui n'ont pas ete reussies dans un premier temps
-    #    * les sorties des taches executees en parallele (traitement des liste de fichiers)
-    # L'idee est de regrouper ces elements dans un rep ${OUTPUT_PROGRESS}/USER
-    # Pour determiner le rep USER, on parcourt ${IGCM_DEM}/config_card.liste. 
-    # La chaine de caract commune a toutes les lignes de ce fichier est le rep USER, 
-    # que l'on cree ensuite dans ${OUTPUT_PROGRESS}
-
-    function find_intersection
-    {
-	# Trouve la sous chaine commune de 2 chaines de caract
-	local string1=$1
-	local string2=$2
-
-	local lengthString1=${#string1}
-	local lengthString2=${#string2}
-
-	local longestString=
-	local smallestString=
-	if [ $lengthString1 -ge $lengthString2 ]
-	then
-	   longestString=$string1
-	   smallestString=$string2
-	else
-	   longestString=$string2
-	   smallestString=$string1  
-	fi
-
-	while [ "x`echo $longestString | grep $smallestString `" == "x" ]
-	do
-            smallestString=$( dirname $smallestString )
-	done
-	echo "$smallestString"
-    }
-
+    echo "specific loading for pack script."
+    
     COMMON_STRING=`head -n 1 ${IGCM_DEM}/config_card.liste | awk '{print $1}' | xargs dirname `
     for CONFIG in $( awk '{print $1}' ${IGCM_DEM}/config_card.liste ) ; do
Index: TOOLS/PACK_IPSL/parallelPack.sh
===================================================================
--- TOOLS/PACK_IPSL/parallelPack.sh	(revision 1862)
+++ TOOLS/PACK_IPSL/parallelPack.sh	(revision 1863)
@@ -241,5 +241,10 @@
 done
 
-
-
-
+if [ ${elapsedTime} -ge 500 ]
+then
+    echo "Les 500 sec sont ecoulees, les traitements continuent..."
+fi
+
+
+
+
Index: TOOLS/PACK_IPSL/process_list.sh
===================================================================
--- TOOLS/PACK_IPSL/process_list.sh	(revision 1862)
+++ TOOLS/PACK_IPSL/process_list.sh	(revision 1863)
@@ -107,5 +107,5 @@
 		echo "DELEGATE to tar command with option --switchtotar" >> $statusfile
 		mv $set $PATH_SIMU/output_tar
-		exit 0
+		exit 5
 	fi
 	# echo "output_ncrcat : blabla 2"
@@ -202,5 +202,13 @@
 				cp $set $PATH_SIMU/output_tar # gpdebug : a retablir
 			fi
-			exit 1
+			
+			# exit 10 : il faut tarer cette liste dans "output_tar" et tenter de la concatener a nouveau
+			# exit 5 : seulement la tarer dans "output_tar"
+			if [ "x${extratar}" == "x1" ]
+			then
+			    exit 10
+			else
+			    exit 5
+			fi
 		fi
 	fi
Index: TOOLS/PACK_IPSL/showPackProgress.sh
===================================================================
--- TOOLS/PACK_IPSL/showPackProgress.sh	(revision 1862)
+++ TOOLS/PACK_IPSL/showPackProgress.sh	(revision 1863)
@@ -423,22 +423,42 @@
 # find $IGCM_DEM -printf "%y %s %p \n" >> ${IGCM_DEM}/ListingEnd.txt
 rm -f ${IGCM_DEM}/ListingEnd.txt
-find $OUTPUT_STORE -printf "%y %s %p \n" >> ${IGCM_DEM}/ListingEnd.txt
-find $OUTPUT_WORK -printf "%y %s %p \n" >> ${IGCM_DEM}/ListingEnd.txt
+ if [ -d "${OUTPUT_STORE}" ]
+ then
+     find $OUTPUT_STORE -printf "%y %s %p \n" >> ${IGCM_DEM}/ListingEnd.txt
+ fi
+ if [ -d "${OUTPUT_WORK}" ]
+ then
+     find $OUTPUT_WORK -printf "%y %s %p \n" >> ${IGCM_DEM}/ListingEnd.txt
+ fi
 NbInodeAfter=`cat ${IGCM_DEM}/ListingEnd.txt |wc -l`
-echo
-echo "##################"
-echo "#####  BILAN #####"
-echo "##################"
-echo "nb of Lists packed with success : ${nbOfListsPacked} / ${totalNbOfList}"
-echo "nb of fails : $nbOfListsFailed"
-echo "nb of inodes packed : $TotalNbInodes"
-echo "nb simul full tared : $TotalSimuTar"
-echo "nb inode before : $NbInodeBefore"
-echo "nb inode after : $NbInodeAfter"
-echo "Total time for elementary operations : $totalTime" 
-# echo "waiting time : $waitingTime" # supprime pour le moment : pb si +sieurs instances ==> on simplifie
-# echo "Time since execution start : $timeSinceExecutionStart" # supprime pour le moment : pb si +sieurs instances ==> on simplifie
-echo "Time since launch start : $timeSinceLaunchStart"
-
-
-
+
+if [ "x${outputFile}" == "x" ]
+then
+    echo
+    echo "##################"
+    echo "#####  BILAN #####"
+    echo "##################"
+    echo "nb of Lists packed with success : ${nbOfListsPacked} / ${totalNbOfList}"
+    echo "nb of fails : $nbOfListsFailed"
+    echo "nb of inodes packed : $TotalNbInodes"
+    echo "nb simul full tared : $TotalSimuTar"
+    echo "nb inode before : $NbInodeBefore"
+    echo "nb inode after : $NbInodeAfter"
+    echo "Total time for elementary operations : $totalTime" 
+    echo "Time since launch start : $timeSinceLaunchStart"
+
+else
+    echo
+    echo "##################" >> ${outputFile}
+    echo "#####  BILAN #####" >> ${outputFile}
+    echo "##################" >> ${outputFile}
+    echo "nb of Lists packed with success : ${nbOfListsPacked} / ${totalNbOfList}" >> ${outputFile}
+    echo "nb of fails : $nbOfListsFailed" >> ${outputFile}
+    echo "nb of inodes packed : $TotalNbInodes" >> ${outputFile}
+    echo "nb simul full tared : $TotalSimuTar" >> ${outputFile}
+    echo "nb inode before : $NbInodeBefore" >> ${outputFile}
+    echo "nb inode after : $NbInodeAfter" >> ${outputFile}
+    echo "Total time for elementary operations : $totalTime" >> ${outputFile}
+    echo "Time since launch start : $timeSinceLaunchStart" >> ${outputFile}
+
+fi
