Index: /issm/trunk-jpl/src/c/shared/Enum/Enum.vim
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/Enum.vim	(revision 25466)
+++ /issm/trunk-jpl/src/c/shared/Enum/Enum.vim	(revision 25467)
@@ -477,4 +477,5 @@
 syn keyword cConstant BalancethicknessOmega0Enum
 syn keyword cConstant BalancethicknessOmegaEnum
+syn keyword cConstant BalancethicknessSpcthicknessEnum
 syn keyword cConstant BalancethicknessThickeningRateEnum
 syn keyword cConstant BasalCrevasseEnum
@@ -987,5 +988,4 @@
 syn keyword cConstant BalancethicknessSoftSolutionEnum
 syn keyword cConstant BalancethicknessSolutionEnum
-syn keyword cConstant BalancethicknessSpcthicknessEnum
 syn keyword cConstant BalancevelocityAnalysisEnum
 syn keyword cConstant BalancevelocitySolutionEnum
@@ -1086,4 +1086,5 @@
 syn keyword cConstant Gradient2Enum
 syn keyword cConstant Gradient3Enum
+syn keyword cConstant Gradient4Enum
 syn keyword cConstant GroundedAreaEnum
 syn keyword cConstant GroundedAreaScaledEnum
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 25466)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 25467)
@@ -473,4 +473,5 @@
 	BalancethicknessOmega0Enum,
 	BalancethicknessOmegaEnum,
+	BalancethicknessSpcthicknessEnum,
 	BalancethicknessThickeningRateEnum,
 	BasalCrevasseEnum,
@@ -986,5 +987,4 @@
 	BalancethicknessSoftSolutionEnum,
 	BalancethicknessSolutionEnum,
-	BalancethicknessSpcthicknessEnum,
 	BalancevelocityAnalysisEnum,
 	BalancevelocitySolutionEnum,
@@ -1085,4 +1085,5 @@
 	Gradient2Enum,
 	Gradient3Enum,
+	Gradient4Enum,
 	GroundedAreaEnum,
 	GroundedAreaScaledEnum,
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 25466)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 25467)
@@ -479,4 +479,5 @@
 		case BalancethicknessOmega0Enum : return "BalancethicknessOmega0";
 		case BalancethicknessOmegaEnum : return "BalancethicknessOmega";
+		case BalancethicknessSpcthicknessEnum : return "BalancethicknessSpcthickness";
 		case BalancethicknessThickeningRateEnum : return "BalancethicknessThickeningRate";
 		case BasalCrevasseEnum : return "BasalCrevasse";
@@ -989,5 +990,4 @@
 		case BalancethicknessSoftSolutionEnum : return "BalancethicknessSoftSolution";
 		case BalancethicknessSolutionEnum : return "BalancethicknessSolution";
-		case BalancethicknessSpcthicknessEnum : return "BalancethicknessSpcthickness";
 		case BalancevelocityAnalysisEnum : return "BalancevelocityAnalysis";
 		case BalancevelocitySolutionEnum : return "BalancevelocitySolution";
@@ -1088,4 +1088,5 @@
 		case Gradient2Enum : return "Gradient2";
 		case Gradient3Enum : return "Gradient3";
+		case Gradient4Enum : return "Gradient4";
 		case GroundedAreaEnum : return "GroundedArea";
 		case GroundedAreaScaledEnum : return "GroundedAreaScaled";
Index: /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 25466)
+++ /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 25467)
@@ -488,4 +488,5 @@
 	      else if (strcmp(name,"BalancethicknessOmega0")==0) return BalancethicknessOmega0Enum;
 	      else if (strcmp(name,"BalancethicknessOmega")==0) return BalancethicknessOmegaEnum;
+	      else if (strcmp(name,"BalancethicknessSpcthickness")==0) return BalancethicknessSpcthicknessEnum;
 	      else if (strcmp(name,"BalancethicknessThickeningRate")==0) return BalancethicknessThickeningRateEnum;
 	      else if (strcmp(name,"BasalCrevasse")==0) return BasalCrevasseEnum;
