Index: /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 17909)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 17910)
@@ -141,4 +141,6 @@
 	InversionMinParametersEnum,
 	InversionNstepsEnum,
+	InversionDxminEnum,
+	InversionEpsrelEnum,
 	InversionNumControlParametersEnum,
 	InversionNumCostFunctionsEnum,
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 17909)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 17910)
@@ -149,4 +149,6 @@
 		case InversionMinParametersEnum : return "InversionMinParameters";
 		case InversionNstepsEnum : return "InversionNsteps";
+		case InversionDxminEnum : return "InversionDxmin";
+		case InversionEpsrelEnum : return "InversionEpsrel";
 		case InversionNumControlParametersEnum : return "InversionNumControlParameters";
 		case InversionNumCostFunctionsEnum : return "InversionNumCostFunctions";
Index: /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 17909)
+++ /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 17910)
@@ -152,4 +152,6 @@
 	      else if (strcmp(name,"InversionMinParameters")==0) return InversionMinParametersEnum;
 	      else if (strcmp(name,"InversionNsteps")==0) return InversionNstepsEnum;
+	      else if (strcmp(name,"InversionDxmin")==0) return InversionDxminEnum;
+	      else if (strcmp(name,"InversionEpsrel")==0) return InversionEpsrelEnum;
 	      else if (strcmp(name,"InversionNumControlParameters")==0) return InversionNumControlParametersEnum;
 	      else if (strcmp(name,"InversionNumCostFunctions")==0) return InversionNumCostFunctionsEnum;
@@ -258,10 +260,10 @@
 	      else if (strcmp(name,"ProfilingCurrentFlops")==0) return ProfilingCurrentFlopsEnum;
 	      else if (strcmp(name,"ProfilingSolutionTime")==0) return ProfilingSolutionTimeEnum;
