Index: /issm/trunk/src/c/objects/Elements/Element.h
===================================================================
--- /issm/trunk/src/c/objects/Elements/Element.h	(revision 10371)
+++ /issm/trunk/src/c/objects/Elements/Element.h	(revision 10372)
@@ -69,6 +69,4 @@
 		virtual void   PotentialSheetUngrounding(Vec potential_sheet_ungrounding)=0;
 		virtual void   MigrateGroundingline()=0;
-		virtual int    UpdateShelfStatus(Vec new_shelf_nodes)=0;
-		virtual void   UpdateShelfFlags(double* new_shelf_nodes)=0;
 		virtual int    UpdatePotentialSheetUngrounding(double* potential_sheet_ungrounding,Vec vec_nodes_on_iceshelf,double* nodes_on_iceshelf)=0;
 
Index: /issm/trunk/src/c/objects/Elements/Penta.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 10371)
+++ /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 10372)
@@ -2594,14 +2594,4 @@
 }
 /*}}}*/
-/*FUNCTION Penta::UpdateShelfStatus{{{1*/
-int Penta::UpdateShelfStatus(Vec new_shelf_nodes){
-	_error_("Not implemented yet");
-}
-/*}}}*/
-/*FUNCTION Penta::UpdateShelfFlags{{{1*/
-void Penta::UpdateShelfFlags(double* new_shelf_nodes){
-	_error_("Not implemented yet");
-}
-/*}}}*/
 /*FUNCTION Penta::UpdatePotentialSheetUngrounding{{{1*/
 int Penta::UpdatePotentialSheetUngrounding(double* potential_sheet_ungrounding,Vec vec_nodes_on_iceshelf,double* nodes_on_iceshelf){
Index: /issm/trunk/src/c/objects/Elements/Penta.h
===================================================================
--- /issm/trunk/src/c/objects/Elements/Penta.h	(revision 10371)
+++ /issm/trunk/src/c/objects/Elements/Penta.h	(revision 10372)
@@ -114,6 +114,4 @@
 		double SurfaceArea(void);
 		void   Update(int index, IoModel* iomodel,int analysis_counter,int analysis_type);
-		int    UpdateShelfStatus(Vec new_shelf_nodes);
-		void   UpdateShelfFlags(double* new_shelf_nodes);
 		int    UpdatePotentialSheetUngrounding(double* potential_sheet_ungrounding,Vec vec_nodes_on_iceshelf,double* nodes_on_iceshelf);
 		double TimeAdapt();
Index: /issm/trunk/src/c/objects/Elements/Tria.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 10371)
+++ /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 10372)
@@ -2427,103 +2427,4 @@
 	//this->parameters: we still can't point to it, it may not even exist. Configure will handle this.
 	this->parameters=NULL;
