Index: trunk/libIGCM/libIGCM_sys/libIGCM_sys_cesium.ksh
===================================================================
--- trunk/libIGCM/libIGCM_sys/libIGCM_sys_cesium.ksh	(revision 342)
+++ trunk/libIGCM/libIGCM_sys/libIGCM_sys_cesium.ksh	(revision 343)
@@ -152,5 +152,4 @@
 #D-
 function IGCM_sys_RshMaster {
-    #set -vx
     IGCM_debug_PushStack "IGCM_sys_RshMaster" $@
     ssh ${MASTER} exec /bin/ksh <<-EOF
@@ -187,5 +186,5 @@
 #D-#==================================================
 #D-function IGCM_sys_RshPost
-#D-* Purpose: Master rsh command
+#D-* Purpose: Post-process rsh command
 #D-* Examples:
 #D-
@@ -494,5 +493,4 @@
 }
 
-
 #D-#==================================================
 #D-function IGCM_sys_Qsub
@@ -667,4 +665,6 @@
 	cat out_rsync
 	IGCM_debug_Exit "IGCM_sys_Cp"
+     else
+	 rm out_rsync
     fi
     IGCM_debug_PopStack "IGCM_sys_Cp"
@@ -692,4 +692,6 @@
 	cat out_rsync
 	IGCM_debug_Exit "IGCM_sys_Rm"
+    else
+	out_rsync
     fi
     IGCM_debug_PopStack "IGCM_sys_Rm"
@@ -718,4 +720,6 @@
 	cat out_rsync
 	IGCM_debug_Exit "IGCM_sys_RmRunDir"
+    else
+	rm out_rsync
     fi
 
@@ -746,4 +750,6 @@
             cat out_rsync
             IGCM_debug_Exit "IGCM_sys_Mv"
+	else
+	    rm out_rsync
         fi
     else
@@ -784,4 +790,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Put_Dir"
+	else
+	    rm out_rsync
 	fi
     else
@@ -821,4 +829,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Get_Dir"
+	else
+	    rm out_rsync
 	fi
     else
@@ -857,4 +867,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Get_Master"
+	else
+	    rm out_rsync
 	fi
     else
@@ -911,4 +923,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Put_Rest"
+	else
+	    rm out_rsync
 	fi
     else
@@ -981,4 +995,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Put_Out"
+	else
+	    rm out_rsync
 	fi
     else
@@ -1079,4 +1095,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Get"
+	else
+	    rm out_rsync
 	fi
     else
@@ -1084,4 +1102,72 @@
     fi
     IGCM_debug_PopStack "IGCM_sys_Get"