-	      else if (strcmp(name,"MaxIterationConvergenceFlag")==0) return MaxIterationConvergenceFlagEnum;
-	      else if (strcmp(name,"SteadystateMaxiter")==0) return SteadystateMaxiterEnum;
          else stage=3;
    }
    if(stage==3){
-	      if (strcmp(name,"SteadystateNumRequestedOutputs")==0) return SteadystateNumRequestedOutputsEnum;
+	      if (strcmp(name,"MaxIterationConvergenceFlag")==0) return MaxIterationConvergenceFlagEnum;
+	      else if (strcmp(name,"SteadystateMaxiter")==0) return SteadystateMaxiterEnum;
+	      else if (strcmp(name,"SteadystateNumRequestedOutputs")==0) return SteadystateNumRequestedOutputsEnum;
 	      else if (strcmp(name,"SteadystateReltol")==0) return SteadystateReltolEnum;
 	      else if (strcmp(name,"SteadystateRequestedOutputs")==0) return SteadystateRequestedOutputsEnum;
@@ -381,10 +383,10 @@
 	      else if (strcmp(name,"Approximation")==0) return ApproximationEnum;
 	      else if (strcmp(name,"NoneApproximation")==0) return NoneApproximationEnum;
-	      else if (strcmp(name,"SIAApproximation")==0) return SIAApproximationEnum;
-	      else if (strcmp(name,"SSAApproximation")==0) return SSAApproximationEnum;
          else stage=4;
    }
    if(stage==4){
-	      if (strcmp(name,"SSAHOApproximation")==0) return SSAHOApproximationEnum;
+	      if (strcmp(name,"SIAApproximation")==0) return SIAApproximationEnum;
+	      else if (strcmp(name,"SSAApproximation")==0) return SSAApproximationEnum;
+	      else if (strcmp(name,"SSAHOApproximation")==0) return SSAHOApproximationEnum;
 	      else if (strcmp(name,"SSAFSApproximation")==0) return SSAFSApproximationEnum;
 	      else if (strcmp(name,"L1L2Approximation")==0) return L1L2ApproximationEnum;
@@ -504,10 +506,10 @@
 	      else if (strcmp(name,"SurfaceLogVelMisfit")==0) return SurfaceLogVelMisfitEnum;
 	      else if (strcmp(name,"SurfaceLogVxVyMisfit")==0) return SurfaceLogVxVyMisfitEnum;
-	      else if (strcmp(name,"SurfaceRelVelMisfit")==0) return SurfaceRelVelMisfitEnum;
-	      else if (strcmp(name,"SurfaceSlopeX")==0) return SurfaceSlopeXEnum;
          else stage=5;
    }
    if(stage==5){
-	      if (strcmp(name,"SurfaceSlopeY")==0) return SurfaceSlopeYEnum;
+	      if (strcmp(name,"SurfaceRelVelMisfit")==0) return SurfaceRelVelMisfitEnum;
+	      else if (strcmp(name,"SurfaceSlopeX")==0) return SurfaceSlopeXEnum;
+	      else if (strcmp(name,"SurfaceSlopeY")==0) return SurfaceSlopeYEnum;
 	      else if (strcmp(name,"Temperature")==0) return TemperatureEnum;
 	      else if (strcmp(name,"TemperaturePicard")==0) return TemperaturePicardEnum;
@@ -627,10 +629,10 @@
 	      else if (strcmp(name,"TotalSmb")==0) return TotalSmbEnum;
 	      else if (strcmp(name,"Absolute")==0) return AbsoluteEnum;
-	      else if (strcmp(name,"Incremental")==0) return IncrementalEnum;
-	      else if (strcmp(name,"AugmentedLagrangianR")==0) return AugmentedLagrangianREnum;
          else stage=6;
    }
    if(stage==6){
-	      if (strcmp(name,"AugmentedLagrangianTheta")==0) return AugmentedLagrangianThetaEnum;
+	      if (strcmp(name,"Incremental")==0) return IncrementalEnum;
+	      else if (strcmp(name,"AugmentedLagrangianR")==0) return AugmentedLagrangianREnum;
+	      else if (strcmp(name,"AugmentedLagrangianTheta")==0) return AugmentedLagrangianThetaEnum;
 	      else if (strcmp(name,"None")==0) return NoneEnum;
 	      else if (strcmp(name,"AgressiveMigration")==0) return AgressiveMigrationEnum;
Index: /issm/trunk-jpl/src/m/enum/EnumDefinitions.py
===================================================================
--- /issm/trunk-jpl/src/m/enum/EnumDefinitions.py	(revision 17909)
+++ /issm/trunk-jpl/src/m/enum/EnumDefinitions.py	(revision 17910)
@@ -141,4 +141,6 @@
 def InversionMinParametersEnum(): return StringToEnum("InversionMinParameters")[0]
 def InversionNstepsEnum(): return StringToEnum("InversionNsteps")[0]
+def InversionDxminEnum(): return StringToEnum("InversionDxmin")[0]
+def InversionEpsrelEnum(): return StringToEnum("InversionEpsrel")[0]
 def InversionNumControlParametersEnum(): return StringToEnum("InversionNumControlParameters")[0]
 def InversionNumCostFunctionsEnum(): return StringToEnum("InversionNumCostFunctions")[0]
Index: /issm/trunk-jpl/src/m/enum/InversionDxminEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/InversionDxminEnum.m	(revision 17910)
+++ /issm/trunk-jpl/src/m/enum/InversionDxminEnum.m	(revision 17910)
@@ -0,0 +1,11 @@
+function macro=InversionDxminEnum()
+%INVERSIONDXMINENUM - Enum of InversionDxmin
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
+%            Please read src/c/shared/Enum/README for more information
+%
+%   Usage:
+%      macro=InversionDxminEnum()
+
+macro=StringToEnum('InversionDxmin');
Index: /issm/trunk-jpl/src/m/enum/InversionEpsrelEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/InversionEpsrelEnum.m	(revision 17910)
+++ /issm/trunk-jpl/src/m/enum/InversionEpsrelEnum.m	(revision 17910)
@@ -0,0 +1,11 @@
+function macro=InversionEpsrelEnum()
+%INVERSIONEPSRELENUM - Enum of InversionEpsrel
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
+%            Please read src/c/shared/Enum/README for more information
+%
+%   Usage:
+%      macro=InversionEpsrelEnum()
+
+macro=StringToEnum('InversionEpsrel');
Index: /issm/trunk-jpl/src/wrappers/IssmConfig/IssmConfig.cpp
===================================================================
--- /issm/trunk-jpl/src/wrappers/IssmConfig/IssmConfig.cpp	(revision 17909)
+++ /issm/trunk-jpl/src/wrappers/IssmConfig/IssmConfig.cpp	(revision 17910)
@@ -37,6 +37,4 @@
 		#ifdef _HAVE_MPI_
 		value = 1.;
-		#else
-		value = 0.;
 		#endif
 	}
@@ -44,6 +42,4 @@
 		#ifdef _HAVE_DAKOTA_
 		value = 1.;
-		#else
-		value = 0.;
 		#endif
 	}
@@ -51,6 +47,4 @@
 		#ifdef _HAVE_MUMPS_
 		value = 1.;
-		#else
-		value = 0.;
 		#endif
 	}
@@ -58,6 +52,4 @@
 		#ifdef _HAVE_GSL_
 		value = 1.;
-		#else
-		value = 0.;
 		#endif
 	}
@@ -65,6 +57,9 @@
 		#ifdef _HAVE_TAO_
 		value = 1.;
-		#else
-		value = 0.;
+		#endif
+	}
+	else if(strcmp(name,"_HAVE_M1QN3_")==0){
+		#ifdef _HAVE_M1QN3_
+		value = 1.;
 		#endif
 	}
@@ -72,6 +67,4 @@
 		#ifdef _HAVE_PETSC_
 		value = 1.;
-		#else
-		value = 0.;
 		#endif
 	}
