Index: CONFIG/UNIFORM/v6/IPSLCM5A2/EXPERIMENTS/IPSLCM/pdControl/COMP/opa9.card
===================================================================
--- CONFIG/UNIFORM/v6/IPSLCM5A2/EXPERIMENTS/IPSLCM/pdControl/COMP/opa9.card	(revision 4871)
+++ CONFIG/UNIFORM/v6/IPSLCM5A2/EXPERIMENTS/IPSLCM/pdControl/COMP/opa9.card	(revision 4873)
@@ -5,4 +5,5 @@
 ORCA_version=${config_UserChoices_ORCA_version:-ORCA2.3}
 mesh_mask= n
+Reproducibility_after_restart= y
 
 [InitialStateFiles]
Index: CONFIG/UNIFORM/v6/IPSLCM5A2/EXPERIMENTS/IPSLCM/piControl/COMP/opa9.card
===================================================================
--- CONFIG/UNIFORM/v6/IPSLCM5A2/EXPERIMENTS/IPSLCM/piControl/COMP/opa9.card	(revision 4871)
+++ CONFIG/UNIFORM/v6/IPSLCM5A2/EXPERIMENTS/IPSLCM/piControl/COMP/opa9.card	(revision 4873)
@@ -5,4 +5,5 @@
 ORCA_version=${config_UserChoices_ORCA_version:-ORCA2.3}
 mesh_mask= n
+Reproducibility_after_restart= y
 
 [InitialStateFiles]
Index: CONFIG/UNIFORM/v6/IPSLCM5A2/GENERAL/DRIVER/opa9.driver
===================================================================
--- CONFIG/UNIFORM/v6/IPSLCM5A2/GENERAL/DRIVER/opa9.driver	(revision 4871)
+++ CONFIG/UNIFORM/v6/IPSLCM5A2/GENERAL/DRIVER/opa9.driver	(revision 4873)
@@ -105,6 +105,18 @@
     OPA_NSTOCK="${OPA_NITEND}"
 
+    ##-- Additionnal Restart Option to force reproducibility ; force kt to kt red in restart file
+    ## ${opa9_UserChoices_Reproducibility_after_restart}
+    
+    IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/COMP/opa9.card UserChoices Reproducibility_after_restart
+
     ##-- Restart configuration
-    if ( [ "${CumulPeriod}" -eq 1 ] && [ "${config_OCE_Restart}" = "n" ] ) ; then
+    if ( [ "${opa9_UserChoices_Reproducibility_after_restart}" = "y" ] ) ; then
+	OPA_LRSTAR=.TRUE.
+	OPA_NRSTDT=2
+	#echo "OPA RESTART"
+	IGCM_debug_Print 1 'WARNING : dangerous option for NEMO opa9 pisces lim3'
+	IGCM_debug_Print 1 'Reproducibility_after_Restart forced ie kt forced to kt red in restart file : ' ${opa9_UserChoices_Reproducibility_after_restart}
+        OPA_NMSH=0
+    elif ( [ "${CumulPeriod}" -eq 1 ] && [ "${config_OCE_Restart}" = "n" ] ) ; then
 	OPA_LRSTAR=.FALSE.
 	OPA_NRSTDT=0
@@ -140,4 +152,43 @@
     esac
 