+}
+
+#D-#==================================================
+#D-function IGCM_sys_Dods_Rm
+#D-* Purpose: DO NOTHING ! Put $(ARCHIVE) files on DODS internet protocole.
+#D-* Examples:
+#D-
+function IGCM_sys_Dods_Rm {
+    if ( $DEBUG_sys ) ; then
+	echo "IGCM_sys_Dods_Rm :" $@
+    fi
+    typeset RET
+    RET=0
+    if [ $DRYRUN = 0 ]; then
+	if [ ! -d /dmnfs/cont003/dods/public/${LOGIN}/${R_DODS}/${1} ] ; then
+	    echo "WARNING : IGCM_sys_Dods_Rm /dmnfs/cont003/dods/public/${LOGIN}/${R_DODS}/${1} DOES NOT EXIST ."
+	    echo "Nothing has been done."
+	    return
+	fi
+	dods_rm public/${LOGIN}/${R_DODS}/${1} > out_dods_rm 2>&1
+	RET=$?
+        
+	if [ ${RET} -gt 0 ] ; then
+	    echo "IGCM_sys_Put_Dods : error."
+	    cat out_dods_rm
+	    IGCM_debug_Exit "IGCM_sys_Dods_Rm"
+	else
+	    rm out_dods_rm
+	fi
+    else
+	( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack
+    fi
+    return $RET
+}
+
+
+#D-#==================================================
+#D-function IGCM_sys_Dods_Cp
+#D-* Purpose: Copy $(ARCHIVE) files on DODS internet protocole.
+#D-* Examples:
+#D-
+function IGCM_sys_Dods_Cp {
+    if ( $DEBUG_sys ) ; then
+	echo "IGCM_sys_Dods_Cp :" $@
+    fi
+    typeset RET
+    RET=0
+    if [ $DRYRUN = 0 ]; then
+	if [ ! -d ${R_SAVE}/${1} ] ; then
+	    echo "WARNING : IGCM_sys_Dods_Cp ${R_SAVE}/${1} DOES NOT EXIST ."
+	    echo "Nothing has been done."
+	    return
+	fi
+	#
+	dods_cp ${1} public/${LOGIN}/${R_DODS} > out_dods_cp 2>&1
+	RET=$?
+        
+	if [ ${RET} -gt 0 ] ; then
+	    echo "IGCM_sys_Dods_Cp : error."
+	    cat out_dods_cp
+	    IGCM_debug_Exit "IGCM_sys_Dods_Cp"
+	else
+	    rm out_dods_cp
+	fi
+    else
+	( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack
+    fi
+    return $RET
 }
 
@@ -1106,6 +1192,6 @@
 	#
 	cd ${R_SAVE}
-	dods_rm public/${LOGIN}/${R_DODS}/${1} > /dev/null 2>&1
-	dods_cp ${1} public/${LOGIN}/${R_DODS} > /dev/null 2>&1
+	IGCM_sys_Dods_Rm ${1}
+	IGCM_sys_Dods_Cp ${1}
 	RET=0
         
Index: trunk/libIGCM/libIGCM_sys/libIGCM_sys_default.ksh
===================================================================
--- trunk/libIGCM/libIGCM_sys/libIGCM_sys_default.ksh	(revision 342)
+++ trunk/libIGCM/libIGCM_sys/libIGCM_sys_default.ksh	(revision 343)
@@ -97,4 +97,8 @@
 
 #====================================================
+#- libIGCM_POST
+typeset -r libIGCM_POST=${libIGCM}
+
+#====================================================
 #- SCRATCHDIR (=> ${R_DONNEES})
 typeset -r SCRATCHDIR=/tmp
@@ -106,17 +110,14 @@
 #====================================================
 #- ARCHIVE
-typeset -r ARCHIVE=/home
-
-#====================================================
-#- libIGCM_POST
-typeset -r libIGCM_POST=${libIGCM}
+typeset -r ARCHIVE=/home/${LOGIN}
 
 #====================================================
 #- IN
-typeset -r R_IN=${R_IN:=${ARCHIVE}/${LOGIN}/IGCM}
+typeset -r R_IN=${R_IN:=${ARCHIVE}/IGCM}
 
 #====================================================
 #- OUT
-typeset -r R_OUT=${ARCHIVE}/${LOGIN}/IGCM_OUT
+IGCM_OUT=${IGCM_OUT:=IGCM_OUT}
+typeset -r R_OUT=${ARCHIVE}/${IGCM_OUT}
 
 #====================================================
@@ -215,5 +216,5 @@
     fi
 
-    cat  << END_MAIL > job_atlas.mail
+    cat  << END_MAIL > job_end.mail
 Dear ${LOGIN},
 
@@ -656,7 +657,10 @@
     
     if [ ${RET} -gt 0 ] ; then
-	echo "IGCM_sys_Cp : error."
-	cat out_rsync
-	IGCM_debug_Exit "IGCM_sys_Cp"
+	 echo ""
+# 	echo "IGCM_sys_Cp : error."
+# 	cat out_rsync
+# 	IGCM_debug_Exit "IGCM_sys_Cp"
+     else
+	 rm out_rsync
     fi
     IGCM_debug_PopStack "IGCM_sys_Cp"
@@ -684,4 +688,6 @@
 	cat out_rsync
 	IGCM_debug_Exit "IGCM_sys_Rm"
+    else
+	out_rsync
     fi
     IGCM_debug_PopStack "IGCM_sys_Rm"
@@ -699,4 +705,5 @@
 	echo "IGCM_sys_RmRunDir :" $@
 	echo "Dummy call, let the scheduler do that."
+#	IGCM_sys_Rm -rf ${RUN_DIR}
     fi
     IGCM_debug_PopStack "IGCM_sys_RmRunDir"
@@ -726,5 +733,7 @@
             cat out_rsync
             IGCM_debug_Exit "IGCM_sys_Mv"
-        fi
+	else
+	    rm out_rsync
+	fi
     else
         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack
@@ -764,4 +773,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Put_Dir"
+	else
+	    rm out_rsync
 	fi
     else
@@ -798,4 +809,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Get_Dir"
+	else
+	    rm out_rsync
 	fi
     else
@@ -833,4 +846,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Get_Master"
+	else
+	    rm out_rsync
 	fi
     else
@@ -877,4 +892,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Put_Rest"
+	else
+	    rm out_rsync
 	fi
     else
@@ -926,4 +943,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Put_Out"
+	else
+	    rm out_rsync
 	fi
     else
@@ -983,4 +1002,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Get"
+	else
+	    rm out_rsync
 	fi
     else
@@ -991,6 +1012,75 @@
 
 #D-#==================================================
+#D-function IGCM_sys_Dods_Rm
+#D-* Purpose: Suppress files in /tmp/DODS for simulation of internet protocole.
+#D-* Examples:
+#D-
+function IGCM_sys_Dods_Rm {
+    if ( $DEBUG_sys ) ; then
+	echo "IGCM_sys_Dods_Rm :" $@
+    fi
+    typeset RET
+    RET=0
+    if [ $DRYRUN = 0 ]; then
+	if [ ! -d /dmnfs/cont003/dods/public/${LOGIN}/${R_DODS}/${1} ] ; then
+	    echo "WARNING : IGCM_sys_Dods_Rm /dmnfs/cont003/dods/public/${LOGIN}/${R_DODS}/${1} DOES NOT EXIST ."
+	    echo "Nothing has been done."
+	    return
+	fi
+ 	IGCM_sys_Rm -Rf /tmp/DODS/${config_UserChoices_TagName}/${config_UserChoices_JobName}/${1}
+	RET=$?
+        
+	if [ ${RET} -gt 0 ] ; then
+	    echo "IGCM_sys_Put_Dods : error."
+	    cat out_dods_rm
+	    IGCM_debug_Exit "IGCM_sys_Dods_Rm"
+	else
+	    rm out_dods_rm
+	fi
+    else
+	( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack
+    fi
+    return $RET
+}
+
+
+#D-#==================================================
+#D-function IGCM_sys_Dods_Cp
+#D-* Purpose: Copy from $(ARCHIVE) files to /tmp/DODS for simulation of internet protocole.
+#D-* Examples:
+#D-
+function IGCM_sys_Dods_Cp {
+    if ( $DEBUG_sys ) ; then
+	echo "IGCM_sys_Dods_Cp :" $@
+    fi
+    typeset RET
+    RET=0
+    if [ $DRYRUN = 0 ]; then
+	if [ ! -d ${R_SAVE}/${1} ] ; then
+	    echo "WARNING : IGCM_sys_Dods_Cp ${R_SAVE}/${1} DOES NOT EXIST ."
+	    echo "Nothing has been done."
+	    return
+	fi
+	#
+ 	IGCM_sys_Mkdir /tmp/DODS/${config_UserChoices_TagName}/${config_UserChoices_JobName}
+ 	IGCM_sys_Cp -Rp --parents ${1} /tmp/DODS/${config_UserChoices_TagName}/${config_UserChoices_JobName}
+	RET=$?
+        
+	if [ ${RET} -gt 0 ] ; then
+	    echo "IGCM_sys_Dods_Cp : error."
+	    cat out_dods_cp
+	    IGCM_debug_Exit "IGCM_sys_Dods_Cp"
+	else
+	    rm out_dods_cp
+	fi
+    else
+	( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack
+    fi
+    return $RET
+}
+
+#D-#==================================================
 #D-function IGCM_sys_Put_Dods
-#D-* Purpose: DO NOTHING ! Put $(ARCHIVE) files on DODS internet protocole.
+#D-* Purpose: Put $(ARCHIVE) files on /tmp/DODS for simulation of internet protocole.
 #D-* Examples:
 #D-
@@ -1001,10 +1091,21 @@
     fi
     if [ $DRYRUN = 0 ]; then
-	if [ ! -f ${1} ] ; then
-	    echo "WARNING : IGCM_sys_Put_Dods ${1} DOES NOT EXIST ."
+	if [ ! -d ${R_SAVE}/${1} ] ; then
+	    echo "WARNING : IGCM_sys_Put_Dods ${R_SAVE}/${1} DOES NOT EXIST ."
 	    IGCM_debug_PopStack "IGCM_sys_Put_Dods"
 	    return
 	fi
-	#DO NOTHING
+
+	typeset RET
+	#
+ 	cd ${R_SAVE}
+	IGCM_sys_Dods_Rm ${1}
+	IGCM_sys_Dods_Cp ${1}
+	RET=0
+        
+	if [ ${RET} -gt 0 ] ; then
+	    echo "IGCM_sys_Put_Dods : error."
+	    IGCM_debug_Exit "IGCM_sys_Put_Dods"
+	fi
     else
 	( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack
@@ -1246,4 +1347,19 @@
 }
 
+##############################################################
+# CDO OPERATOR
+
+function IGCM_sys_cdo {
+    IGCM_debug_PushStack "IGCM_sys_cdo" -- $@
+
+    \cdo $@
+    if [ $? -gt 0 ] ; then
+       echo "IGCM_sys_cdo : erreur ${@}."
+#       IGCM_debug_Exit "cdo"
+    fi
+
+    IGCM_debug_PopStack "IGCM_sys_cdo"
+}
+
 ############################################################
 # Activate Running Environnment Variables
Index: trunk/libIGCM/libIGCM_sys/libIGCM_sys_mercure.ksh
===================================================================
--- trunk/libIGCM/libIGCM_sys/libIGCM_sys_mercure.ksh	(revision 342)
+++ trunk/libIGCM/libIGCM_sys/libIGCM_sys_mercure.ksh	(revision 343)
@@ -141,5 +141,4 @@
 #D-
 function IGCM_sys_RshMaster {
-    #set -vx
     IGCM_debug_PushStack "IGCM_sys_RshMaster" $@
     /bin/ksh <<-EOF
@@ -176,5 +175,5 @@
 #D-#==================================================
 #D-function IGCM_sys_RshPost
-#D-* Purpose: Master rsh command
+#D-* Purpose: Post-process rsh command
 #D-* Examples:
 #D-
@@ -590,4 +589,6 @@
 	cat out_rsync
 	IGCM_debug_Exit "IGCM_sys_Cp"
+     else
+	 rm out_rsync
     fi
     IGCM_debug_PopStack "IGCM_sys_Cp"
@@ -615,4 +616,6 @@
 	cat out_rsync
 	IGCM_debug_Exit "IGCM_sys_Rm"
+    else
+	out_rsync
     fi
     IGCM_debug_PopStack "IGCM_sys_Rm"
@@ -657,4 +660,6 @@
             cat out_rsync
             IGCM_debug_Exit "IGCM_sys_Mv"
+	else
+	    rm out_rsync
         fi
     else
@@ -695,4 +700,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Put_Dir"
+	else
+	    rm out_rsync
 	fi
     else
@@ -732,4 +739,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Get_Dir"
+	else
+	    rm out_rsync
 	fi
     else
@@ -767,4 +776,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Get_Master"
+	else
+	    rm out_rsync
 	fi
     else
@@ -823,4 +834,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Put_Out"
+	else
+	    rm out_rsync
 	fi
     else
@@ -917,8 +930,83 @@
 #  	(( RET=RET+$? ))
 
+	if [ ${RET} -gt 0 ] ; then
+	    echo "IGCM_sys_Get : copy error."
+	    cat out_rsync
+#	    IGCM_debug_Exit "IGCM_sys_Get"
+	else
+	    rm out_rsync
+	fi
     else
 	( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack
     fi
     IGCM_debug_PopStack "IGCM_sys_Get"
+}
+
+#D-#==================================================
+#D-function IGCM_sys_Dods_Rm
+#D-* Purpose: DO NOTHING ! Put $(ARCHIVE) files on DODS internet protocole.
+#D-* Examples:
+#D-
+function IGCM_sys_Dods_Rm {
+    if ( $DEBUG_sys ) ; then
+	echo "IGCM_sys_Dods_Rm :" $@
+    fi
+    typeset RET
+    RET=0
+    if [ $DRYRUN = 0 ]; then
+	if [ ! -d /dmnfs/cont003/dods/public/${LOGIN}/${R_DODS}/${1} ] ; then
+	    echo "WARNING : IGCM_sys_Dods_Rm /dmnfs/cont003/dods/public/${LOGIN}/${R_DODS}/${1} DOES NOT EXIST ."
+	    echo "Nothing has been done."
+	    return
+	fi
+	dods_rm public/${LOGIN}/${R_DODS}/${1} > out_dods_rm 2>&1
+	RET=$?
+        
+	if [ ${RET} -gt 0 ] ; then
+	    echo "IGCM_sys_Put_Dods : error."
+	    cat out_dods_rm
+	    IGCM_debug_Exit "IGCM_sys_Dods_Rm"
+	else
+	    rm out_dods_rm
+	fi
+    else
+	( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack
+    fi
+    return $RET
+}
+
+
+#D-#==================================================
+#D-function IGCM_sys_Dods_Cp
+#D-* Purpose: Copy $(ARCHIVE) files on DODS internet protocole.
+#D-* Examples:
+#D-
+function IGCM_sys_Dods_Cp {
+    if ( $DEBUG_sys ) ; then
+	echo "IGCM_sys_Dods_Cp :" $@
+    fi
+    typeset RET
+    RET=0
+    if [ $DRYRUN = 0 ]; then
+	if [ ! -d ${R_SAVE}/${1} ] ; then
+	    echo "WARNING : IGCM_sys_Dods_Cp ${R_SAVE}/${1} DOES NOT EXIST ."
+	    echo "Nothing has been done."
+	    return
+	fi
+	#
+	dods_cp ${1} public/${LOGIN}/${R_DODS} > out_dods_cp 2>&1
+	RET=$?
+        
+	if [ ${RET} -gt 0 ] ; then
+	    echo "IGCM_sys_Dods_Cp : error."
+	    cat out_dods_cp
+	    IGCM_debug_Exit "IGCM_sys_Dods_Cp"
+	else
+	    rm out_dods_cp
+	fi
+    else
+	( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack
+    fi
+    return $RET
 }
 
@@ -943,6 +1031,6 @@
 	#
 	cd ${R_SAVE}
-	dods_rm public/${LOGIN}/${R_DODS}/${1} > /dev/null 2>&1
-	dods_cp ${1} public/${LOGIN}/${R_DODS} > /dev/null 2>&1
+	IGCM_sys_Dods_Rm ${1}
+	IGCM_sys_Dods_Cp ${1}
 	RET=0
         
Index: trunk/libIGCM/libIGCM_sys/libIGCM_sys_mercurex8.ksh
===================================================================
--- trunk/libIGCM/libIGCM_sys/libIGCM_sys_mercurex8.ksh	(revision 342)
+++ trunk/libIGCM/libIGCM_sys/libIGCM_sys_mercurex8.ksh	(revision 343)
@@ -712,4 +712,6 @@
 	cat out_rsync
 	IGCM_debug_Exit "IGCM_sys_Cp"
+     else
+	 rm out_rsync
     fi
     IGCM_debug_PopStack "IGCM_sys_Cp"
@@ -737,4 +739,6 @@
 	cat out_rsync
 	IGCM_debug_Exit "IGCM_sys_Rm"
+    else
+	out_rsync
     fi
     IGCM_debug_PopStack "IGCM_sys_Rm"
@@ -764,4 +768,6 @@
             cat out_rsync
             IGCM_debug_Exit "IGCM_sys_Mv"
+	else
+	    rm out_rsync
         fi
     else
@@ -802,4 +808,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Put_Dir"
+	else
+	    rm out_rsync
 	fi
     else
@@ -839,4 +847,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Get_Dir"
+	else
+	    rm out_rsync
 	fi
     else
@@ -893,4 +903,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Put_Rest"
+	else
+	    rm out_rsync
 	fi
     else
@@ -963,4 +975,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Put_Out"
+	else
+	    rm out_rsync
 	fi
     else
@@ -1058,4 +1072,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Get"
+	else
+	    rm out_rsync
 	fi
     else
Index: trunk/libIGCM/libIGCM_sys/libIGCM_sys_mercurex9.ksh
===================================================================
--- trunk/libIGCM/libIGCM_sys/libIGCM_sys_mercurex9.ksh	(revision 342)
+++ trunk/libIGCM/libIGCM_sys/libIGCM_sys_mercurex9.ksh	(revision 343)
@@ -241,5 +241,5 @@
   Job ended   : ${DateEnd}
   Ouput files are available in ${R_SAVE}
-  Script file and Script Outputs are available in ${SUBMIT_DIR}
+  Script files and Script Outputs are available in ${SUBMIT_DIR}
 END_MAIL
 
@@ -722,4 +722,6 @@
 	cat out_rsync
 	IGCM_debug_Exit "IGCM_sys_Cp"
+     else
+	 rm out_rsync
     fi
     IGCM_debug_PopStack "IGCM_sys_Cp"
@@ -747,4 +749,6 @@
 	cat out_rsync
 	IGCM_debug_Exit "IGCM_sys_Rm"
+    else
+	out_rsync
     fi
     IGCM_debug_PopStack "IGCM_sys_Rm"
@@ -774,4 +778,6 @@
             cat out_rsync
             IGCM_debug_Exit "IGCM_sys_Mv"
+	else
+	    rm out_rsync
         fi
     else
@@ -812,4 +818,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Put_Dir"
+	else
+	    rm out_rsync
 	fi
     else
@@ -849,4 +857,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Get_Dir"
+	else
+	    rm out_rsync
 	fi
     else
@@ -903,4 +913,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Put_Rest"
+	else
+	    rm out_rsync
 	fi
     else
@@ -973,4 +985,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Put_Out"
+	else
+	    rm out_rsync
 	fi
     else
@@ -1068,4 +1082,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Get"
+	else
+	    rm out_rsync
 	fi
     else
Index: trunk/libIGCM/libIGCM_sys/libIGCM_sys_obelix.ksh
===================================================================
--- trunk/libIGCM/libIGCM_sys/libIGCM_sys_obelix.ksh	(revision 342)
+++ trunk/libIGCM/libIGCM_sys/libIGCM_sys_obelix.ksh	(revision 343)
@@ -34,9 +34,9 @@
 #====================================================
 
-#=====================================================
+#====================================================
 # set DEBUG_sys to true to output calls of function
 typeset -r DEBUG_sys=${DEBUG_sys:=true}
 
-#=====================================================
+#====================================================
 # Turn in dry run mode ? (sys_Put_Rest, sys_Put_Out, sys_Get)
 typeset -r DRYRUN=${DRYRUN:=0}
@@ -85,5 +85,5 @@
 . /home/users/brock/.atlas_env_asterix_ksh
 
-#=========================================================
+#====================================================
 # Host specific DIRECTORIES
 #====================================================
@@ -227,5 +227,5 @@
     fi
 
-    cat  << END_MAIL > job_atlas.mail
+    cat  << END_MAIL > job_end.mail
 Dear ${LOGIN},
 
@@ -667,4 +667,6 @@
 	cat out_rsync
 	IGCM_debug_Exit "IGCM_sys_Cp"
+    else
+	rm out_rsync
     fi
     IGCM_debug_PopStack "IGCM_sys_Cp"
@@ -692,4 +694,6 @@
 	cat out_rsync
 	IGCM_debug_Exit "IGCM_sys_Rm"
+    else
+	out_rsync
     fi
     IGCM_debug_PopStack "IGCM_sys_Rm"
@@ -746,4 +750,6 @@
             cat out_rsync
             IGCM_debug_Exit "IGCM_sys_Mv"
+	else
+	    rm out_rsync
         fi
     else
@@ -784,4 +790,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Put_Dir"
+	else
+	    rm out_rsync
 	fi
     else
@@ -818,4 +826,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Get_Dir"
+	else
+	    rm out_rsync
 	fi
     else
@@ -853,4 +863,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Get_Master"
+	else
+	    rm out_rsync
 	fi
     else
@@ -879,5 +891,4 @@
 	    IGCM_debug_Exit "IGCM_sys_Put_Rest"
 	fi
-
 	if [ X${JobType} = XRUN ] ; then
 	    IGCM_sys_Chmod 444 ${1}
@@ -898,4 +909,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Put_Rest"
+	else
+	    rm out_rsync
 	fi
     else
@@ -947,4 +960,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Put_Out"
+	else
+	    rm out_rsync
 	fi
     else
@@ -1004,4 +1019,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Get"
+	else
+	    rm out_rsync
 	fi
     else
@@ -1012,6 +1029,75 @@
 
 #D-#==================================================
+#D-function IGCM_sys_Dods_Rm
+#D-* Purpose: Suppress files in /tmp/DODS for simulation of internet protocole.
+#D-* Examples:
+#D-
+function IGCM_sys_Dods_Rm {
+    if ( $DEBUG_sys ) ; then
+	echo "IGCM_sys_Dods_Rm :" $@
+    fi
+    typeset RET
+    RET=0
+    if [ $DRYRUN = 0 ]; then
+	if [ ! -d /dmnfs/cont003/dods/public/${LOGIN}/${R_DODS}/${1} ] ; then
+	    echo "WARNING : IGCM_sys_Dods_Rm /dmnfs/cont003/dods/public/${LOGIN}/${R_DODS}/${1} DOES NOT EXIST ."
+	    echo "Nothing has been done."
+	    return
+	fi
+ 	IGCM_sys_Rm -Rf /tmp/DODS/${config_UserChoices_TagName}/${config_UserChoices_JobName}/${1}
+	RET=$?
+        
+	if [ ${RET} -gt 0 ] ; then
+	    echo "IGCM_sys_Put_Dods : error."
+	    cat out_dods_rm
+	    IGCM_debug_Exit "IGCM_sys_Dods_Rm"
+	else
+	    rm out_dods_rm
+	fi
+    else
+	( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack
+    fi
+    return $RET
+}
+
+
+#D-#==================================================
+#D-function IGCM_sys_Dods_Cp
+#D-* Purpose: Copy from $(ARCHIVE) files to /tmp/DODS for simulation of internet protocole.
+#D-* Examples:
+#D-
+function IGCM_sys_Dods_Cp {
+    if ( $DEBUG_sys ) ; then
+	echo "IGCM_sys_Dods_Cp :" $@
+    fi
+    typeset RET
+    RET=0
+    if [ $DRYRUN = 0 ]; then
+	if [ ! -d ${R_SAVE}/${1} ] ; then
+	    echo "WARNING : IGCM_sys_Dods_Cp ${R_SAVE}/${1} DOES NOT EXIST ."
+	    echo "Nothing has been done."
+	    return
+	fi
+	#
+ 	IGCM_sys_Mkdir /tmp/DODS/${config_UserChoices_TagName}/${config_UserChoices_JobName}
+ 	IGCM_sys_Cp -Rp --parents ${1} /tmp/DODS/${config_UserChoices_TagName}/${config_UserChoices_JobName}
+	RET=$?
+        
+	if [ ${RET} -gt 0 ] ; then
+	    echo "IGCM_sys_Dods_Cp : error."
+	    cat out_dods_cp
+	    IGCM_debug_Exit "IGCM_sys_Dods_Cp"
+	else
+	    rm out_dods_cp
+	fi
+    else
+	( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack
+    fi
+    return $RET
+}
+
+#D-#==================================================
 #D-function IGCM_sys_Put_Dods
-#D-* Purpose: DO NOTHING ! Put $(ARCHIVE) files on DODS internet protocole.
+#D-* Purpose: Put $(ARCHIVE) files on /tmp/DODS for simulation of internet protocole.
 #D-* Examples:
 #D-
@@ -1027,5 +1113,16 @@
 	    return
 	fi
-	#DO NOTHING
+
+	typeset RET
+	#
+ 	cd ${R_SAVE}
+	IGCM_sys_Dods_Rm ${1}
+	IGCM_sys_Dods_Cp ${1}
+	RET=0
+        
+	if [ ${RET} -gt 0 ] ; then
+	    echo "IGCM_sys_Put_Dods : error."
+	    IGCM_debug_Exit "IGCM_sys_Put_Dods"
+	fi
     else
 	( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack
Index: trunk/libIGCM/libIGCM_sys/libIGCM_sys_platine.ksh
===================================================================
--- trunk/libIGCM/libIGCM_sys/libIGCM_sys_platine.ksh	(revision 342)
+++ trunk/libIGCM/libIGCM_sys/libIGCM_sys_platine.ksh	(revision 343)
@@ -165,5 +165,4 @@
 #D-
 function IGCM_sys_RshMaster {
-    #set -vx
     IGCM_debug_PushStack "IGCM_sys_RshMaster" $@
     /bin/ksh <<-EOF
@@ -415,4 +414,7 @@
 function IGCM_sys_TestFileArchive {
     IGCM_debug_PushStack "IGCM_sys_TestFileArchive" $@
+    if ( $DEBUG_sys ) ; then
+	echo "IGCM_sys_TestFileArchive :" $@
+    fi
     typeset ExistFlag
     ExistFlag=$( [ -f $1 ] && echo 0 || echo 1 )
@@ -662,4 +664,6 @@
 	cat out_rsync
 	IGCM_debug_Exit "IGCM_sys_Cp"
+     else
+	 rm out_rsync
     fi
     IGCM_debug_PopStack "IGCM_sys_Cp"
@@ -687,4 +691,6 @@
 	cat out_rsync
 	IGCM_debug_Exit "IGCM_sys_Rm"
+    else
+	out_rsync
     fi
     IGCM_debug_PopStack "IGCM_sys_Rm"
@@ -729,4 +735,6 @@
             cat out_rsync
             IGCM_debug_Exit "IGCM_sys_Mv"
+	else
+	    rm out_rsync
         fi
     else
@@ -767,4 +775,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Put_Dir"
+	else
+	    rm out_rsync
 	fi
     else
@@ -804,4 +814,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Get_Dir"
+	else
+	    rm out_rsync
 	fi
     else
@@ -893,4 +905,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Put_Rest"
+	else
+	    rm out_rsync
 	fi
     else
@@ -949,4 +963,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Put_Out"
+	else
+	    rm out_rsync
 	fi
     else
@@ -1047,4 +1063,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Get"
+	else
+	    rm out_rsync
 	fi
     else
@@ -1052,4 +1070,72 @@
     fi
     IGCM_debug_PopStack "IGCM_sys_Get"
+}
+
+#D-#==================================================
+#D-function IGCM_sys_Dods_Rm
+#D-* Purpose: DO NOTHING ! Put $(ARCHIVE) files on DODS internet protocole.
+#D-* Examples:
+#D-
+function IGCM_sys_Dods_Rm {
+    if ( $DEBUG_sys ) ; then
+	echo "IGCM_sys_Dods_Rm :" $@
+    fi
+    typeset RET
+    RET=0
+    if [ $DRYRUN = 0 ]; then
+	if [ ! -d /dmnfs/cont003/dods/public/${LOGIN}/${R_DODS}/${1} ] ; then
+	    echo "WARNING : IGCM_sys_Dods_Rm /dmnfs/cont003/dods/public/${LOGIN}/${R_DODS}/${1} DOES NOT EXIST ."
+	    echo "Nothing has been done."
+	    return
+	fi
+	dods_rm public/${LOGIN}/${R_DODS}/${1} > out_dods_rm 2>&1
+	RET=$?
+        
+	if [ ${RET} -gt 0 ] ; then
+	    echo "IGCM_sys_Put_Dods : error."
+	    cat out_dods_rm
+	    IGCM_debug_Exit "IGCM_sys_Dods_Rm"
+	else
+	    rm out_dods_rm
+	fi
+    else
+	( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack
+    fi
+    return $RET
+}
+
+
+#D-#==================================================
+#D-function IGCM_sys_Dods_Cp
+#D-* Purpose: Copy $(ARCHIVE) files on DODS internet protocole.
+#D-* Examples:
+#D-
+function IGCM_sys_Dods_Cp {
+    if ( $DEBUG_sys ) ; then
+	echo "IGCM_sys_Dods_Cp :" $@
+    fi
+    typeset RET
+    RET=0
+    if [ $DRYRUN = 0 ]; then
+	if [ ! -d ${R_SAVE}/${1} ] ; then
+	    echo "WARNING : IGCM_sys_Dods_Cp ${R_SAVE}/${1} DOES NOT EXIST ."
+	    echo "Nothing has been done."
+	    return
+	fi
+	#
+	dods_cp ${1} public/${LOGIN}/${R_DODS} > out_dods_cp 2>&1
+	RET=$?
+        
+	if [ ${RET} -gt 0 ] ; then
+	    echo "IGCM_sys_Dods_Cp : error."
+	    cat out_dods_cp
+	    IGCM_debug_Exit "IGCM_sys_Dods_Cp"
+	else
+	    rm out_dods_cp
+	fi
+    else
+	( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack
+    fi
+    return $RET
 }
 
@@ -1074,6 +1160,6 @@
 	#
 	cd ${R_SAVE}
-	dods_rm public/${LOGIN}/${R_DODS}/${1} > /dev/null 2>&1
-	dods_cp ${1} public/${LOGIN}/${R_DODS} > /dev/null 2>&1
+	IGCM_sys_Dods_Rm ${1}
+	IGCM_sys_Dods_Cp ${1}
 	RET=0
 
@@ -1115,4 +1201,21 @@
     fi
     IGCM_debug_PopStack "IGCM_sys_FichArchive"
+}
+
+##############################################################
+# REBUILD OPERATOR
+
+function IGCM_sys_rebuild {
+    IGCM_debug_PushStack "IGCM_sys_rebuild" -- $@
+    if ( $DEBUG_sys ) ; then
+	echo "IGCM_sys_rebuild :" $@
+    fi
+    /home/cont003/p86ipsl/IA64/bin/rebuild -f -o $@
+    if [ $? -gt 0 ] ; then
+       echo "IGCM_sys_rebuild : erreur ${@}."
+       IGCM_debug_Exit "rebuild"
+    fi
+
+    IGCM_debug_PopStack "IGCM_sys_rebuild"
 }
 
@@ -1305,18 +1408,16 @@
 
 ##############################################################
-# REBUILD OPERATOR
-
-function IGCM_sys_rebuild {
-    IGCM_debug_PushStack "IGCM_sys_rebuild" -- $@
-    if ( $DEBUG_sys ) ; then
-	echo "IGCM_sys_rebuild :" $@
-    fi
-    /home/cont003/p86ipsl/IA64/bin/rebuild -f -o $@
-    if [ $? -gt 0 ] ; then
-       echo "IGCM_sys_rebuild : erreur ${@}."
-       IGCM_debug_Exit "rebuild"
-    fi
-
-    IGCM_debug_PopStack "IGCM_sys_rebuild"
+# CDO OPERATOR
+
+function IGCM_sys_cdo {
+    IGCM_debug_PushStack "IGCM_sys_cdo" -- $@
+
+    \cdo $@
+    if [ $? -gt 0 ] ; then
+       echo "IGCM_sys_cdo : erreur ${@}."
+#       IGCM_debug_Exit "cdo"
+    fi
+
+    IGCM_debug_PopStack "IGCM_sys_cdo"
 }
 
Index: trunk/libIGCM/libIGCM_sys/libIGCM_sys_titane.ksh
===================================================================
--- trunk/libIGCM/libIGCM_sys/libIGCM_sys_titane.ksh	(revision 342)
+++ trunk/libIGCM/libIGCM_sys/libIGCM_sys_titane.ksh	(revision 343)
@@ -170,5 +170,4 @@
 #D-
 function IGCM_sys_RshMaster {
-    #set -vx
     IGCM_debug_PushStack "IGCM_sys_RshMaster" $@
     /bin/ksh <<-EOF
@@ -734,4 +733,6 @@
 	cat out_rsync
 	IGCM_debug_Exit "IGCM_sys_Cp"
+     else
+	 rm out_rsync
     fi
     IGCM_debug_PopStack "IGCM_sys_Cp"
@@ -759,4 +760,6 @@
 	cat out_rsync
 	IGCM_debug_Exit "IGCM_sys_Rm"
+    else
+	out_rsync
     fi
     IGCM_debug_PopStack "IGCM_sys_Rm"
@@ -786,4 +789,6 @@
             cat out_rsync
             IGCM_debug_Exit "IGCM_sys_Mv"
+	else
+	    rm out_rsync
         fi
     else
@@ -824,4 +829,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Put_Dir"
+	else
+	    rm out_rsync
 	fi
     else
@@ -861,4 +868,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Get_Dir"
+	else
+	    rm out_rsync
 	fi
     else
@@ -950,4 +959,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Put_Rest"
+	else
+	    rm out_rsync
 	fi
     else
@@ -1020,4 +1031,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Put_Out"
+	else
+	    rm out_rsync
 	fi
     else
@@ -1115,4 +1128,6 @@
 	    cat out_rsync
 	    IGCM_debug_Exit "IGCM_sys_Get"
+	else
+	    rm out_rsync
 	fi
     else
