Index: /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 15985)
+++ /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 15986)
@@ -5318,5 +5318,5 @@
     /*update meltrate and watercolumn*/
     this->inputs->AddInput(new PentaInput(WatercolumnEnum, watercolumn, P1Enum));
-    this->inputs->AddInput(new PentaInput(BasalMeltrateEnum, meltrate, P1Enum));
+    this->inputs->AddInput(new PentaInput(BasalforcingsMeltingRateEnum, meltrate, P1Enum));
 
 	/*Clean up and return*/
@@ -11287,10 +11287,8 @@
 	this->inputs->AddInput(new PentaInput(SurfaceEnum,&s[0],P1Enum));
 	this->inputs->AddInput(new PentaInput(BedEnum,&b[0],P1Enum));
-   this->inputs->AddInput(new BoolInput(MaskElementonfloatingiceEnum,floatingelement));
 
 	/*Extrude inputs*/
 	this->InputExtrude(SurfaceEnum,ElementEnum);
 	this->InputExtrude(BedEnum,ElementEnum);
-	this->InputExtrude(MaskElementonfloatingiceEnum,ElementEnum);
 }
 /*}}}*/
Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 15985)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 15986)
@@ -7402,5 +7402,4 @@
 
 	/*Update inputs*/
-   this->inputs->AddInput(new BoolInput(MaskElementonfloatingiceEnum,floatingelement));
 	this->inputs->AddInput(new TriaInput(SurfaceEnum,&s[0],P1Enum));
 	this->inputs->AddInput(new TriaInput(BedEnum,&b[0],P1Enum));
Index: /issm/trunk-jpl/src/c/classes/Loads/Riftfront.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Loads/Riftfront.cpp	(revision 15985)
+++ /issm/trunk-jpl/src/c/classes/Loads/Riftfront.cpp	(revision 15986)
@@ -96,5 +96,5 @@
 	riftfront_friction=*(iomodel->Data(RiftsRiftstructEnum)+RIFTINFOSIZE*i+8);
 	riftfront_fractionincrement=*(iomodel->Data(RiftsRiftstructEnum)+RIFTINFOSIZE*i+10);
-	riftfront_shelf=reCast<bool,IssmDouble>(iomodel->Data(MaskVertexonfloatingiceEnum)[node1-1]);
+	riftfront_shelf=reCast<bool,IssmDouble>(iomodel->Data(MaskGroundediceLevelsetEnum)[node1-1]<0.);
 
 	this->inputs->AddInput(new IntInput(RiftfrontTypeEnum,riftfront_type));
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/Balancethickness/CreateNodesBalancethickness.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/Balancethickness/CreateNodesBalancethickness.cpp	(revision 15985)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/Balancethickness/CreateNodesBalancethickness.cpp	(revision 15986)
@@ -19,5 +19,5 @@
 
 	/*First fetch data: */
-	iomodel->FetchData(5,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum);
+	iomodel->FetchData(3,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum);
 	if(stabilization!=3){
 		CreateNodes(pnodes,iomodel,BalancethicknessAnalysisEnum,P1Enum);
@@ -26,4 +26,4 @@
 		CreateNodes(pnodes,iomodel,BalancethicknessAnalysisEnum,P1DGEnum);
 	}
-	iomodel->DeleteData(5,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum);
+	iomodel->DeleteData(3,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum);
 }
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/Balancethickness/UpdateElementsBalancethickness.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/Balancethickness/UpdateElementsBalancethickness.cpp	(revision 15985)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/Balancethickness/UpdateElementsBalancethickness.cpp	(revision 15986)
@@ -36,5 +36,4 @@
 	iomodel->FetchDataToInput(elements,BedEnum);
 	iomodel->FetchDataToInput(elements,MaskIceLevelsetEnum);
-	iomodel->FetchDataToInput(elements,MaskElementonfloatingiceEnum);
 	iomodel->FetchDataToInput(elements,VxEnum);
 	iomodel->FetchDataToInput(elements,VyEnum);
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/BedSlope/CreateNodesBedSlope.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/BedSlope/CreateNodesBedSlope.cpp	(revision 15985)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/BedSlope/CreateNodesBedSlope.cpp	(revision 15986)
@@ -11,6 +11,6 @@
 void	CreateNodesBedSlope(Nodes** pnodes, IoModel* iomodel){
 
-	iomodel->FetchData(5,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum);
+	iomodel->FetchData(3,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum);
 	CreateNodes(pnodes,iomodel,BedSlopeAnalysisEnum,P1Enum);
-	iomodel->DeleteData(5,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum);
+	iomodel->DeleteData(3,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum);
 }
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/Enthalpy/CreateNodesEnthalpy.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/Enthalpy/CreateNodesEnthalpy.cpp	(revision 15985)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/Enthalpy/CreateNodesEnthalpy.cpp	(revision 15986)
@@ -11,6 +11,6 @@
 void	CreateNodesEnthalpy(Nodes** pnodes, IoModel* iomodel){
 
-	iomodel->FetchData(5,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum);
+	iomodel->FetchData(3,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum);
 	CreateNodes(pnodes,iomodel,EnthalpyAnalysisEnum,P1Enum);
-	iomodel->DeleteData(5,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum);
+	iomodel->DeleteData(3,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum);
 }
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/Enthalpy/UpdateElementsEnthalpy.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/Enthalpy/UpdateElementsEnthalpy.cpp	(revision 15985)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/Enthalpy/UpdateElementsEnthalpy.cpp	(revision 15986)
@@ -35,5 +35,4 @@
 	iomodel->FetchDataToInput(elements,MaskIceLevelsetEnum);
 	iomodel->FetchDataToInput(elements,MaskGroundediceLevelsetEnum);
