Index: /issm/trunk/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp
===================================================================
--- /issm/trunk/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp	(revision 10375)
+++ /issm/trunk/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp	(revision 10376)
@@ -30,5 +30,5 @@
 
 		/*propagate ice shelf into connex areas of the ice sheet that potentially want to unground: */
-		vertices_ungrounding=PropagateShelfIntoConnexIceSheet(elements,nodes,vertices,parameters,vertices_potentially_ungrounding);
+		vertices_ungrounding=PropagateFloatingiceToGrounded(elements,nodes,vertices,parameters,vertices_potentially_ungrounding);
 	}
 
@@ -36,5 +36,5 @@
 	for(i=0;i<elements->Size();i++){
 		element=(Element*)elements->GetObjectByOffset(i);
-		element->Migration(vertices_ungrounding);
+		element->MigrateGroundingLine(vertices_ungrounding);
 	}
 
@@ -79,16 +79,16 @@
 }
 /*}}}*/
-/*FUNCTION PropagateShelfIntoConnexIceSheet {{{1*/
-double*    PropagateShelfIntoConnexIceSheet(Elements* elements,Nodes* nodes,Vertices* vertices,Parameters* parameters,double* vertices_potentially_ungrounding){ 
+/*FUNCTION PropagateFloatingiceToGrounded {{{1*/
+double*    PropagateFloatingiceToGrounded(Elements* elements,Nodes* nodes,Vertices* vertices,Parameters* parameters,double* vertices_potentially_ungrounding){ 
 
 	int      i,analysis_type;
 	int      numberofvertices;
 	int      nflipped,local_nflipped;
-	double*  nodes_on_iceshelf             = NULL;
-	double*  elements_touching_iceshelf    = NULL;
-	Vec      vec_element_touching_iceshelf = NULL;
-	Vec      vec_nodes_on_iceshelf         = NULL;
-	Node*    node                          = NULL;
-	Element* element                       = NULL;
+	double*  nodes_on_floatingice                  = NULL;
+	double*  elements_neighbouring_floatingce      = NULL;
+	Vec      vec_elements_neighbouring_floatingice = NULL;
+	Vec      vec_nodes_on_floatingice              = NULL;
+	Node*    node                                  = NULL;
+	Element* element                               = NULL;
 
 
@@ -97,13 +97,13 @@
 	numberofvertices=vertices->NumberOfVertices();
 
-	/*recover vec_nodes_on_iceshelf*/
-	vec_nodes_on_iceshelf=NewVec(numberofvertices);
+	/*recover vec_nodes_on_floatingice*/
+	vec_nodes_on_floatingice=NewVec(numberofvertices);
 
-	/*Loop through nodes, and fill nodes_on_iceshelf: */
+	/*Loop through nodes, and fill nodes_on_floatingice: */
 	for(i=0;i<nodes->Size();i++){
 		node=(Node*)nodes->GetObjectByOffset(i);
 		if(node->InAnalysis(analysis_type)){
 			if(node->IsFloating()){
-				VecSetValue(vec_nodes_on_iceshelf,node->Sid(),1.0,INSERT_VALUES);
+				VecSetValue(vec_nodes_on_floatingice,node->Sid(),1.0,INSERT_VALUES);
 			}
 		}
@@ -111,7 +111,7 @@
 
 	/*Assemble vector and serialize: */
-	VecAssemblyBegin(vec_nodes_on_iceshelf);
-	VecAssemblyEnd(vec_nodes_on_iceshelf);
-	VecToMPISerial(&nodes_on_iceshelf,vec_nodes_on_iceshelf);
+	VecAssemblyBegin(vec_nodes_on_floatingice);
+	VecAssemblyEnd(vec_nodes_on_floatingice);
+	VecToMPISerial(&nodes_on_floatingice,vec_nodes_on_floatingice);
 
 	nflipped=1; //bootstrap
@@ -119,25 +119,27 @@
 		
 		/*Vector of size number of elements*/
-		vec_element_touching_iceshelf=NewVec(elements->NumberOfElements(),true);
+		vec_elements_neighbouring_floatingice=NewVec(elements->NumberOfElements(),true);
 
 		/*Figure out if any of the nodes of the element will be floating -> elements neighbouting the floating ice*/
 		for(i=0;i<elements->Size();i++){
 			element=(Element*)elements->GetObjectByOffset(i);
-			VecSetValue(vec_element_touching_iceshelf,element->Sid(),element->IsNodeOnShelfFromFlags(nodes_on_iceshelf)?1.0:0.0,INSERT_VALUES);
+			VecSetValue(vec_elements_neighbouring_floatingice,element->Sid(),element->IsNodeOnShelfFromFlags(nodes_on_floatingice)?1.0:0.0,INSERT_VALUES);
 		}
 
 		/*Assemble vector and serialize: */
-		VecAssemblyBegin(vec_element_touching_iceshelf);
-		VecAssemblyEnd(vec_element_touching_iceshelf);
-		VecToMPISerial(&elements_touching_iceshelf,vec_element_touching_iceshelf);
+		VecAssemblyBegin(vec_elements_neighbouring_floatingice);
+		VecAssemblyEnd(vec_elements_neighbouring_floatingice);
+		VecToMPISerial(&elements_neighbouring_floatingce,vec_elements_neighbouring_floatingice);
 
-		/*Go through elements_touching_iceshelf, and flag their nodes that can unground inside potential_sheet_ungrounding*/
+		/*Go through elements_neighbouring_floatingce, and update vector of the nodes that will start floating*/
 		local_nflipped=0;
 		for(i=0;i<elements->Size();i++){
 			element=(Element*)elements->GetObjectByOffset(i);
-			if(elements_touching_iceshelf[element->Sid()]){
-				local_nflipped+=element->UpdatePotentialSheetUngrounding(vertices_potentially_ungrounding,vec_nodes_on_iceshelf,nodes_on_iceshelf);
+			if(elements_neighbouring_floatingce[element->Sid()]){
+				local_nflipped+=element->UpdatePotentialSheetUngrounding(vertices_potentially_ungrounding,vec_nodes_on_floatingice,nodes_on_floatingice);
 			}
 		}
+		VecAssemblyBegin(vec_nodes_on_floatingice);
+		VecAssemblyEnd(vec_nodes_on_floatingice);
 		
 		MPI_Allreduce(&local_nflipped,&nflipped,1,MPI_INT,MPI_SUM,MPI_COMM_WORLD);
@@ -145,19 +147,17 @@
 
 		/*Avoid leaks: */
-		xfree((void**)&elements_touching_iceshelf);
-		xfree((void**)&nodes_on_iceshelf);
+		xfree((void**)&elements_neighbouring_floatingce);
+		xfree((void**)&nodes_on_floatingice);
 
 		/*Assemble and serialize:*/
-		VecFree(&vec_element_touching_iceshelf);
-		VecAssemblyBegin(vec_nodes_on_iceshelf);
-		VecAssemblyEnd(vec_nodes_on_iceshelf);
-		VecToMPISerial(&nodes_on_iceshelf,vec_nodes_on_iceshelf); 
+		VecFree(&vec_elements_neighbouring_floatingice);
+		VecToMPISerial(&nodes_on_floatingice,vec_nodes_on_floatingice); 
 	}
 
 	/*Free ressources:*/
-	VecFree(&vec_nodes_on_iceshelf);
-	xfree((void**)&elements_touching_iceshelf);
+	VecFree(&vec_nodes_on_floatingice);
+	xfree((void**)&elements_neighbouring_floatingce);
 
-	return nodes_on_iceshelf;
+	return nodes_on_floatingice;
 }
 /*}}}*/
Index: /issm/trunk/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.h
===================================================================
--- /issm/trunk/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.h	(revision 10375)
+++ /issm/trunk/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.h	(revision 10376)
@@ -14,4 +14,4 @@
 void       GroundinglineMigrationx(Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads,Materials* materials, Parameters* parameters);
 double*    PotentialSheetUngrounding(Elements* elements,Vertices* vertices,Parameters* parameters);
-double*    PropagateShelfIntoConnexIceSheet(Elements* elements,Nodes* nodes,Vertices* vertices,Parameters* parameters,double* vertices_potentially_ungrounding);
+double*    PropagateFloatingiceToGrounded(Elements* elements,Nodes* nodes,Vertices* vertices,Parameters* parameters,double* vertices_potentially_ungrounding);
 #endif  /* _GROUNDINGLINEMIGRATIONX_H */
Index: /issm/trunk/src/c/objects/Elements/Element.h
===================================================================
--- /issm/trunk/src/c/objects/Elements/Element.h	(revision 10375)
+++ /issm/trunk/src/c/objects/Elements/Element.h	(revision 10376)
@@ -65,5 +65,5 @@
 		virtual int*   GetHorizontalNeighboorSids(void)=0;
 		virtual double TimeAdapt()=0;
-		virtual void   Migration(double* sheet_ungrounding)=0;
+		virtual void   MigrateGroundingLine(double* sheet_ungrounding)=0;
 		virtual void   ShelfSync()=0;
 		virtual void   PotentialSheetUngrounding(Vec potential_sheet_ungrounding)=0;
Index: /issm/trunk/src/c/objects/Elements/Penta.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 10375)
+++ /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 10376)
@@ -304,9 +304,4 @@
 void  Penta::AverageOntoPartition(Vec partition_contributions,Vec partition_areas,double* vertex_response,double* qmu_part){
 	_error_("Not supported yet!");
-}
-/*}}}*/
-/*FUNCTION Penta::Migration{{{1*/
-void  Penta::Migration(double* sheet_ungrounding){
-	_error_("not supported yet!");
 }
 /*}}}*/
