Index: /CONFIG/UNIFORM/u1/IPSLCM5REPR_u1/GENERAL/DRIVER/lmdz.driver
===================================================================
--- /CONFIG/UNIFORM/u1/IPSLCM5REPR_u1/GENERAL/DRIVER/lmdz.driver	(revision 1687)
+++ /CONFIG/UNIFORM/u1/IPSLCM5REPR_u1/GENERAL/DRIVER/lmdz.driver	(revision 1688)
@@ -46,5 +46,4 @@
 
     ##- Create_etat0_limit version
-    IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/COMP/lmdz.card UserChoices CREATE
     CREATE=${lmdz_UserChoices_CREATE}
     echo create_etat0_limit version : ${CREATE}
@@ -98,10 +97,13 @@
 
     ## Read LMDZ_NbPeriod_adjust option in lmdz.card 
-    IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/COMP/lmdz.card UserChoices LMDZ_NbPeriod_adjust
-    LMDZ_NbPeriod_adjust=${lmdz_UserChoices_LMDZ_NbPeriod_adjust}
+    if [ X"${lmdz_UserChoices_LMDZ_NbPeriod_adjust}" = X"" ] ; then
+	# The variable is not in lmdz.card, set default value
+	LMDZ_NbPeriod_adjust=0
+    else	
+	LMDZ_NbPeriod_adjust=${lmdz_UserChoices_LMDZ_NbPeriod_adjust}
+    fi
 
     if [ ${LMDZ_NbPeriod_adjust} -eq 0 ] ; then
-        IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/COMP/lmdz.card UserChoices LMDZ_Bands_file_name
-        LMDZ_Bands_file_name=${lmdz_UserChoices_LMDZ_Bands_file_name}
+	LMDZ_Bands_file_name=${lmdz_UserChoices_LMDZ_Bands_file_name}
     fi
 
@@ -160,8 +162,10 @@
     if [ ${CumulPeriod} -eq 1 ] ; then
         if [ ${LMDZ_NbPeriod_adjust} -eq 0 ] ; then
-            IGCM_sys_Get ${LMDZ_Bands_file_name} Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat 
-            IGCM_sys_Put_Out Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat ${R_OUT_ATM_D}/${config_UserChoices_JobName}_Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat_0
-	    IGCM_sys_Chmod u+w Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat
-            IGCM_debug_Print 1 "Bands file forced to ${LMDZ_Bands_file_name} and stored in ${config_UserChoices_JobName}_Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat_0"
+	    if [ ! X${LMDZ_Bands_file_name} = X] ; then
+		IGCM_sys_Get ${LMDZ_Bands_file_name} Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat 
+		IGCM_sys_Put_Out Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat ${R_OUT_ATM_D}/${config_UserChoices_JobName}_Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat_0
+		IGCM_sys_Chmod u+w Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat
+		IGCM_debug_Print 1 "Bands file forced to ${LMDZ_Bands_file_name} and stored in ${config_UserChoices_JobName}_Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat_0"
+	    fi
         fi
     fi
@@ -367,7 +371,6 @@
 
     ## Read ByPass_hgardfou_teta option in lmdz.card --> divide teta* by 2 if [ $ByPass_hgardfou_teta = 1 ]
-    IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/COMP/lmdz.card UserChoices ByPass_hgardfou_teta
     ByPass_hgardfou_teta=${lmdz_UserChoices_ByPass_hgardfou_teta}
-    if [ ${ByPass_hgardfou_teta} = y ] ; then
+    if [ X"${ByPass_hgardfou_teta}" = X"y" ] ; then
 	awk '{ if ($0 ~ /^teta.*=/) {split($0,a,"=") ; print a[1]"="a[2]/2"."} else print $0}' gcm.def > gcm.def.tmp
 	IGCM_sys_Mv gcm.def.tmp gcm.def
@@ -381,7 +384,6 @@
 
     ## Read ByPass_hgardfou_mats option in lmdz.card --> purmats=y 2 if [ $ByPass_hgardfou_mats = 1 ]
-    IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/COMP/lmdz.card UserChoices ByPass_hgardfou_mats
     ByPass_hgardfou_mats=${lmdz_UserChoices_ByPass_hgardfou_mats}
-    if [ ${ByPass_hgardfou_mats} = y ] ; then
+    if [ X"${ByPass_hgardfou_mats}" = X"y" ] ; then
 	sed -e "s/^purmats=.*/purmats=y/" gcm.def > gcm.def.tmp
         IGCM_sys_Mv gcm.def.tmp gcm.def