+    if ( [ "${opa9_UserChoices_Reproducibility_after_restart}" = "y" ] ) ; then
+        ##-- choose the right restart file
+        NEMO_RESTART_FILE=restartopa.nc
+        [ -f restartopa_0000.nc ] && NEMO_RESTART_FILE=restartopa_0000.nc
+        ##-- Getting from restart file the last time step of the run at which we want to re-start
+        NEMO_KT_FROM_RESTART=$(ncdump -v kt ${NEMO_RESTART_FILE}|grep 'kt ='|awk '{print $3}' )
+
+        if ( [ "${CumulPeriod}" -eq 1 ] ) ; then
+            ## Force the date in the restart file to be the last day before the begining of the new run
+            dateendprevious=$( IGCM_date_AddDaysToGregorianDate ${DateBegin} -1 )
+            IGCM_debug_Print 1 "Previous Date  ${dateendprevious}"
+            IGCM_debug_Print 1 "cmd done to modify NEMO restartfile:   ncap2 -s ndastp=${dateendprevious} ${NEMO_RESTART_FILE}  tmp.nc"
+            if [ -f restartopa_0000.nc ] ; then
+                typeset -Z4 ncpu=0
+                while [ $ncpu -lt ${OCE_PROC_MPI} ] ; do
+                    ncap2 -s "ndastp=${dateendprevious}" restartopa_${ncpu}.nc  tmp.nc
+                    mv tmp.nc restartopa_${ncpu}.nc
+                    (( ncpu = ncpu + 1 ))
+                done
+            else
+                ncap2 -s "ndastp=${dateendprevious}" ${NEMO_RESTART_FILE}  tmp.nc
+                mv tmp.nc ${NEMO_RESTART_FILE}
+            fi
+            ##-- Getting from restart file the "new" restart date of run at which we want to re-start
+            NEMO_NDASTP_FROM_RESTART=$(ncdump -v ndastp ${NEMO_RESTART_FILE}|grep 'ndastp ='|awk '{print $3}' )
+            IGCM_debug_Print 1 "NEMO_NDASTP (from Restart) for 1st Period       : ${NEMO_NDASTP_FROM_RESTART}"
+
+        fi
+
+        (( NEMO_NIT000 = NEMO_KT_FROM_RESTART + 1 ))
+        (( NEMO_NITEND = NEMO_KT_FROM_RESTART + OPA_NITEND - OPA_NIT000 + 1 ))
+        IGCM_debug_Print 1 "NEMO_NIT000 (from Restart)        : ${NEMO_NIT000}"
+        IGCM_debug_Print 1 "NEMO_NITEND (from Restart + ... ) : ${NEMO_NITEND}"
+        ##-- We force one restart file at the end of the trunk
+        OPA_NSTOCK="${NEMO_NITEND}"
+        OPA_NIT000="${NEMO_NIT000}"
+        OPA_NITEND="${NEMO_NITEND}"
+    fi
+
     typeset -r PRECIS=8
     NEMO_END=$( echo $( awk "BEGIN { printf \"%0${PRECIS}d\",${OPA_NITEND} }" ) ) 
Index: CONFIG/UNIFORM/v6/IPSLCM5A2/GENERAL/DRIVER/pisces.driver
===================================================================
--- CONFIG/UNIFORM/v6/IPSLCM5A2/GENERAL/DRIVER/pisces.driver	(revision 4871)
+++ CONFIG/UNIFORM/v6/IPSLCM5A2/GENERAL/DRIVER/pisces.driver	(revision 4873)
@@ -26,5 +26,13 @@
 
     ##-- Restart configuration
-    if ( [ "${CumulPeriod}" -eq 1 ] && [ "${config_MBG_Restart}" = "n" ] ) ; then
+
+    ##-- Restart configuration
+    if ( [ "${opa9_UserChoices_Reproducibility_after_restart}" = "y" ] ) ; then
+        TOP_LN_RSTR=.TRUE.
+        TOP_NN_RSTR=2
+        IGCM_debug_Print 1 'WARNING : dangerous option for NEMO pisces too'
+        IGCM_debug_Print 1 'Reproducibility_after_Restart forced : ' ${opa9_UserChoices_Reproducibility_after_restart}
+
+    elif ( [ "${CumulPeriod}" -eq 1 ] && [ "${config_MBG_Restart}" = "n" ] ) ; then
 
         #echo "NO RESTART FOR TOP"
Index: CONFIG/UNIFORM/v6/IPSLCM5A2CHT/EXPERIMENTS/IPSLCM/pdControl/COMP/opa9.card
===================================================================
--- CONFIG/UNIFORM/v6/IPSLCM5A2CHT/EXPERIMENTS/IPSLCM/pdControl/COMP/opa9.card	(revision 4871)
+++ CONFIG/UNIFORM/v6/IPSLCM5A2CHT/EXPERIMENTS/IPSLCM/pdControl/COMP/opa9.card	(revision 4873)
@@ -5,4 +5,5 @@
 ORCA_version=${config_UserChoices_ORCA_version:-ORCA2.3}
 mesh_mask= n
+Reproducibility_after_restart= y
 
 [InitialStateFiles]
Index: CONFIG/UNIFORM/v6/IPSLCM5A2CHT/EXPERIMENTS/IPSLCM/piControl/COMP/opa9.card
===================================================================
--- CONFIG/UNIFORM/v6/IPSLCM5A2CHT/EXPERIMENTS/IPSLCM/piControl/COMP/opa9.card	(revision 4871)
+++ CONFIG/UNIFORM/v6/IPSLCM5A2CHT/EXPERIMENTS/IPSLCM/piControl/COMP/opa9.card	(revision 4873)
@@ -5,4 +5,5 @@
 ORCA_version=${config_UserChoices_ORCA_version:-ORCA2.3}
 mesh_mask= n