-}
-/*}}}*/
-/*FUNCTION Tria::UpdateShelfStatus{{{1*/
-int  Tria::UpdateShelfStatus(Vec new_shelf_nodes){
-
-	int     i;
-
-	double  h[3];
-	double  s[3];
-	double  b[3];
-	double  ba[3];
-	Input  *surface_input  = NULL;
-	Input  *bed_input      = NULL;
-	double  rho_water;
-	double  rho_ice;
-	double  density;
-	bool    elementonshelf = false;
-	int     flipped=0;
-	int     shelfstatus[3];
-
-
-	/*Recover info at the vertices: */
-	surface_input   =inputs->GetInput(SurfaceEnum);   _assert_(surface_input);
-	bed_input   =inputs->GetInput(BedEnum);   _assert_(bed_input);
-	if((surface_input->ObjectEnum()!=TriaVertexInputEnum) | (bed_input->ObjectEnum()!=TriaVertexInputEnum))_error_(" not supported yet for bed and surface interpolations not P1!");
-
-	GetInputListOnVertices(&h[0],ThicknessEnum);
-	GetInputListOnVertices(&s[0],SurfaceEnum);
-	GetInputListOnVertices(&b[0],BedEnum);
-	GetInputListOnVertices(&ba[0],BathymetryEnum);
-
-	/*material parameters: */
-	rho_water=matpar->GetRhoWater();
-	rho_ice=matpar->GetRhoIce();
-	density=rho_ice/rho_water;
-
-	/*Initialize current status of nodes: */
-	for(i=0;i<3;i++){
-		shelfstatus[i]=nodes[i]->IsFloating();
-		if((nodes[i]->Sid()+1)==36) printf("UpdateShelfStatus: El %i Node %i shelf status %i\n",this->Id(),nodes[i]->Sid()+1,shelfstatus[i]);
-	}
-	
-	/*go through vertices, and figure out if they are grounded or not, then update their status: */
-	flipped=0;
-	for(i=0;i<3;i++){
-		if(b[i]<=ba[i]){ //the = will lead to oscillations.
-			nodes[i]->inputs->AddInput(new BoolInput(MaskVertexonfloatingiceEnum,false));
-			nodes[i]->inputs->AddInput(new BoolInput(MaskVertexongroundediceEnum,true));
-			if(shelfstatus[i]){
-				flipped++;
-				if((nodes[i]->Sid()+1)==36)printf("UpdateShelfStatus: El %i Node %i grounding %g %g %g\n",this->Id(),nodes[i]->Sid()+1,b[i],ba[i],s[i]);
-			}
-			VecSetValue(new_shelf_nodes,nodes[i]->Sid(),0,INSERT_VALUES);
-		}
-		else{
-			nodes[i]->inputs->AddInput(new BoolInput(MaskVertexonfloatingiceEnum,true));
-			nodes[i]->inputs->AddInput(new BoolInput(MaskVertexongroundediceEnum,false));
-			if(!shelfstatus[i]){
-				flipped++;
-				if((nodes[i]->Sid()+1)==36)printf("UpdateShelfStatus: El %i Node %i floating %g %g %g\n",this->Id(),nodes[i]->Sid()+1,b[i],ba[i],s[i]);
-			}
-			VecSetValue(new_shelf_nodes,nodes[i]->Sid(),1,INSERT_VALUES);
-		}
-	}
-
-	/*Now, update  shelf status of element. An element can only be on shelf if all its nodes are on shelf: */
-	elementonshelf=false;
-	for(i=0;i<3;i++){
-		if(nodes[i]->IsFloating()){
-			elementonshelf=true;
-			break;
-		}
-	}
-    this->inputs->AddInput(new BoolInput(MaskElementonfloatingiceEnum,elementonshelf));
-
-	 return flipped;
-}
-/*}}}*/
-/*FUNCTION Tria::UpdateShelfFlags{{{1*/
-void Tria::UpdateShelfFlags(double* new_shelf_nodes){
-
-	/*go through vertices, and update the status of MaskVertexonfloatingiceEnum and MaskVertexongroundediceEnum flags: */
-	bool flag;
-	int  i;
-	double  h[3];
-	double  s[3];
-	double  b[3];
-	double  ba[3];
-
-	GetInputListOnVertices(&h[0],ThicknessEnum);
-	GetInputListOnVertices(&s[0],SurfaceEnum);
-	GetInputListOnVertices(&b[0],BedEnum);
-	GetInputListOnVertices(&ba[0],BathymetryEnum);
-
-	for(i=0;i<3;i++){
-		flag=(bool)new_shelf_nodes[nodes[i]->Sid()];
-		nodes[i]->inputs->AddInput(new BoolInput(MaskVertexonfloatingiceEnum,flag));
-		nodes[i]->inputs->AddInput(new BoolInput(MaskVertexongroundediceEnum,!flag));
-	}
 }
 /*}}}*/
Index: /issm/trunk/src/c/objects/Elements/Tria.h
===================================================================
--- /issm/trunk/src/c/objects/Elements/Tria.h	(revision 10371)
+++ /issm/trunk/src/c/objects/Elements/Tria.h	(revision 10372)
@@ -113,7 +113,5 @@
 		double SurfaceArea(void);
 		void   Update(int index, IoModel* iomodel,int analysis_counter,int analysis_type);
-		int    UpdateShelfStatus(Vec new_shelf_nodes);
 		int    UpdatePotentialSheetUngrounding(double* vertices_potentially_ungrounding,Vec vec_nodes_on_iceshelf,double* nodes_on_iceshelf);
-		void   UpdateShelfFlags(double* new_shelf_nodes);
 		double TimeAdapt();
 		int*   GetHorizontalNeighboorSids(void);