Index: /CONFIG/UNIFORM/u1/IPSLCM5_u1/GENERAL/DRIVER/lmdz.driver
===================================================================
--- /CONFIG/UNIFORM/u1/IPSLCM5_u1/GENERAL/DRIVER/lmdz.driver	(revision 1687)
+++ /CONFIG/UNIFORM/u1/IPSLCM5_u1/GENERAL/DRIVER/lmdz.driver	(revision 1688)
@@ -46,5 +46,4 @@
 
     ##- Create_etat0_limit version
-    IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/COMP/lmdz.card UserChoices CREATE
     CREATE=${lmdz_UserChoices_CREATE}
     echo create_etat0_limit version : ${CREATE}
@@ -98,10 +97,13 @@
 
     ## Read LMDZ_NbPeriod_adjust option in lmdz.card 
-    IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/COMP/lmdz.card UserChoices LMDZ_NbPeriod_adjust
-    LMDZ_NbPeriod_adjust=${lmdz_UserChoices_LMDZ_NbPeriod_adjust}
+    if [ X"${lmdz_UserChoices_LMDZ_NbPeriod_adjust}" = X"" ] ; then
+	# The variable is not in lmdz.card, set default value
+	LMDZ_NbPeriod_adjust=0
+    else	
+	LMDZ_NbPeriod_adjust=${lmdz_UserChoices_LMDZ_NbPeriod_adjust}
+    fi
 
     if [ ${LMDZ_NbPeriod_adjust} -eq 0 ] ; then
-        IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/COMP/lmdz.card UserChoices LMDZ_Bands_file_name
-        LMDZ_Bands_file_name=${lmdz_UserChoices_LMDZ_Bands_file_name}
+	LMDZ_Bands_file_name=${lmdz_UserChoices_LMDZ_Bands_file_name}
     fi
 
@@ -160,8 +162,10 @@
     if [ ${CumulPeriod} -eq 1 ] ; then
         if [ ${LMDZ_NbPeriod_adjust} -eq 0 ] ; then
-            IGCM_sys_Get ${LMDZ_Bands_file_name} Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat 
-            IGCM_sys_Put_Out Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat ${R_OUT_ATM_D}/${config_UserChoices_JobName}_Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat_0
-	    IGCM_sys_Chmod u+w Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat
-            IGCM_debug_Print 1 "Bands file forced to ${LMDZ_Bands_file_name} and stored in ${config_UserChoices_JobName}_Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat_0"
+	    if [ ! X${LMDZ_Bands_file_name} = X] ; then
+		IGCM_sys_Get ${LMDZ_Bands_file_name} Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat 
+		IGCM_sys_Put_Out Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat ${R_OUT_ATM_D}/${config_UserChoices_JobName}_Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat_0
+		IGCM_sys_Chmod u+w Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat
+		IGCM_debug_Print 1 "Bands file forced to ${LMDZ_Bands_file_name} and stored in ${config_UserChoices_JobName}_Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat_0"
+	    fi
         fi
     fi
@@ -367,7 +371,6 @@
 
     ## Read ByPass_hgardfou_teta option in lmdz.card --> divide teta* by 2 if [ $ByPass_hgardfou_teta = 1 ]
-    IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/COMP/lmdz.card UserChoices ByPass_hgardfou_teta
     ByPass_hgardfou_teta=${lmdz_UserChoices_ByPass_hgardfou_teta}
-    if [ ${ByPass_hgardfou_teta} = y ] ; then
+    if [ X"${ByPass_hgardfou_teta}" = X"y" ] ; then
 	awk '{ if ($0 ~ /^teta.*=/) {split($0,a,"=") ; print a[1]"="a[2]/2"."} else print $0}' gcm.def > gcm.def.tmp
 	IGCM_sys_Mv gcm.def.tmp gcm.def
@@ -381,7 +384,6 @@
 
     ## Read ByPass_hgardfou_mats option in lmdz.card --> purmats=y 2 if [ $ByPass_hgardfou_mats = 1 ]
-    IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/COMP/lmdz.card UserChoices ByPass_hgardfou_mats
     ByPass_hgardfou_mats=${lmdz_UserChoices_ByPass_hgardfou_mats}
-    if [ ${ByPass_hgardfou_mats} = y ] ; then
+    if [ X"${ByPass_hgardfou_mats}" = X"y" ] ; then
 	sed -e "s/^purmats=.*/purmats=y/" gcm.def > gcm.def.tmp
         IGCM_sys_Mv gcm.def.tmp gcm.def