+Reproducibility_after_restart= y
 
 [InitialStateFiles]
Index: CONFIG/UNIFORM/v6/IPSLCM5A2CHT/EXPERIMENTS/IPSLCMCHT/S_historical/COMP/opa9.card
===================================================================
--- CONFIG/UNIFORM/v6/IPSLCM5A2CHT/EXPERIMENTS/IPSLCMCHT/S_historical/COMP/opa9.card	(revision 4871)
+++ CONFIG/UNIFORM/v6/IPSLCM5A2CHT/EXPERIMENTS/IPSLCMCHT/S_historical/COMP/opa9.card	(revision 4873)
@@ -5,4 +5,5 @@
 ORCA_version=${config_UserChoices_ORCA_version:-ORCA2.3}
 mesh_mask= n
+Reproducibility_after_restart= y
 
 [InitialStateFiles]
Index: CONFIG/UNIFORM/v6/IPSLCM5A2CHT/EXPERIMENTS/IPSLCMCHT/S_piControl/COMP/opa9.card
===================================================================
--- CONFIG/UNIFORM/v6/IPSLCM5A2CHT/EXPERIMENTS/IPSLCMCHT/S_piControl/COMP/opa9.card	(revision 4871)
+++ CONFIG/UNIFORM/v6/IPSLCM5A2CHT/EXPERIMENTS/IPSLCMCHT/S_piControl/COMP/opa9.card	(revision 4873)
@@ -5,4 +5,5 @@
 ORCA_version=${config_UserChoices_ORCA_version:-ORCA2.3}
 mesh_mask= n
+Reproducibility_after_restart= y
 
 [InitialStateFiles]
Index: CONFIG/UNIFORM/v6/IPSLCM5A2CHT/GENERAL/DRIVER/opa9.driver
===================================================================
--- CONFIG/UNIFORM/v6/IPSLCM5A2CHT/GENERAL/DRIVER/opa9.driver	(revision 4871)
+++ CONFIG/UNIFORM/v6/IPSLCM5A2CHT/GENERAL/DRIVER/opa9.driver	(revision 4873)
@@ -105,6 +105,18 @@
     OPA_NSTOCK="${OPA_NITEND}"
 
+    ##-- Additionnal Restart Option to force reproducibility ; force kt to kt red in restart file
+    ## ${opa9_UserChoices_Reproducibility_after_restart}
+    
+    IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/COMP/opa9.card UserChoices Reproducibility_after_restart
+
     ##-- Restart configuration
-    if ( [ "${CumulPeriod}" -eq 1 ] && [ "${config_OCE_Restart}" = "n" ] ) ; then
+    if ( [ "${opa9_UserChoices_Reproducibility_after_restart}" = "y" ] ) ; then
+	OPA_LRSTAR=.TRUE.
+	OPA_NRSTDT=2
+	#echo "OPA RESTART"
+	IGCM_debug_Print 1 'WARNING : dangerous option for NEMO opa9 pisces lim3'
+	IGCM_debug_Print 1 'Reproducibility_after_Restart forced ie kt forced to kt red in restart file : ' ${opa9_UserChoices_Reproducibility_after_restart}
+        OPA_NMSH=0
+    elif ( [ "${CumulPeriod}" -eq 1 ] && [ "${config_OCE_Restart}" = "n" ] ) ; then
 	OPA_LRSTAR=.FALSE.
 	OPA_NRSTDT=0
@@ -140,4 +152,43 @@
     esac
 