-	iomodel->FetchDataToInput(elements,MaskElementonfloatingiceEnum);
 	iomodel->FetchDataToInput(elements,MeshElementonbedEnum);
 	iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum);
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/FreeSurfaceBase/CreateNodesFreeSurfaceBase.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/FreeSurfaceBase/CreateNodesFreeSurfaceBase.cpp	(revision 15985)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/FreeSurfaceBase/CreateNodesFreeSurfaceBase.cpp	(revision 15986)
@@ -12,6 +12,6 @@
 
 	/*Create Nodes either DG or CG depending on stabilization*/
-	iomodel->FetchData(5,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum);
+	iomodel->FetchData(3,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum);
 	CreateNodes(pnodes,iomodel,FreeSurfaceBaseAnalysisEnum,P1Enum);
-	iomodel->DeleteData(5,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum);
+	iomodel->DeleteData(3,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum);
 }
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/FreeSurfaceBase/UpdateElementsFreeSurfaceBase.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/FreeSurfaceBase/UpdateElementsFreeSurfaceBase.cpp	(revision 15985)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/FreeSurfaceBase/UpdateElementsFreeSurfaceBase.cpp	(revision 15986)
@@ -32,5 +32,4 @@
 	iomodel->FetchDataToInput(elements,SurfaceEnum);
 	iomodel->FetchDataToInput(elements,MaskIceLevelsetEnum);
-	iomodel->FetchDataToInput(elements,MaskElementonfloatingiceEnum);
 	iomodel->FetchDataToInput(elements,SurfaceforcingsMassBalanceEnum);
 	iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum);
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/FreeSurfaceTop/CreateNodesFreeSurfaceTop.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/FreeSurfaceTop/CreateNodesFreeSurfaceTop.cpp	(revision 15985)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/FreeSurfaceTop/CreateNodesFreeSurfaceTop.cpp	(revision 15986)
@@ -12,6 +12,6 @@
 
 	/*Create Nodes either DG or CG depending on stabilization*/
-	iomodel->FetchData(5,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum);
+	iomodel->FetchData(3,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum);
 	CreateNodes(pnodes,iomodel,FreeSurfaceTopAnalysisEnum,P1Enum);
-	iomodel->DeleteData(5,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum);
+	iomodel->DeleteData(3,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum);
 }
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/FreeSurfaceTop/UpdateElementsFreeSurfaceTop.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/FreeSurfaceTop/UpdateElementsFreeSurfaceTop.cpp	(revision 15985)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/FreeSurfaceTop/UpdateElementsFreeSurfaceTop.cpp	(revision 15986)
@@ -31,5 +31,4 @@
 	iomodel->FetchDataToInput(elements,SurfaceEnum);
 	iomodel->FetchDataToInput(elements,MaskIceLevelsetEnum);
-	iomodel->FetchDataToInput(elements,MaskElementonfloatingiceEnum);
 	iomodel->FetchDataToInput(elements,SurfaceforcingsMassBalanceEnum);
 	iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum);
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyDCEfficient/CreateNodesHydrologyDCEfficient.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyDCEfficient/CreateNodesHydrologyDCEfficient.cpp	(revision 15985)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyDCEfficient/CreateNodesHydrologyDCEfficient.cpp	(revision 15986)
@@ -21,6 +21,6 @@
 	if(!isefficientlayer) return;
 
-	iomodel->FetchData(5,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum);
+	iomodel->FetchData(3,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum);
 	CreateNodes(pnodes,iomodel,HydrologyDCEfficientAnalysisEnum,P1Enum);
-	iomodel->DeleteData(5,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum);
+	iomodel->DeleteData(3,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum);
 }
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyDCEfficient/UpdateElementsHydrologyDCEfficient.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyDCEfficient/UpdateElementsHydrologyDCEfficient.cpp	(revision 15985)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyDCEfficient/UpdateElementsHydrologyDCEfficient.cpp	(revision 15986)
@@ -36,5 +36,4 @@
 	iomodel->FetchDataToInput(elements,BedEnum);
 	iomodel->FetchDataToInput(elements,MaskIceLevelsetEnum);
-	iomodel->FetchDataToInput(elements,MaskElementonfloatingiceEnum);
 	iomodel->FetchDataToInput(elements,MeshElementonbedEnum);
 	iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum);
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyDCInefficient/CreateNodesHydrologyDCInefficient.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyDCInefficient/CreateNodesHydrologyDCInefficient.cpp	(revision 15985)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyDCInefficient/CreateNodesHydrologyDCInefficient.cpp	(revision 15986)
@@ -18,6 +18,6 @@
 	if(hydrology_model!=HydrologydcEnum) return;
 