@@ -2046,4 +2041,9 @@
 
 }/*}}}*/
+/*FUNCTION Penta::MigrateGroundingLine{{{1*/
+void  Penta::MigrateGroundingLine(double* sheet_ungrounding){
+	_error_("not supported yet!");
+}
+/*}}}*/
 /*FUNCTION Penta::MinEdgeLength{{{1*/
 double Penta::MinEdgeLength(double xyz_list[6][3]){
Index: /issm/trunk/src/c/objects/Elements/Penta.h
===================================================================
--- /issm/trunk/src/c/objects/Elements/Penta.h	(revision 10375)
+++ /issm/trunk/src/c/objects/Elements/Penta.h	(revision 10376)
@@ -103,5 +103,5 @@
 		
 		void   InputToResult(int enum_type,int step,double time);
-		void   Migration(double* sheet_ungrounding);
+		void   MigrateGroundingLine(double* sheet_ungrounding);
 		void   PotentialSheetUngrounding(Vec potential_sheet_ungrounding);
 		void   ShelfSync();
Index: /issm/trunk/src/c/objects/Elements/Tria.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 10375)
+++ /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 10376)
@@ -1922,6 +1922,6 @@
 
 }/*}}}*/
-/*FUNCTION Tria::Migration{{{1*/
-void  Tria::Migration(double* sheet_ungrounding){
+/*FUNCTION Tria::MigrateGroundingLine{{{1*/
+void  Tria::MigrateGroundingLine(double* sheet_ungrounding){
 
 	int     i,migration_style,unground;
Index: /issm/trunk/src/c/objects/Elements/Tria.h
===================================================================
--- /issm/trunk/src/c/objects/Elements/Tria.h	(revision 10375)
+++ /issm/trunk/src/c/objects/Elements/Tria.h	(revision 10376)
@@ -102,5 +102,5 @@
 		void   DeleteResults(void);
 		void   MaterialUpdateFromTemperature(void){_error_("not implemented yet");};
-		void   Migration(double* sheet_ungrounding);
+		void   MigrateGroundingLine(double* sheet_ungrounding);
 		void   ShelfSync();
 		void   PotentialSheetUngrounding(Vec potential_sheet_ungrounding);