@@ -505,9 +506,9 @@
 	      else if (strcmp(name,"BasalforcingsPicoSubShelfOceanOverturning")==0) return BasalforcingsPicoSubShelfOceanOverturningEnum;
 	      else if (strcmp(name,"BasalforcingsPicoSubShelfOceanSalinity")==0) return BasalforcingsPicoSubShelfOceanSalinityEnum;
-	      else if (strcmp(name,"BasalforcingsPicoSubShelfOceanTemp")==0) return BasalforcingsPicoSubShelfOceanTempEnum;
          else stage=5;
    }
    if(stage==5){
-	      if (strcmp(name,"BasalStressx")==0) return BasalStressxEnum;
+	      if (strcmp(name,"BasalforcingsPicoSubShelfOceanTemp")==0) return BasalforcingsPicoSubShelfOceanTempEnum;
+	      else if (strcmp(name,"BasalStressx")==0) return BasalStressxEnum;
 	      else if (strcmp(name,"BasalStressy")==0) return BasalStressyEnum;
 	      else if (strcmp(name,"BasalStress")==0) return BasalStressEnum;
@@ -628,9 +629,9 @@
 	      else if (strcmp(name,"HydrologydcMaskThawedElt")==0) return HydrologydcMaskThawedEltEnum;
 	      else if (strcmp(name,"HydrologydcMaskThawedNode")==0) return HydrologydcMaskThawedNodeEnum;
-	      else if (strcmp(name,"HydrologydcSedimentTransmitivity")==0) return HydrologydcSedimentTransmitivityEnum;
          else stage=6;
    }
    if(stage==6){
-	      if (strcmp(name,"HydrologyDrainageRate")==0) return HydrologyDrainageRateEnum;
+	      if (strcmp(name,"HydrologydcSedimentTransmitivity")==0) return HydrologydcSedimentTransmitivityEnum;
+	      else if (strcmp(name,"HydrologyDrainageRate")==0) return HydrologyDrainageRateEnum;
 	      else if (strcmp(name,"HydrologyEnglacialInput")==0) return HydrologyEnglacialInputEnum;
 	      else if (strcmp(name,"HydrologyGapHeight")==0) return HydrologyGapHeightEnum;
@@ -751,9 +752,9 @@
 	      else if (strcmp(name,"SmbDz")==0) return SmbDzEnum;
 	      else if (strcmp(name,"SmbDzMin")==0) return SmbDzMinEnum;
-	      else if (strcmp(name,"SmbDzTop")==0) return SmbDzTopEnum;
          else stage=7;
    }
    if(stage==7){
-	      if (strcmp(name,"SmbDzini")==0) return SmbDziniEnum;
+	      if (strcmp(name,"SmbDzTop")==0) return SmbDzTopEnum;
+	      else if (strcmp(name,"SmbDzini")==0) return SmbDziniEnum;
 	      else if (strcmp(name,"SmbEAir")==0) return SmbEAirEnum;
 	      else if (strcmp(name,"SmbEC")==0) return SmbECEnum;
@@ -874,9 +875,9 @@
 	      else if (strcmp(name,"VyAverage")==0) return VyAverageEnum;
 	      else if (strcmp(name,"Vy")==0) return VyEnum;
-	      else if (strcmp(name,"VyMesh")==0) return VyMeshEnum;
          else stage=8;
    }
    if(stage==8){
-	      if (strcmp(name,"VyObs")==0) return VyObsEnum;
+	      if (strcmp(name,"VyMesh")==0) return VyMeshEnum;
+	      else if (strcmp(name,"VyObs")==0) return VyObsEnum;
 	      else if (strcmp(name,"Vz")==0) return VzEnum;
 	      else if (strcmp(name,"VzFS")==0) return VzFSEnum;
@@ -997,9 +998,9 @@
 	      else if (strcmp(name,"AdjointBalancethicknessAnalysis")==0) return AdjointBalancethicknessAnalysisEnum;
 	      else if (strcmp(name,"AdjointHorizAnalysis")==0) return AdjointHorizAnalysisEnum;
-	      else if (strcmp(name,"AggressiveMigration")==0) return AggressiveMigrationEnum;
          else stage=9;
    }
    if(stage==9){
-	      if (strcmp(name,"AmrBamg")==0) return AmrBamgEnum;
+	      if (strcmp(name,"AggressiveMigration")==0) return AggressiveMigrationEnum;
+	      else if (strcmp(name,"AmrBamg")==0) return AmrBamgEnum;
 	      else if (strcmp(name,"AmrNeopz")==0) return AmrNeopzEnum;
 	      else if (strcmp(name,"AndroidFrictionCoefficient")==0) return AndroidFrictionCoefficientEnum;
@@ -1013,5 +1014,4 @@
 	      else if (strcmp(name,"BalancethicknessSoftSolution")==0) return BalancethicknessSoftSolutionEnum;
 	      else if (strcmp(name,"BalancethicknessSolution")==0) return BalancethicknessSolutionEnum;
-	      else if (strcmp(name,"BalancethicknessSpcthickness")==0) return BalancethicknessSpcthicknessEnum;
 	      else if (strcmp(name,"BalancevelocityAnalysis")==0) return BalancevelocityAnalysisEnum;
 	      else if (strcmp(name,"BalancevelocitySolution")==0) return BalancevelocitySolutionEnum;
@@ -1112,4 +1112,5 @@
 	      else if (strcmp(name,"Gradient2")==0) return Gradient2Enum;
 	      else if (strcmp(name,"Gradient3")==0) return Gradient3Enum;
+	      else if (strcmp(name,"Gradient4")==0) return Gradient4Enum;
 	      else if (strcmp(name,"GroundedArea")==0) return GroundedAreaEnum;
 	      else if (strcmp(name,"GroundedAreaScaled")==0) return GroundedAreaScaledEnum;
@@ -1120,9 +1121,9 @@
 	      else if (strcmp(name,"HOApproximation")==0) return HOApproximationEnum;
 	      else if (strcmp(name,"HOFSApproximation")==0) return HOFSApproximationEnum;
-	      else if (strcmp(name,"Hook")==0) return HookEnum;
          else stage=10;
    }
    if(stage==10){
-	      if (strcmp(name,"HydrologyDCEfficientAnalysis")==0) return HydrologyDCEfficientAnalysisEnum;
+	      if (strcmp(name,"Hook")==0) return HookEnum;
+	      else if (strcmp(name,"HydrologyDCEfficientAnalysis")==0) return HydrologyDCEfficientAnalysisEnum;
 	      else if (strcmp(name,"HydrologyDCInefficientAnalysis")==0) return HydrologyDCInefficientAnalysisEnum;
 	      else if (strcmp(name,"HydrologyGlaDSAnalysis")==0) return HydrologyGlaDSAnalysisEnum;
@@ -1243,9 +1244,9 @@
 	      else if (strcmp(name,"P1bubblecondensed")==0) return P1bubblecondensedEnum;
 	      else if (strcmp(name,"P1xP2")==0) return P1xP2Enum;
-	      else if (strcmp(name,"P1xP3")==0) return P1xP3Enum;
          else stage=11;
    }
    if(stage==11){
-	      if (strcmp(name,"P1xP4")==0) return P1xP4Enum;
+	      if (strcmp(name,"P1xP3")==0) return P1xP3Enum;
+	      else if (strcmp(name,"P1xP4")==0) return P1xP4Enum;
 	      else if (strcmp(name,"P2")==0) return P2Enum;
 	      else if (strcmp(name,"P2bubble")==0) return P2bubbleEnum;
@@ -1366,9 +1367,9 @@
 	      else if (strcmp(name,"OutputdefinitionList")==0) return OutputdefinitionListEnum;
 	      else if (strcmp(name,"SealevelObs")==0) return SealevelObsEnum;
-	      else if (strcmp(name,"SealevelWeights")==0) return SealevelWeightsEnum;
          else stage=12;
    }
    if(stage==12){
-	      if (strcmp(name,"StrainRate")==0) return StrainRateEnum;
+	      if (strcmp(name,"SealevelWeights")==0) return SealevelWeightsEnum;
+	      else if (strcmp(name,"StrainRate")==0) return StrainRateEnum;
 	      else if (strcmp(name,"StressTensor")==0) return StressTensorEnum;
 	      else if (strcmp(name,"StressbalanceViscosityOvershoot")==0) return StressbalanceViscosityOvershootEnum;
