Index: /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 15977)
+++ /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 15978)
@@ -2744,7 +2744,19 @@
 bool   Penta::IsFloating(){
 
-	bool onshelf;
-	inputs->GetInputValue(&onshelf,MaskElementonfloatingiceEnum);
-	return onshelf;
+	bool shelf;
+	int  migration_style;
+	parameters->FindParam(&migration_style,GroundinglineMigrationEnum);
+
+	if(migration_style==SubelementMigrationEnum || migration_style==SubelementMigration2Enum){ //Floating if all nodes are floating
+		if(this->inputs->Max(MaskGroundediceLevelsetEnum) <= 0.) shelf=true;
+		else shelf=false;
+	}
+	else if(migration_style==NoneEnum || migration_style==AgressiveMigrationEnum || migration_style==SoftMigrationEnum){ //Floating if all nodes are floating
+		if(this->inputs->Min(MaskGroundediceLevelsetEnum) > 0.) shelf=false;
+		else shelf=true;
+	}
+	else _error_("migration_style not implemented yet");
+
+	return shelf;
 }
 /*}}}*/
Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 15977)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 15978)
@@ -1958,5 +1958,17 @@
 
 	bool shelf;
-	inputs->GetInputValue(&shelf,MaskElementonfloatingiceEnum);
+	int  migration_style;
+	parameters->FindParam(&migration_style,GroundinglineMigrationEnum);
+
+	if(migration_style==SubelementMigrationEnum || migration_style==SubelementMigration2Enum){ //Floating if all nodes are floating
+		if(this->inputs->Max(MaskGroundediceLevelsetEnum) <= 0.) shelf=true;
+		else shelf=false;
+	}
+	else if(migration_style==NoneEnum || migration_style==AgressiveMigrationEnum || migration_style==SoftMigrationEnum){ //Floating if all nodes are floating
+		if(this->inputs->Min(MaskGroundediceLevelsetEnum) > 0.) shelf=false;
+		else shelf=true;
+	}
+	else _error_("migration_style not implemented yet");
+
 	return shelf;
 }