+    if ( [ "${opa9_UserChoices_Reproducibility_after_restart}" = "y" ] ) ; then
+        ##-- choose the right restart file
+        NEMO_RESTART_FILE=restartopa.nc
+        [ -f restartopa_0000.nc ] && NEMO_RESTART_FILE=restartopa_0000.nc
+        ##-- Getting from restart file the last time step of the run at which we want to re-start
+        NEMO_KT_FROM_RESTART=$(ncdump -v kt ${NEMO_RESTART_FILE}|grep 'kt ='|awk '{print $3}' )
+
+        if ( [ "${CumulPeriod}" -eq 1 ] ) ; then
+            ## Force the date in the restart file to be the last day before the begining of the new run
+            dateendprevious=$( IGCM_date_AddDaysToGregorianDate ${DateBegin} -1 )
+            IGCM_debug_Print 1 "Previous Date  ${dateendprevious}"
+            IGCM_debug_Print 1 "cmd done to modify NEMO restartfile:   ncap2 -s ndastp=${dateendprevious} ${NEMO_RESTART_FILE}  tmp.nc"
+            if [ -f restartopa_0000.nc ] ; then
+                typeset -Z4 ncpu=0
+                while [ $ncpu -lt ${OCE_PROC_MPI} ] ; do
+                    ncap2 -s "ndastp=${dateendprevious}" restartopa_${ncpu}.nc  tmp.nc
+                    mv tmp.nc restartopa_${ncpu}.nc
+                    (( ncpu = ncpu + 1 ))
+                done
+            else
+                ncap2 -s "ndastp=${dateendprevious}" ${NEMO_RESTART_FILE}  tmp.nc
+                mv tmp.nc ${NEMO_RESTART_FILE}
+            fi
+            ##-- Getting from restart file the "new" restart date of run at which we want to re-start
+            NEMO_NDASTP_FROM_RESTART=$(ncdump -v ndastp ${NEMO_RESTART_FILE}|grep 'ndastp ='|awk '{print $3}' )
+            IGCM_debug_Print 1 "NEMO_NDASTP (from Restart) for 1st Period       : ${NEMO_NDASTP_FROM_RESTART}"
+
+        fi
+
+        (( NEMO_NIT000 = NEMO_KT_FROM_RESTART + 1 ))
+        (( NEMO_NITEND = NEMO_KT_FROM_RESTART + OPA_NITEND - OPA_NIT000 + 1 ))
+        IGCM_debug_Print 1 "NEMO_NIT000 (from Restart)        : ${NEMO_NIT000}"
+        IGCM_debug_Print 1 "NEMO_NITEND (from Restart + ... ) : ${NEMO_NITEND}"
+        ##-- We force one restart file at the end of the trunk
+        OPA_NSTOCK="${NEMO_NITEND}"
+        OPA_NIT000="${NEMO_NIT000}"
+        OPA_NITEND="${NEMO_NITEND}"
+    fi
+
     typeset -r PRECIS=8
     NEMO_END=$( echo $( awk "BEGIN { printf \"%0${PRECIS}d\",${OPA_NITEND} }" ) ) 
Index: CONFIG/UNIFORM/v6/IPSLCM5A2CHT/GENERAL/DRIVER/pisces.driver
===================================================================
--- CONFIG/UNIFORM/v6/IPSLCM5A2CHT/GENERAL/DRIVER/pisces.driver	(revision 4871)
+++ CONFIG/UNIFORM/v6/IPSLCM5A2CHT/GENERAL/DRIVER/pisces.driver	(revision 4873)
@@ -26,5 +26,13 @@
 
     ##-- Restart configuration
-    if ( [ "${CumulPeriod}" -eq 1 ] && [ "${config_MBG_Restart}" = "n" ] ) ; then
+
+    ##-- Restart configuration
+    if ( [ "${opa9_UserChoices_Reproducibility_after_restart}" = "y" ] ) ; then
+        TOP_LN_RSTR=.TRUE.
+        TOP_NN_RSTR=2
+        IGCM_debug_Print 1 'WARNING : dangerous option for NEMO pisces too'
+        IGCM_debug_Print 1 'Reproducibility_after_Restart forced : ' ${opa9_UserChoices_Reproducibility_after_restart}
+
+    elif ( [ "${CumulPeriod}" -eq 1 ] && [ "${config_MBG_Restart}" = "n" ] ) ; then
 
         #echo "NO RESTART FOR TOP"
Index: CONFIG/UNIFORM/v6/diff_configurations.ksh
===================================================================
--- CONFIG/UNIFORM/v6/diff_configurations.ksh	(revision 4871)
+++ CONFIG/UNIFORM/v6/diff_configurations.ksh	(revision 4873)
@@ -17,5 +17,5 @@
 ConfigList=`ls |grep ${ConfigFamily} |grep -v out`
 ConfigList=$ConfigList" IPSLCM6 IPSLCM6CHT"
-ConfigList="LMDZOR_v6 IPSLCM6"
+ConfigList="IPSLCM5A2CHT IPSLCM5A2"
 verbose=no
 echo All configurations to tests : $ConfigList