Index: /CONFIG/UNIFORM/u1/LMDZOR_u1/GENERAL/DRIVER/lmdz.driver
===================================================================
--- /CONFIG/UNIFORM/u1/LMDZOR_u1/GENERAL/DRIVER/lmdz.driver	(revision 1687)
+++ /CONFIG/UNIFORM/u1/LMDZOR_u1/GENERAL/DRIVER/lmdz.driver	(revision 1688)
@@ -46,5 +46,4 @@
 
     ##- Create_etat0_limit version
-    IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/COMP/lmdz.card UserChoices CREATE
     CREATE=${lmdz_UserChoices_CREATE}
     echo create_etat0_limit version : ${CREATE}
@@ -98,10 +97,13 @@
 
     ## Read LMDZ_NbPeriod_adjust option in lmdz.card 
-    IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/COMP/lmdz.card UserChoices LMDZ_NbPeriod_adjust
-    LMDZ_NbPeriod_adjust=${lmdz_UserChoices_LMDZ_NbPeriod_adjust}
+    if [ X"${lmdz_UserChoices_LMDZ_NbPeriod_adjust}" = X"" ] ; then
+	# The variable is not in lmdz.card, set default value
+	LMDZ_NbPeriod_adjust=0
+    else	
+	LMDZ_NbPeriod_adjust=${lmdz_UserChoices_LMDZ_NbPeriod_adjust}
+    fi
 
     if [ ${LMDZ_NbPeriod_adjust} -eq 0 ] ; then
-        IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/COMP/lmdz.card UserChoices LMDZ_Bands_file_name
-        LMDZ_Bands_file_name=${lmdz_UserChoices_LMDZ_Bands_file_name}
+	LMDZ_Bands_file_name=${lmdz_UserChoices_LMDZ_Bands_file_name}
     fi
 
@@ -160,8 +162,10 @@
     if [ ${CumulPeriod} -eq 1 ] ; then
         if [ ${LMDZ_NbPeriod_adjust} -eq 0 ] ; then
-            IGCM_sys_Get ${LMDZ_Bands_file_name} Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat 
-            IGCM_sys_Put_Out Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat ${R_OUT_ATM_D}/${config_UserChoices_JobName}_Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat_0
-	    IGCM_sys_Chmod u+w Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat
-            IGCM_debug_Print 1 "Bands file forced to ${LMDZ_Bands_file_name} and stored in ${config_UserChoices_JobName}_Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat_0"
+	    if [ ! X${LMDZ_Bands_file_name} = X] ; then
+		IGCM_sys_Get ${LMDZ_Bands_file_name} Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat 
+		IGCM_sys_Put_Out Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat ${R_OUT_ATM_D}/${config_UserChoices_JobName}_Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat_0
+		IGCM_sys_Chmod u+w Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat
+		IGCM_debug_Print 1 "Bands file forced to ${LMDZ_Bands_file_name} and stored in ${config_UserChoices_JobName}_Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat_0"
+	    fi
         fi
     fi
@@ -367,7 +371,6 @@
 
     ## Read ByPass_hgardfou_teta option in lmdz.card --> divide teta* by 2 if [ $ByPass_hgardfou_teta = 1 ]
-    IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/COMP/lmdz.card UserChoices ByPass_hgardfou_teta
     ByPass_hgardfou_teta=${lmdz_UserChoices_ByPass_hgardfou_teta}
-    if [ ${ByPass_hgardfou_teta} = y ] ; then
+    if [ X"${ByPass_hgardfou_teta}" = X"y" ] ; then
 	awk '{ if ($0 ~ /^teta.*=/) {split($0,a,"=") ; print a[1]"="a[2]/2"."} else print $0}' gcm.def > gcm.def.tmp
 	IGCM_sys_Mv gcm.def.tmp gcm.def
@@ -381,7 +384,6 @@
 
     ## Read ByPass_hgardfou_mats option in lmdz.card --> purmats=y 2 if [ $ByPass_hgardfou_mats = 1 ]
-    IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/COMP/lmdz.card UserChoices ByPass_hgardfou_mats
     ByPass_hgardfou_mats=${lmdz_UserChoices_ByPass_hgardfou_mats}
-    if [ ${ByPass_hgardfou_mats} = y ] ; then
+    if [ X"${ByPass_hgardfou_mats}" = X"y" ] ; then
 	sed -e "s/^purmats=.*/purmats=y/" gcm.def > gcm.def.tmp
         IGCM_sys_Mv gcm.def.tmp gcm.def