-	iomodel->FetchData(5,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum);
+	iomodel->FetchData(3,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum);
 	CreateNodes(pnodes,iomodel,HydrologyDCInefficientAnalysisEnum,P1Enum);
-	iomodel->DeleteData(5,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum);
+	iomodel->DeleteData(3,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum);
 }
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyDCInefficient/UpdateElementsHydrologyDCInefficient.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyDCInefficient/UpdateElementsHydrologyDCInefficient.cpp	(revision 15985)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyDCInefficient/UpdateElementsHydrologyDCInefficient.cpp	(revision 15986)
@@ -37,5 +37,4 @@
 	iomodel->FetchDataToInput(elements,BedEnum);
 	iomodel->FetchDataToInput(elements,MaskIceLevelsetEnum);
-	iomodel->FetchDataToInput(elements,MaskElementonfloatingiceEnum);
 	iomodel->FetchDataToInput(elements,MeshElementonbedEnum);
 	iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum);
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyShreve/CreateNodesHydrologyShreve.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyShreve/CreateNodesHydrologyShreve.cpp	(revision 15985)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyShreve/CreateNodesHydrologyShreve.cpp	(revision 15986)
@@ -18,6 +18,6 @@
 	if(hydrology_model!=HydrologyshreveEnum) return;
 
-	iomodel->FetchData(5,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum);
+	iomodel->FetchData(3,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum);
 	CreateNodes(pnodes,iomodel,HydrologyShreveAnalysisEnum,P1Enum);
-	iomodel->DeleteData(5,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum);
+	iomodel->DeleteData(3,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum);
 }
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyShreve/UpdateElementsHydrologyShreve.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyShreve/UpdateElementsHydrologyShreve.cpp	(revision 15985)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyShreve/UpdateElementsHydrologyShreve.cpp	(revision 15986)
@@ -36,5 +36,4 @@
 	iomodel->FetchDataToInput(elements,MaskIceLevelsetEnum);
 	iomodel->FetchDataToInput(elements,MaskGroundediceLevelsetEnum);
-	iomodel->FetchDataToInput(elements,MaskElementonfloatingiceEnum);
 	iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum);
 	iomodel->FetchDataToInput(elements,WatercolumnEnum);
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/Masstransport/CreateNodesMasstransport.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/Masstransport/CreateNodesMasstransport.cpp	(revision 15985)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/Masstransport/CreateNodesMasstransport.cpp	(revision 15986)
@@ -19,5 +19,5 @@
 
 	/*Create Nodes either DG or CG depending on stabilization*/
-	iomodel->FetchData(5,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum);
+	iomodel->FetchData(3,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum);
 	if(stabilization!=3){
 		CreateNodes(pnodes,iomodel,MasstransportAnalysisEnum,P1Enum);
@@ -26,4 +26,4 @@
 		CreateNodes(pnodes,iomodel,MasstransportAnalysisEnum,P1DGEnum);
 	}
-	iomodel->DeleteData(5,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum);
+	iomodel->DeleteData(3,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum);
 }
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/Masstransport/UpdateElementsMasstransport.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/Masstransport/UpdateElementsMasstransport.cpp	(revision 15985)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/Masstransport/UpdateElementsMasstransport.cpp	(revision 15986)
@@ -46,5 +46,4 @@
 	iomodel->FetchDataToInput(elements,MaskIceLevelsetEnum);
 	iomodel->FetchDataToInput(elements,MaskGroundediceLevelsetEnum);
-	iomodel->FetchDataToInput(elements,MaskElementonfloatingiceEnum);
 	iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum);
 	iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateCorrectionEnum);
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/Melting/CreateNodesMelting.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/Melting/CreateNodesMelting.cpp	(revision 15985)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/Melting/CreateNodesMelting.cpp	(revision 15986)
@@ -11,6 +11,6 @@
 void	CreateNodesMelting(Nodes** pnodes, IoModel* iomodel){
 
-	iomodel->FetchData(5,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum);
+	iomodel->FetchData(3,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum);
 	CreateNodes(pnodes,iomodel,MeltingAnalysisEnum,P1Enum);
-	iomodel->DeleteData(5,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum);
+	iomodel->DeleteData(3,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum);
 }
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/Melting/UpdateElementsMelting.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/Melting/UpdateElementsMelting.cpp	(revision 15985)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/Melting/UpdateElementsMelting.cpp	(revision 15986)
@@ -32,5 +32,4 @@
 	iomodel->FetchDataToInput(elements,FrictionQEnum);
 	iomodel->FetchDataToInput(elements,MaskIceLevelsetEnum);
-	iomodel->FetchDataToInput(elements,MaskElementonfloatingiceEnum);
 	iomodel->FetchDataToInput(elements,MeshElementonbedEnum);
 	iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum);
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/CreateConstraintsStressbalance.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/CreateConstraintsStressbalance.cpp	(revision 15985)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/CreateConstraintsStressbalance.cpp	(revision 15986)
@@ -29,5 +29,5 @@
 	IssmDouble *nodeonFS   = NULL;
 	IssmDouble *nodeonbed      = NULL;
-	IssmDouble *nodeonicesheet = NULL;
+	IssmDouble *groundedice_ls = NULL;
 	IssmDouble *vertices_type  = NULL;
 	IssmDouble *surface        = NULL;
