Index: /issm/trunk-jpl/src/c/classes/Elements/Element.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 18860)
+++ /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 18861)
@@ -1098,5 +1098,5 @@
 		else shelf=true;
 	}
-	else if(migration_style==NoneEnum || migration_style==AggressiveMigrationEnum || migration_style==SoftMigrationEnum){ //Floating if all nodes are floating
+	else if(migration_style==NoneEnum || migration_style==AggressiveMigrationEnum || migration_style==SoftMigrationEnum || migration_style==GroundingOnlyEnum){ //Floating if all nodes are floating
 		if(this->inputs->Min(MaskGroundediceLevelsetEnum) > 0.) shelf=false;
 		else shelf=true;
@@ -1233,4 +1233,5 @@
 			if(phi[i]>=0.) b[i]=r[i];
 		}
+		else if(migration_style == GroundingOnlyEnum && b[i]<r[i]) b[i]=r[i];
 		/*Ice shelf: if bed below bathymetry, impose it at the bathymetry and update surface, elso do nothing */
 		else if(phi[i]<=0.){
@@ -1255,5 +1256,5 @@
 				}
 				else{
-					if(migration_style!=SoftMigrationEnum) _error_("Error: migration should be Aggressive, Soft or Subelement");
+					if(migration_style!=SoftMigrationEnum && migration_style!=ContactEnum && migration_style!=GroundingOnlyEnum) _error_("Error: migration should be Aggressive, Soft, Subelement, Contact or GroundingOnly");
 				}
 			}
Index: /issm/trunk-jpl/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp	(revision 18860)
+++ /issm/trunk-jpl/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp	(revision 18861)
@@ -39,4 +39,5 @@
 		case SubelementMigrationEnum:
 		case SubelementMigration2Enum:
+		case GroundingOnlyEnum:
 			/*Nothing additional to do here, MigrateGroundingLine takes care of everything*/
 			break;
@@ -81,19 +82,10 @@
 	serial_vertexgrounded=vertexgrounded->ToMPISerial();
 	serial_vertexfloating=vertexfloating->ToMPISerial();
-
-	/*find vertices on GL */
 	for(int i=0;i<numberofvertices;i++){
-		if(serial_vertexgrounded[i]==1. && serial_vertexfloating[i]==1.){
-			phi[i]=0.;
-		}
-		else if(serial_vertexgrounded[i]==1.){
-			phi[i]=1.;
-		}
-		else if(serial_vertexfloating[i]==1.){
-			phi[i]=-1.;
-		}
-		else{
-			phi[i]=9999.;
-		}
+			if (serial_vertexgrounded[i]==1. && serial_vertexfloating[i]==1.) phi[i]=0.;
+			else if (serial_vertexgrounded[i]==1) phi[i]=1;
+			else if (serial_vertexfloating[i]==1) phi[i]=-1;
+			else if (serial_vertexgrounded[i]>10) phi[i]=9999;
+			else phi[i]=-9999;
 	}
 
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 18860)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 18861)
@@ -717,4 +717,5 @@
 	SubelementMigration2Enum,
 	ContactEnum,
+	GroundingOnlyEnum,
 	MaskGroundediceLevelsetEnum,
 	/*}}}*/
Index: /issm/trunk-jpl/src/m/classes/groundingline.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/groundingline.m	(revision 18860)
+++ /issm/trunk-jpl/src/m/classes/groundingline.m	(revision 18861)
@@ -40,5 +40,5 @@
 		function md = checkconsistency(obj,md,solution,analyses) % {{{
 
-			md = checkfield(md,'fieldname','groundingline.migration','values',{'None' 'AggressiveMigration' 'SoftMigration' 'SubelementMigration' 'SubelementMigration2' 'Contact' 'None'});
+			md = checkfield(md,'fieldname','groundingline.migration','values',{'None' 'AggressiveMigration' 'SoftMigration' 'SubelementMigration' 'SubelementMigration2' 'Contact' 'None' 'GroundingOnly'});
 
 			if ~strcmp(obj.migration,'None'),
Index: /issm/trunk-jpl/src/m/classes/groundingline.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/groundingline.py	(revision 18860)
+++ /issm/trunk-jpl/src/m/classes/groundingline.py	(revision 18861)
@@ -37,5 +37,5 @@
 	def checkconsistency(self,md,solution,analyses):    # {{{
 
-		md = checkfield(md,'fieldname','groundingline.migration','values',['None','AggressiveMigration','SoftMigration','SubelementMigration','SubelementMigration2','Contact'])
+		md = checkfield(md,'fieldname','groundingline.migration','values',['None','AggressiveMigration','SoftMigration','SubelementMigration','SubelementMigration2','Contact','GroundingOnly'])
 
 		if not m.strcmp(self.migration,'None'):