Index: /CONFIG/UNIFORM/u1/LMDZREPR_u1/GENERAL/DRIVER/lmdz.driver
===================================================================
--- /CONFIG/UNIFORM/u1/LMDZREPR_u1/GENERAL/DRIVER/lmdz.driver	(revision 1687)
+++ /CONFIG/UNIFORM/u1/LMDZREPR_u1/GENERAL/DRIVER/lmdz.driver	(revision 1688)
@@ -46,5 +46,4 @@
 
     ##- Create_etat0_limit version
-    IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/COMP/lmdz.card UserChoices CREATE
     CREATE=${lmdz_UserChoices_CREATE}
     echo create_etat0_limit version : ${CREATE}
@@ -98,10 +97,13 @@
 
     ## Read LMDZ_NbPeriod_adjust option in lmdz.card 
-    IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/COMP/lmdz.card UserChoices LMDZ_NbPeriod_adjust
-    LMDZ_NbPeriod_adjust=${lmdz_UserChoices_LMDZ_NbPeriod_adjust}
+    if [ X"${lmdz_UserChoices_LMDZ_NbPeriod_adjust}" = X"" ] ; then
+	# The variable is not in lmdz.card, set default value
+	LMDZ_NbPeriod_adjust=0
+    else	
+	LMDZ_NbPeriod_adjust=${lmdz_UserChoices_LMDZ_NbPeriod_adjust}
+    fi
 
     if [ ${LMDZ_NbPeriod_adjust} -eq 0 ] ; then
-        IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/COMP/lmdz.card UserChoices LMDZ_Bands_file_name
-        LMDZ_Bands_file_name=${lmdz_UserChoices_LMDZ_Bands_file_name}
+	LMDZ_Bands_file_name=${lmdz_UserChoices_LMDZ_Bands_file_name}
     fi
 
@@ -160,8 +162,10 @@
     if [ ${CumulPeriod} -eq 1 ] ; then
         if [ ${LMDZ_NbPeriod_adjust} -eq 0 ] ; then
-            IGCM_sys_Get ${LMDZ_Bands_file_name} Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat 
-            IGCM_sys_Put_Out Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat ${R_OUT_ATM_D}/${config_UserChoices_JobName}_Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat_0
-	    IGCM_sys_Chmod u+w Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat
-            IGCM_debug_Print 1 "Bands file forced to ${LMDZ_Bands_file_name} and stored in ${config_UserChoices_JobName}_Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat_0"
+	    if [ ! X${LMDZ_Bands_file_name} = X] ; then
+		IGCM_sys_Get ${LMDZ_Bands_file_name} Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat 
+		IGCM_sys_Put_Out Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat ${R_OUT_ATM_D}/${config_UserChoices_JobName}_Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat_0
+		IGCM_sys_Chmod u+w Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat
+		IGCM_debug_Print 1 "Bands file forced to ${LMDZ_Bands_file_name} and stored in ${config_UserChoices_JobName}_Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat_0"
+	    fi
         fi
     fi
@@ -367,7 +371,6 @@
 
     ## Read ByPass_hgardfou_teta option in lmdz.card --> divide teta* by 2 if [ $ByPass_hgardfou_teta = 1 ]
-    IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/COMP/lmdz.card UserChoices ByPass_hgardfou_teta
     ByPass_hgardfou_teta=${lmdz_UserChoices_ByPass_hgardfou_teta}
-    if [ ${ByPass_hgardfou_teta} = y ] ; then
+    if [ X"${ByPass_hgardfou_teta}" = X"y" ] ; then
 	awk '{ if ($0 ~ /^teta.*=/) {split($0,a,"=") ; print a[1]"="a[2]/2"."} else print $0}' gcm.def > gcm.def.tmp
 	IGCM_sys_Mv gcm.def.tmp gcm.def
@@ -381,7 +384,6 @@
 
     ## Read ByPass_hgardfou_mats option in lmdz.card --> purmats=y 2 if [ $ByPass_hgardfou_mats = 1 ]
-    IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/COMP/lmdz.card UserChoices ByPass_hgardfou_mats
     ByPass_hgardfou_mats=${lmdz_UserChoices_ByPass_hgardfou_mats}
-    if [ ${ByPass_hgardfou_mats} = y ] ; then
+    if [ X"${ByPass_hgardfou_mats}" = X"y" ] ; then
 	sed -e "s/^purmats=.*/purmats=y/" gcm.def > gcm.def.tmp
         IGCM_sys_Mv gcm.def.tmp gcm.def