@@ -96,8 +96,8 @@
 			iomodel->FetchData(&nodeonFS,NULL,NULL,FlowequationBorderFSEnum);
 			iomodel->FetchData(&nodeonbed,NULL,NULL,MeshVertexonbedEnum);
-			iomodel->FetchData(&nodeonicesheet,NULL,NULL,MaskVertexongroundediceEnum);
+			iomodel->FetchData(&groundedice_ls,NULL,NULL,MaskGroundediceLevelsetEnum);
 			for(i=0;i<iomodel->numberofvertices;i++){
 				if(iomodel->my_vertices[i]){
-					if(reCast<int,IssmDouble>(nodeonbed[i]) && reCast<int,IssmDouble>(nodeonicesheet[i]) && reCast<int,IssmDouble>(nodeonFS[i])){
+					if(nodeonbed[i]>0. && groundedice_ls[i]>0. && nodeonFS[i]>0.){
 						if(vertices_type[i] == FSApproximationEnum){
 							for(j=0;j<Nz;j++) spcvz[i*Nz+j] = 0.;
@@ -114,5 +114,5 @@
 			iomodel->DeleteData(nodeonFS,FlowequationBorderFSEnum);
 			iomodel->DeleteData(nodeonbed,MeshVertexonbedEnum);
-			iomodel->DeleteData(nodeonicesheet,MaskVertexongroundediceEnum);
+			iomodel->DeleteData(groundedice_ls,MaskGroundediceLevelsetEnum);
 
 			/*Pressure spc*/
@@ -125,5 +125,5 @@
 					for(i=0;i<iomodel->numberofvertices;i++){
 						if(iomodel->my_vertices[i]){
-							if (reCast<int,IssmDouble>(vertices_type[i])==NoneApproximationEnum){
+							if(reCast<int,IssmDouble>(vertices_type[i])==NoneApproximationEnum){
 								constraints->AddObject(new SpcStatic(count+1,iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofelements+i+1,1,g*rho_ice*(surface[i]-z[i])/FSreconditioning,StressbalanceAnalysisEnum));
 								count++;
@@ -135,5 +135,5 @@
 					for(i=0;i<iomodel->numberofvertices;i++){
 						if(iomodel->my_vertices[i]){
-							if (reCast<int,IssmDouble>(vertices_type[i])==NoneApproximationEnum){
+							if(reCast<int,IssmDouble>(vertices_type[i])==NoneApproximationEnum){
 								constraints->AddObject(new SpcStatic(count+1,iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofedges+i+1,1,g*rho_ice*(surface[i]-z[i])/FSreconditioning,StressbalanceAnalysisEnum));
 								count++;
@@ -162,5 +162,5 @@
 	if(iomodel->dim==3)iomodel->FetchData(&nodeonFS,NULL,NULL,FlowequationBorderFSEnum);
 	if(iomodel->dim==3)iomodel->FetchData(&nodeonbed,NULL,NULL,MeshVertexonbedEnum);
-	if(iomodel->dim==3)iomodel->FetchData(&nodeonicesheet,NULL,NULL,MaskVertexongroundediceEnum);
+	if(iomodel->dim==3)iomodel->FetchData(&groundedice_ls,NULL,NULL,MaskGroundediceLevelsetEnum);
 	iomodel->FetchData(&vertices_type,NULL,NULL,FlowequationVertexEquationEnum);
 	iomodel->FetchData(&surface,NULL,NULL,SurfaceEnum);
@@ -383,5 +383,5 @@
 
 			/*Constraint at the bedrock interface (v.n = vz = 0) (Coordinates will be updated according to the bed slope)*/
-			if (iomodel->dim==3) if(reCast<int,IssmDouble>(nodeonbed[i]) && reCast<int,IssmDouble>(nodeonicesheet[i]) && reCast<int,IssmDouble>(nodeonFS[i])){
+			if (iomodel->dim==3) if(nodeonbed[i]>0. && groundedice_ls[i]>=0. && nodeonFS[i]>0.){
 				 switch(reCast<int,IssmDouble>(vertices_type[i])){
 					case SSAFSApproximationEnum:
@@ -411,5 +411,5 @@
 	if(iomodel->dim==3)iomodel->DeleteData(nodeonFS,FlowequationBorderFSEnum);
 	if(iomodel->dim==3)iomodel->DeleteData(nodeonbed,MeshVertexonbedEnum);
-	if(iomodel->dim==3)iomodel->DeleteData(nodeonicesheet,MaskVertexongroundediceEnum);
+	if(iomodel->dim==3)iomodel->DeleteData(groundedice_ls,MaskGroundediceLevelsetEnum);
 	iomodel->DeleteData(vertices_type,FlowequationVertexEquationEnum);
 	iomodel->DeleteData(surface,SurfaceEnum);
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/CreateLoadsStressbalance.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/CreateLoadsStressbalance.cpp	(revision 15985)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/CreateLoadsStressbalance.cpp	(revision 15986)
@@ -74,5 +74,5 @@
 	if(numrifts){
 		iomodel->FetchData(&riftinfo,&numriftsegments,NULL,RiftsRiftstructEnum);
-		iomodel->FetchData(5,RiftsRiftstructEnum,ThicknessEnum,BedEnum,SurfaceEnum,MaskVertexonfloatingiceEnum);
+		iomodel->FetchData(5,RiftsRiftstructEnum,ThicknessEnum,BedEnum,SurfaceEnum,MaskGroundediceLevelsetEnum);
 		for(i=0;i<numriftsegments;i++){
 			if(iomodel->my_elements[reCast<int,IssmDouble>(*(riftinfo+RIFTINFOSIZE*i+2))-1]){
@@ -81,5 +81,5 @@
 			}
 		}
-		iomodel->DeleteData(5,RiftsRiftstructEnum,ThicknessEnum,BedEnum,SurfaceEnum,MaskVertexonfloatingiceEnum);
+		iomodel->DeleteData(5,RiftsRiftstructEnum,ThicknessEnum,BedEnum,SurfaceEnum,MaskGroundediceLevelsetEnum);
 		xDelete<IssmDouble>(riftinfo);
 	}
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/CreateNodesStressbalance.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/CreateNodesStressbalance.cpp	(revision 15985)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/CreateNodesStressbalance.cpp	(revision 15986)
@@ -50,9 +50,9 @@
 			iomodel->Constant(&finiteelement,FlowequationFeFSEnum);
 		}
-		iomodel->FetchData(8,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationBorderSSAEnum,FlowequationBorderFSEnum,
-					MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum,StressbalanceReferentialEnum);
+		iomodel->FetchData(6,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationBorderSSAEnum,FlowequationBorderFSEnum,
+					FlowequationVertexEquationEnum,StressbalanceReferentialEnum);
 		CreateNodes(pnodes,iomodel,StressbalanceAnalysisEnum,finiteelement,approximation);
-		iomodel->DeleteData(8,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationBorderSSAEnum,FlowequationBorderFSEnum,
-					MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum,StressbalanceReferentialEnum);
+		iomodel->DeleteData(6,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationBorderSSAEnum,FlowequationBorderFSEnum,
+					FlowequationVertexEquationEnum,StressbalanceReferentialEnum);
 	}
 	else{
@@ -64,6 +64,6 @@
 		if(!nodes) nodes = new Nodes();
 
-		iomodel->FetchData(8,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationBorderSSAEnum,FlowequationBorderFSEnum,
-					MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum,StressbalanceReferentialEnum);
+		iomodel->FetchData(6,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationBorderSSAEnum,FlowequationBorderFSEnum,
+					FlowequationVertexEquationEnum,StressbalanceReferentialEnum);
 		if(isFS){
 			/*P1+ velocity*/
@@ -101,6 +101,6 @@
 			}
 		}
-		iomodel->DeleteData(8,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationBorderSSAEnum,FlowequationBorderFSEnum,
-					MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum,StressbalanceReferentialEnum);
+		iomodel->DeleteData(6,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationBorderSSAEnum,FlowequationBorderFSEnum,
+					FlowequationVertexEquationEnum,StressbalanceReferentialEnum);
 
 		/*Assign output pointer: */
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/UpdateElementsStressbalance.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/UpdateElementsStressbalance.cpp	(revision 15985)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/UpdateElementsStressbalance.cpp	(revision 15986)
@@ -94,5 +94,4 @@
 	iomodel->FetchDataToInput(elements,FrictionPEnum);
 	iomodel->FetchDataToInput(elements,FrictionQEnum);
-	iomodel->FetchDataToInput(elements,MaskElementonfloatingiceEnum);
 	iomodel->FetchDataToInput(elements,MaskIceLevelsetEnum);
 	iomodel->FetchDataToInput(elements,MaskGroundediceLevelsetEnum);
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/StressbalanceSIA/CreateNodesStressbalanceSIA.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/StressbalanceSIA/CreateNodesStressbalanceSIA.cpp	(revision 15985)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/StressbalanceSIA/CreateNodesStressbalanceSIA.cpp	(revision 15986)
@@ -25,6 +25,6 @@
 	if(!nodes) nodes = new Nodes();
 
-	iomodel->FetchData(8,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationBorderSSAEnum,FlowequationBorderFSEnum,
-				MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum,StressbalanceReferentialEnum);
+	iomodel->FetchData(6,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationBorderSSAEnum,FlowequationBorderFSEnum,
+				FlowequationVertexEquationEnum,StressbalanceReferentialEnum);
 
 	for(int i=0;i<iomodel->numberofvertices;i++){
@@ -44,6 +44,6 @@
 	}
 
-	iomodel->DeleteData(8,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationBorderSSAEnum,FlowequationBorderFSEnum,
-				MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum,StressbalanceReferentialEnum);
+	iomodel->DeleteData(6,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationBorderSSAEnum,FlowequationBorderFSEnum,
+				FlowequationVertexEquationEnum,StressbalanceReferentialEnum);
 
 	/*Assign output pointer: */
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/StressbalanceVertical/CreateNodesStressbalanceVertical.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/StressbalanceVertical/CreateNodesStressbalanceVertical.cpp	(revision 15985)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/StressbalanceVertical/CreateNodesStressbalanceVertical.cpp	(revision 15986)
@@ -14,6 +14,6 @@
 	if(iomodel->dim==2) return;
 
-	iomodel->FetchData(5,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum);
+	iomodel->FetchData(3,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum);
 	CreateNodes(pnodes,iomodel,StressbalanceVerticalAnalysisEnum,P1Enum);
-	iomodel->DeleteData(5,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum);
+	iomodel->DeleteData(3,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum);
 }
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/StressbalanceVertical/UpdateElementsStressbalanceVertical.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/StressbalanceVertical/UpdateElementsStressbalanceVertical.cpp	(revision 15985)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/StressbalanceVertical/UpdateElementsStressbalanceVertical.cpp	(revision 15986)
@@ -29,5 +29,4 @@
 	iomodel->FetchDataToInput(elements,BedEnum);
 	iomodel->FetchDataToInput(elements,MaskIceLevelsetEnum);
-	iomodel->FetchDataToInput(elements,MaskElementonfloatingiceEnum);
 	iomodel->FetchDataToInput(elements,MeshElementonbedEnum);
 	iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum);
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/SurfaceSlope/CreateNodesSurfaceSlope.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/SurfaceSlope/CreateNodesSurfaceSlope.cpp	(revision 15985)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/SurfaceSlope/CreateNodesSurfaceSlope.cpp	(revision 15986)
@@ -11,6 +11,6 @@
 void	CreateNodesSurfaceSlope(Nodes** pnodes, IoModel* iomodel){
 
-	iomodel->FetchData(5,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum);
+	iomodel->FetchData(3,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum);
 	CreateNodes(pnodes,iomodel,SurfaceSlopeAnalysisEnum,P1Enum);
-	iomodel->DeleteData(5,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum);
+	iomodel->DeleteData(3,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum);
 }
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/Thermal/CreateNodesThermal.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/Thermal/CreateNodesThermal.cpp	(revision 15985)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/Thermal/CreateNodesThermal.cpp	(revision 15986)
@@ -11,6 +11,6 @@
 void	CreateNodesThermal(Nodes** pnodes, IoModel* iomodel){
 
-	iomodel->FetchData(5,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum);
+	iomodel->FetchData(3,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum);
 	CreateNodes(pnodes,iomodel,ThermalAnalysisEnum,P1Enum);
-	iomodel->DeleteData(5,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum);
+	iomodel->DeleteData(3,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum);
 }
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/Thermal/UpdateElementsThermal.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/Thermal/UpdateElementsThermal.cpp	(revision 15985)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/Thermal/UpdateElementsThermal.cpp	(revision 15986)
@@ -32,5 +32,4 @@
 	iomodel->FetchDataToInput(elements,MaskIceLevelsetEnum);
 	iomodel->FetchDataToInput(elements,MaskGroundediceLevelsetEnum);
-	iomodel->FetchDataToInput(elements,MaskElementonfloatingiceEnum);
 	iomodel->FetchDataToInput(elements,MeshElementonbedEnum);
 	iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum);
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 15985)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 15986)
@@ -142,8 +142,4 @@
 	InversionVyObsEnum,
 	InversionVzObsEnum,
-	MaskElementonfloatingiceEnum,
-	MaskElementongroundediceEnum,
-	MaskVertexonfloatingiceEnum,
-	MaskVertexongroundediceEnum,
 	MaskIceLevelsetEnum,
 	MaterialsBetaEnum,
@@ -484,5 +480,4 @@
 	WatercolumnEnum,
 	BasalFrictionEnum,
-    BasalMeltrateEnum,
 	ViscousHeatingEnum,
 	QmuTemperatureEnum,
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 15985)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 15986)
@@ -150,8 +150,4 @@
 		case InversionVyObsEnum : return "InversionVyObs";
 		case InversionVzObsEnum : return "InversionVzObs";
-		case MaskElementonfloatingiceEnum : return "MaskElementonfloatingice";
-		case MaskElementongroundediceEnum : return "MaskElementongroundedice";
-		case MaskVertexonfloatingiceEnum : return "MaskVertexonfloatingice";
-		case MaskVertexongroundediceEnum : return "MaskVertexongroundedice";
 		case MaskIceLevelsetEnum : return "MaskIceLevelset";
 		case MaterialsBetaEnum : return "MaterialsBeta";
@@ -478,5 +474,4 @@
 		case WatercolumnEnum : return "Watercolumn";
 		case BasalFrictionEnum : return "BasalFriction";
-		case BasalMeltrateEnum : return "BasalMeltrate";
 		case ViscousHeatingEnum : return "ViscousHeating";
 		case QmuTemperatureEnum : return "QmuTemperature";
Index: /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 15985)
+++ /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 15986)
@@ -153,8 +153,4 @@
 	      else if (strcmp(name,"InversionVyObs")==0) return InversionVyObsEnum;
 	      else if (strcmp(name,"InversionVzObs")==0) return InversionVzObsEnum;
-	      else if (strcmp(name,"MaskElementonfloatingice")==0) return MaskElementonfloatingiceEnum;
-	      else if (strcmp(name,"MaskElementongroundedice")==0) return MaskElementongroundediceEnum;
-	      else if (strcmp(name,"MaskVertexonfloatingice")==0) return MaskVertexonfloatingiceEnum;
-	      else if (strcmp(name,"MaskVertexongroundedice")==0) return MaskVertexongroundediceEnum;
 	      else if (strcmp(name,"MaskIceLevelset")==0) return MaskIceLevelsetEnum;
 	      else if (strcmp(name,"MaterialsBeta")==0) return MaterialsBetaEnum;
@@ -260,12 +256,12 @@
 	      else if (strcmp(name,"GiaMantleViscosity")==0) return GiaMantleViscosityEnum;
 	      else if (strcmp(name,"GiaLithosphereThickness")==0) return GiaLithosphereThicknessEnum;
+	      else if (strcmp(name,"Thickness")==0) return ThicknessEnum;
+	      else if (strcmp(name,"TimesteppingStartTime")==0) return TimesteppingStartTimeEnum;
+	      else if (strcmp(name,"TimesteppingFinalTime")==0) return TimesteppingFinalTimeEnum;
+	      else if (strcmp(name,"TimesteppingCflCoefficient")==0) return TimesteppingCflCoefficientEnum;
          else stage=3;
    }
    if(stage==3){
-	      if (strcmp(name,"Thickness")==0) return ThicknessEnum;
-	      else if (strcmp(name,"TimesteppingStartTime")==0) return TimesteppingStartTimeEnum;
-	      else if (strcmp(name,"TimesteppingFinalTime")==0) return TimesteppingFinalTimeEnum;
-	      else if (strcmp(name,"TimesteppingCflCoefficient")==0) return TimesteppingCflCoefficientEnum;
-	      else if (strcmp(name,"TimesteppingTimeAdapt")==0) return TimesteppingTimeAdaptEnum;
+	      if (strcmp(name,"TimesteppingTimeAdapt")==0) return TimesteppingTimeAdaptEnum;
 	      else if (strcmp(name,"TimesteppingTimeStep")==0) return TimesteppingTimeStepEnum;
 	      else if (strcmp(name,"TransientIsstressbalance")==0) return TransientIsstressbalanceEnum;
@@ -383,12 +379,12 @@
 	      else if (strcmp(name,"Profiler")==0) return ProfilerEnum;
 	      else if (strcmp(name,"MatrixParam")==0) return MatrixParamEnum;
+	      else if (strcmp(name,"NodeSId")==0) return NodeSIdEnum;
+	      else if (strcmp(name,"VectorParam")==0) return VectorParamEnum;
+	      else if (strcmp(name,"Riftfront")==0) return RiftfrontEnum;
+	      else if (strcmp(name,"RiftfrontType")==0) return RiftfrontTypeEnum;
          else stage=4;
    }
    if(stage==4){
-	      if (strcmp(name,"NodeSId")==0) return NodeSIdEnum;
-	      else if (strcmp(name,"VectorParam")==0) return VectorParamEnum;
-	      else if (strcmp(name,"Riftfront")==0) return RiftfrontEnum;
-	      else if (strcmp(name,"RiftfrontType")==0) return RiftfrontTypeEnum;
-	      else if (strcmp(name,"Segment")==0) return SegmentEnum;
+	      if (strcmp(name,"Segment")==0) return SegmentEnum;
 	      else if (strcmp(name,"SegmentRiftfront")==0) return SegmentRiftfrontEnum;
 	      else if (strcmp(name,"SpcDynamic")==0) return SpcDynamicEnum;
@@ -487,5 +483,4 @@
 	      else if (strcmp(name,"Watercolumn")==0) return WatercolumnEnum;
 	      else if (strcmp(name,"BasalFriction")==0) return BasalFrictionEnum;
-	      else if (strcmp(name,"BasalMeltrate")==0) return BasalMeltrateEnum;
 	      else if (strcmp(name,"ViscousHeating")==0) return ViscousHeatingEnum;
 	      else if (strcmp(name,"QmuTemperature")==0) return QmuTemperatureEnum;
@@ -506,13 +501,13 @@
 	      else if (strcmp(name,"P1DG")==0) return P1DGEnum;
 	      else if (strcmp(name,"P1bubble")==0) return P1bubbleEnum;
-         else stage=5;
-   }
-   if(stage==5){
-	      if (strcmp(name,"P1bubblecondensed")==0) return P1bubblecondensedEnum;
+	      else if (strcmp(name,"P1bubblecondensed")==0) return P1bubblecondensedEnum;
 	      else if (strcmp(name,"P2")==0) return P2Enum;
 	      else if (strcmp(name,"P2xP1")==0) return P2xP1Enum;
 	      else if (strcmp(name,"P1xP2")==0) return P1xP2Enum;
 	      else if (strcmp(name,"P1P1")==0) return P1P1Enum;
-	      else if (strcmp(name,"P1P1GLS")==0) return P1P1GLSEnum;
+         else stage=5;
+   }
+   if(stage==5){
+	      if (strcmp(name,"P1P1GLS")==0) return P1P1GLSEnum;
 	      else if (strcmp(name,"MINI")==0) return MINIEnum;
 	      else if (strcmp(name,"MINIcondensed")==0) return MINIcondensedEnum;
Index: /issm/trunk-jpl/src/m/classes/mask.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/mask.m	(revision 15985)
+++ /issm/trunk-jpl/src/m/classes/mask.m	(revision 15986)
@@ -52,8 +52,4 @@
 		end % }}}
 		function marshall(obj,md,fid) % {{{
-			WriteData(fid,'object',obj,'fieldname','elementonfloatingice','format','BooleanMat','mattype',2);
-			WriteData(fid,'object',obj,'fieldname','elementongroundedice','format','BooleanMat','mattype',2);
-			WriteData(fid,'object',obj,'fieldname','vertexonfloatingice','format','DoubleMat','mattype',1);
-			WriteData(fid,'object',obj,'fieldname','vertexongroundedice','format','DoubleMat','mattype',1);
 			WriteData(fid,'object',obj,'fieldname','groundedice_levelset','format','DoubleMat','mattype',1);
 			WriteData(fid,'object',obj,'fieldname','ice_levelset','format','DoubleMat','mattype',1);
Index: /issm/trunk-jpl/src/m/classes/mask.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/mask.py	(revision 15985)
+++ /issm/trunk-jpl/src/m/classes/mask.py	(revision 15986)
@@ -54,8 +54,4 @@
 	# }}}
 	def marshall(self,md,fid):    # {{{
-		WriteData(fid,'object',self,'fieldname','elementonfloatingice','format','BooleanMat','mattype',2)
-		WriteData(fid,'object',self,'fieldname','elementongroundedice','format','BooleanMat','mattype',2)
-		WriteData(fid,'object',self,'fieldname','vertexonfloatingice','format','DoubleMat','mattype',1)
-		WriteData(fid,'object',self,'fieldname','vertexongroundedice','format','DoubleMat','mattype',1)
 		WriteData(fid,'object',self,'fieldname','groundedice_levelset','format','DoubleMat','mattype',1)
 		WriteData(fid,'object',self,'fieldname','ice_levelset','format','DoubleMat','mattype',1)
Index: /issm/trunk-jpl/src/m/enum/EnumDefinitions.py
===================================================================
--- /issm/trunk-jpl/src/m/enum/EnumDefinitions.py	(revision 15985)
+++ /issm/trunk-jpl/src/m/enum/EnumDefinitions.py	(revision 15986)
@@ -142,8 +142,4 @@
 def InversionVyObsEnum(): return StringToEnum("InversionVyObs")[0]
 def InversionVzObsEnum(): return StringToEnum("InversionVzObs")[0]
-def MaskElementonfloatingiceEnum(): return StringToEnum("MaskElementonfloatingice")[0]
-def MaskElementongroundediceEnum(): return StringToEnum("MaskElementongroundedice")[0]
-def MaskVertexonfloatingiceEnum(): return StringToEnum("MaskVertexonfloatingice")[0]
-def MaskVertexongroundediceEnum(): return StringToEnum("MaskVertexongroundedice")[0]
 def MaskIceLevelsetEnum(): return StringToEnum("MaskIceLevelset")[0]
 def MaterialsBetaEnum(): return StringToEnum("MaterialsBeta")[0]
@@ -470,5 +466,4 @@
 def WatercolumnEnum(): return StringToEnum("Watercolumn")[0]
 def BasalFrictionEnum(): return StringToEnum("BasalFriction")[0]
-def BasalMeltrateEnum(): return StringToEnum("BasalMeltrate")[0]
 def ViscousHeatingEnum(): return StringToEnum("ViscousHeating")[0]
 def QmuTemperatureEnum(): return StringToEnum("QmuTemperature")[0]
Index: sm/trunk-jpl/src/m/enum/MaskElementonfloatingiceEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/MaskElementonfloatingiceEnum.m	(revision 15985)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=MaskElementonfloatingiceEnum()
-%MASKELEMENTONFLOATINGICEENUM - Enum of MaskElementonfloatingice
-%
-%   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=MaskElementonfloatingiceEnum()
-
-macro=StringToEnum('MaskElementonfloatingice');
Index: sm/trunk-jpl/src/m/enum/MaskElementongroundediceEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/MaskElementongroundediceEnum.m	(revision 15985)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=MaskElementongroundediceEnum()
-%MASKELEMENTONGROUNDEDICEENUM - Enum of MaskElementongroundedice
-%
-%   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=MaskElementongroundediceEnum()
-
-macro=StringToEnum('MaskElementongroundedice');
Index: sm/trunk-jpl/src/m/enum/MaskVertexonfloatingiceEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/MaskVertexonfloatingiceEnum.m	(revision 15985)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=MaskVertexonfloatingiceEnum()
-%MASKVERTEXONFLOATINGICEENUM - Enum of MaskVertexonfloatingice
-%
-%   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=MaskVertexonfloatingiceEnum()
-
-macro=StringToEnum('MaskVertexonfloatingice');
Index: sm/trunk-jpl/src/m/enum/MaskVertexongroundediceEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/MaskVertexongroundediceEnum.m	(revision 15985)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=MaskVertexongroundediceEnum()
-%MASKVERTEXONGROUNDEDICEENUM - Enum of MaskVertexongroundedice
-%
-%   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=MaskVertexongroundediceEnum()
-
-macro=StringToEnum('MaskVertexongroundedice');
