Index: /issm/trunk-jpl/src/c/analyses/AdjointHorizAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/AdjointHorizAnalysis.cpp	(revision 26328)
+++ /issm/trunk-jpl/src/c/analyses/AdjointHorizAnalysis.cpp	(revision 26329)
@@ -1660,5 +1660,5 @@
 
 	/*return if floating (gradient is 0)*/
-	if(element->IsFloating()) return;
+	if(element->IsAllFloating()) return;
 
 	/*Intermediaries*/
@@ -1753,5 +1753,5 @@
 
 	/*return if floating or not on bed (gradient is 0)*/
-	if(element->IsFloating()) return;
+	if(element->IsAllFloating()) return;
 	if(!element->IsOnBase()) return;
 
@@ -1866,5 +1866,5 @@
 
 	/*return if floating or not on bed (gradient is 0)*/
-	if(element->IsFloating()) return;
+	if(element->IsAllFloating()) return;
 	if(!element->IsOnBase()) return;
 
@@ -1953,5 +1953,5 @@
 
 	/*return if floating (gradient is 0)*/
-	if(element->IsFloating()) return;
+	if(element->IsAllFloating()) return;
 
 	/*Intermediaries*/
@@ -2071,5 +2071,5 @@
 
 	/*return if floating or not on bed (gradient is 0)*/
-	if(element->IsFloating()) return;
+	if(element->IsAllFloating()) return;
 	if(!element->IsOnBase()) return;
 
@@ -2169,5 +2169,5 @@
 
 	/*return if floating or not on bed (gradient is 0)*/
-	if(element->IsFloating()) return;
+	if(element->IsAllFloating()) return;
 	if(!element->IsOnBase()) return;
 
@@ -2240,5 +2240,5 @@
 
 	/*return if floating (gradient is 0)*/
-	if(element->IsFloating()) return;
+	if(element->IsAllFloating()) return;
 
 	/*Intermediaries*/
Index: /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 26328)
+++ /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 26329)
@@ -371,5 +371,5 @@
 
 	/* Only compute melt rates at the base of grounded ice*/
-	if(!element->IsOnBase() || element->IsFloating()) return;
+	if(!element->IsOnBase() || element->IsAllFloating()) return;
 
 	/* Intermediaries */
@@ -728,5 +728,5 @@
 
 	/*Initialize Element matrix and return if necessary*/
-	if(!element->IsOnBase() || !element->IsFloating()) return NULL;
+	if(!element->IsOnBase() || !element->IsAllFloating()) return NULL;
 
 	/*Intermediaries*/
@@ -922,5 +922,5 @@
 
 	/* implementation of the basal condition decision chart of Aschwanden 2012, Fig.5 */
-	if(!element->IsOnBase() || element->IsFloating()) return NULL;
+	if(!element->IsOnBase() || element->IsAllFloating()) return NULL;
 
 	bool converged, isdynamicbasalspc;
@@ -1023,5 +1023,5 @@
 
 	/*Get basal element*/
-	if(!element->IsOnBase() || !element->IsFloating()) return NULL;
+	if(!element->IsOnBase() || !element->IsAllFloating()) return NULL;
 
 	IssmDouble  Hpmp,dt,Jdet,scalar_ocean,pressure;
@@ -1308,5 +1308,5 @@
 	/* Only update constraints at the base.
 	 * Floating ice is not affected by basal BC decision chart. */
-	if(!(element->IsOnBase()) || element->IsFloating()) return;
+	if(!(element->IsOnBase()) || element->IsAllFloating()) return;
 
 	/*Intermediary*/
@@ -1379,5 +1379,5 @@
 	/* Only update constraints at the base.
 	 * Floating ice is not affected by basal BC decision chart.*/
-	if(!(element->IsOnBase()) || element->IsFloating()) return;
+	if(!(element->IsOnBase()) || element->IsAllFloating()) return;
 
 	/*Intermediary*/
Index: /issm/trunk-jpl/src/c/analyses/HydrologyGlaDSAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/HydrologyGlaDSAnalysis.cpp	(revision 26328)
+++ /issm/trunk-jpl/src/c/analyses/HydrologyGlaDSAnalysis.cpp	(revision 26329)
@@ -325,5 +325,5 @@
 
 	/*Skip if water or ice shelf element*/
-	if(element->IsFloating()) return NULL;
+	if(element->IsAllFloating()) return NULL;
 
 	/*Intermediaries */
@@ -468,5 +468,5 @@
 
 	/*Skip if water or ice shelf element*/
-	if(element->IsFloating()) return;
+	if(element->IsAllFloating()) return;
 
 	/*Intermediaries */
@@ -557,5 +557,5 @@
 
 	/*Skip if water or ice shelf element*/
-	if(element->IsFloating()) return;
+	if(element->IsAllFloating()) return;
 	
 	/*Intermediary*/
Index: /issm/trunk-jpl/src/c/analyses/HydrologyPismAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/HydrologyPismAnalysis.cpp	(revision 26328)
+++ /issm/trunk-jpl/src/c/analyses/HydrologyPismAnalysis.cpp	(revision 26329)
@@ -104,5 +104,5 @@
 
 	/*Skip if water or ice shelf element*/
-	if(element->IsFloating()) return;
+	if(element->IsAllFloating()) return;
 
 	/*Intermediaries */
@@ -134,5 +134,5 @@
 
 	/* Divide by connectivity, add degree of channelization as an input */
-	/*FIXME: should be changed to P1, this is due to the NR, IsFloating will return 0 on this element, but it should not be DG*/
+	/*FIXME: should be changed to P1, this is due to the NR, IsAllFloating will return 0 on this element, but it should not be DG*/
 	element->AddInput(WatercolumnEnum,&watercolumn[0],P1DGEnum);
 
Index: /issm/trunk-jpl/src/c/analyses/HydrologyShaktiAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/HydrologyShaktiAnalysis.cpp	(revision 26328)
+++ /issm/trunk-jpl/src/c/analyses/HydrologyShaktiAnalysis.cpp	(revision 26329)
@@ -223,5 +223,5 @@
 
 	/*Skip if water or ice shelf element*/
-	if(element->IsFloating()) return NULL;
+	if(element->IsAllFloating()) return NULL;
 
 	/*Intermediaries */
@@ -467,5 +467,5 @@
 
 	/*Skip if water or ice shelf element*/
-	if(element->IsFloating()) return;
+	if(element->IsAllFloating()) return;
 
 	/*Intermediaries */
Index: /issm/trunk-jpl/src/c/analyses/HydrologyShreveAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/HydrologyShreveAnalysis.cpp	(revision 26328)
+++ /issm/trunk-jpl/src/c/analyses/HydrologyShreveAnalysis.cpp	(revision 26329)
@@ -234,5 +234,5 @@
 
 	/*Skip if water or ice shelf element*/
-	if(element->IsFloating()) return NULL;
+	if(element->IsAllFloating()) return NULL;
 
 	/*Intermediaries */
Index: /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp	(revision 26328)
+++ /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp	(revision 26329)
@@ -1468,5 +1468,5 @@
 
 	/*Return if element is inactive*/
-	if(element->IsFloating() || !element->IsIceInElement()) return NULL;
+	if(element->IsAllFloating() || !element->IsIceInElement()) return NULL;
 
 	/*Intermediaries*/
@@ -2433,5 +2433,5 @@
 ElementMatrix* StressbalanceAnalysis::CreateKMatrixL1L2Friction(Element* element){/*{{{*/
 
-	if(!element->IsOnBase() || element->IsFloating()) return NULL;
+	if(!element->IsOnBase() || element->IsAllFloating()) return NULL;
 	Element* basalelement = element->SpawnBasalElement();
 	ElementMatrix* Ke = CreateKMatrixSSAFriction(basalelement);
@@ -2754,5 +2754,5 @@
 ElementMatrix* StressbalanceAnalysis::CreateKMatrixMLHOFriction(Element* element){/*{{{*/
 
-	if(!element->IsOnBase() || element->IsFloating()) return NULL;
+	if(!element->IsOnBase() || element->IsAllFloating()) return NULL;
 
 	/*Intermediaries*/
@@ -3439,5 +3439,5 @@
 	if(!element->IsIceInElement()) return NULL;
 
-	if(element->IsFloating() || !element->IsOnBase()) return NULL;
+	if(element->IsAllFloating() || !element->IsOnBase()) return NULL;
 
 	/*Intermediaries*/
@@ -4160,5 +4160,5 @@
 ElementMatrix* StressbalanceAnalysis::CreateKMatrixFSShelf(Element* element){/*{{{*/
 
-	if(!element->IsFloating() || !element->IsOnBase()) return NULL;
+	if(!element->IsAllFloating() || !element->IsOnBase()) return NULL;
 
 	/*If on not water or not FS, skip stiffness: */
@@ -4880,5 +4880,5 @@
 ElementMatrix* StressbalanceAnalysis::CreateKMatrixFSFriction(Element* element){/*{{{*/
 
-	if(element->IsFloating() || !element->IsOnBase()) return NULL;
+	if(element->IsAllFloating() || !element->IsOnBase()) return NULL;
 
 	/*If on water or not FS, skip stiffness: */
@@ -5152,5 +5152,5 @@
 ElementMatrix* StressbalanceAnalysis::CreateKMatrixFSFriction(Element* element){/*{{{*/
 
-	if(element->IsFloating() || !element->IsOnBase()) return NULL;
+	if(element->IsAllFloating() || !element->IsOnBase()) return NULL;
 
 	/*If on water or not FS, skip stiffness: */
@@ -5372,5 +5372,5 @@
 ElementMatrix* StressbalanceAnalysis::CreateKMatrixFSFrictionNitsche(Element* element){/*{{{*/
 
-	if(element->IsFloating() || !element->IsOnBase()) return NULL;
+	if(element->IsAllFloating() || !element->IsOnBase()) return NULL;
 
 	/*If on water or not FS, skip stiffness: */
@@ -5594,5 +5594,5 @@
 
 	/*Get basal element*/
-	if(!element->IsOnBase() || !element->IsFloating()) return NULL;
+	if(!element->IsOnBase() || !element->IsAllFloating()) return NULL;
 
 	/*Get problem dimension*/
@@ -7148,5 +7148,5 @@
 	/*If on water or not FS, skip stiffness: */
 	element->GetInputValue(&approximation,ApproximationEnum);
-	if(element->IsFloating() || !element->IsOnBase()) return NULL;
+	if(element->IsAllFloating() || !element->IsOnBase()) return NULL;
 
 	int vnumnodes = element->NumberofNodesVelocity();
@@ -7365,5 +7365,5 @@
 	if(!element->IsIceInElement()) return NULL;
 
-	if(element->IsFloating() || !element->IsOnBase()) return NULL;
+	if(element->IsAllFloating() || !element->IsOnBase()) return NULL;
 
 	/*Constants*/
@@ -7593,5 +7593,5 @@
 
 	/*Initialize Element matrix and return if necessary*/
-	if(element->IsFloating() || !element->IsOnBase()) return NULL;
+	if(element->IsAllFloating() || !element->IsOnBase()) return NULL;
 
 	/*Build a tria element using the 3 nodes of the base of the penta. Then use
@@ -7710,5 +7710,5 @@
 
 	/*Initialize Element vector and return if necessary*/
-	if(!element->IsOnBase() || element->IsFloating()) return NULL;
+	if(!element->IsOnBase() || element->IsAllFloating()) return NULL;
 	element->GetInputValue(&approximation,ApproximationEnum);
 	if(approximation!=HOFSApproximationEnum) return NULL;
@@ -7876,5 +7876,5 @@
 
 	/*Initialize Element vector and return if necessary*/
-	if(!element->IsOnBase() || element->IsFloating()) return NULL;
+	if(!element->IsOnBase() || element->IsAllFloating()) return NULL;
 	element->GetInputValue(&approximation,ApproximationEnum);
 	if(approximation!=SSAFSApproximationEnum) return NULL;
Index: /issm/trunk-jpl/src/c/analyses/ThermalAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/ThermalAnalysis.cpp	(revision 26328)
+++ /issm/trunk-jpl/src/c/analyses/ThermalAnalysis.cpp	(revision 26329)
@@ -330,5 +330,5 @@
 
 	/*Initialize Element matrix and return if necessary*/
-	if(!element->IsOnBase() || !element->IsFloating()) return NULL;
+	if(!element->IsOnBase() || !element->IsAllFloating()) return NULL;
 
 	IssmDouble  dt,Jdet,D;
@@ -336,5 +336,5 @@
 
 	/*Get basal element*/
-	if(!element->IsOnBase() || !element->IsFloating()) return NULL;
+	if(!element->IsOnBase() || !element->IsAllFloating()) return NULL;
 
 	/*Fetch number of nodes for this finite element*/
@@ -537,5 +537,5 @@
 
 	/* Geothermal flux on ice sheet base and basal friction */
-	if(!element->IsOnBase() || element->IsFloating()) return NULL;
+	if(!element->IsOnBase() || element->IsAllFloating()) return NULL;
 
 	IssmDouble  dt,Jdet,geothermalflux,vx,vy,vz;
@@ -601,5 +601,5 @@
 
 	/*Get basal element*/
-	if(!element->IsOnBase() || !element->IsFloating()) return NULL;
+	if(!element->IsOnBase() || !element->IsAllFloating()) return NULL;
 
 	/*Fetch number of nodes for this finite element*/
Index: /issm/trunk-jpl/src/c/classes/Elements/Element.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 26328)
+++ /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 26329)
@@ -1993,5 +1993,5 @@
 	return this->isonbase;
 }/*}}}*/
-bool       Element::IsFloating(){/*{{{*/
+bool       Element::IsAllFloating(){/*{{{*/
 
 	bool shelf;
@@ -2054,5 +2054,5 @@
 void       Element::Ismip6FloatingiceMeltingRate(){/*{{{*/
 
-	if(!this->IsIceInElement() || !this->IsFloating() || !this->IsOnBase()) return;
+	if(!this->IsIceInElement() || !this->IsAllFloating() || !this->IsOnBase()) return;
 
 	int         basinid,num_basins,M,N;
@@ -2500,5 +2500,5 @@
 void       Element::PicoUpdateBoxid(int* max_boxid_basin_list){/*{{{*/
 
-	if(!this->IsIceInElement() || !this->IsFloating()) return;
+	if(!this->IsIceInElement() || !this->IsAllFloating()) return;
 
 	int        basin_id;
@@ -2541,5 +2541,5 @@
 void       Element::PicoUpdateBox(int loopboxid){/*{{{*/
 
-	if(!this->IsIceInElement() || !this->IsFloating()) return;
+	if(!this->IsIceInElement() || !this->IsAllFloating()) return;
 
 	int boxid;
@@ -2675,5 +2675,5 @@
 void       Element::PicoComputeBasalMelt(){/*{{{*/
 
-	if(!this->IsIceInElement() || !this->IsFloating()) return;
+	if(!this->IsIceInElement() || !this->IsAllFloating()) return;
 
 	const int NUM_VERTICES = this->GetNumberOfVertices();
Index: /issm/trunk-jpl/src/c/classes/Elements/Element.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Element.h	(revision 26328)
+++ /issm/trunk-jpl/src/c/classes/Elements/Element.h	(revision 26329)
@@ -140,5 +140,5 @@
 		void               InputUpdateFromConstant(IssmDouble constant, int name, int type);
 
-		bool               IsFloating();
+		bool               IsAllFloating();
 		bool               IsGrounded();
 		bool               IsOnBase();
Index: /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 26328)
+++ /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 26329)
@@ -2128,5 +2128,5 @@
 	IssmDouble xyz_list[NUMVERTICES][3];
 
-	if(!IsIceInElement() || IsFloating() || !IsOnBase())return 0;
+	if(!IsIceInElement() || IsAllFloating() || !IsOnBase())return 0;
 
 	rho_ice=FindParam(MaterialsRhoIceEnum);
@@ -5038,5 +5038,5 @@
 
 					/*build new bed and surface: */
-					if (this->IsFloating()){
+					if (this->IsAllFloating()){
 						/*hydrostatic equilibrium: */
 						IssmDouble rho_ice,rho_water,di;
Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 26328)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 26329)
@@ -3576,5 +3576,5 @@
 	IssmDouble xyz_list[NUMVERTICES][3];
 
-	if(!IsIceInElement() || IsFloating())return 0;
+	if(!IsIceInElement() || IsAllFloating())return 0;
 
 	rho_ice=FindParam(MaterialsRhoIceEnum);
@@ -7874,5 +7874,5 @@
 
 					/*build new bed and surface: */
-					if (this->IsFloating()){
+					if (this->IsAllFloating()){
 						/*hydrostatic equilibrium: */
 						IssmDouble rho_ice,rho_water,di;
Index: /issm/trunk-jpl/src/c/classes/Loads/Neumannflux.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Loads/Neumannflux.cpp	(revision 26328)
+++ /issm/trunk-jpl/src/c/classes/Loads/Neumannflux.cpp	(revision 26329)
@@ -354,5 +354,5 @@
 	Tria*  tria=(Tria*)element;
 	_assert_(tria->FiniteElement()==P1Enum); 
-	if(!tria->IsIceInElement() || tria->IsFloating()) return NULL;
+	if(!tria->IsIceInElement() || tria->IsAllFloating()) return NULL;
 
 	/*Initialize Element vector and other vectors*/
@@ -396,5 +396,5 @@
 	Tria*  tria=(Tria*)element;
 	_assert_(tria->FiniteElement()==P1Enum); 
-	if(!tria->IsIceInElement() || tria->IsFloating()) return NULL;
+	if(!tria->IsIceInElement() || tria->IsAllFloating()) return NULL;
 
 	/*Initialize Element vector and other vectors*/
Index: /issm/trunk-jpl/src/c/classes/Node.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Node.h	(revision 26328)
+++ /issm/trunk-jpl/src/c/classes/Node.h	(revision 26329)
@@ -95,6 +95,4 @@
 		bool  IsActive(void);
 		int   IsClone();
-		int   IsFloating();
-		int   IsGrounded();
 		int   Lid(void); 
 		void  DistributeGlobalDofsMasters(int dofcount,int setenum);
Index: /issm/trunk-jpl/src/c/modules/FloatingiceMeltingRatePicox/FloatingiceMeltingRatePicox.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/FloatingiceMeltingRatePicox/FloatingiceMeltingRatePicox.cpp	(revision 26328)
+++ /issm/trunk-jpl/src/c/modules/FloatingiceMeltingRatePicox/FloatingiceMeltingRatePicox.cpp	(revision 26329)
@@ -57,5 +57,5 @@
 	for(Object* & object : femmodel->elements->objects){
 		Element* element=xDynamicCast<Element*>(object);
-		if(!element->IsIceInElement() || !element->IsFloating()) continue;
+		if(!element->IsIceInElement() || !element->IsAllFloating()) continue;
 		numvertices = element->GetNumberOfVertices();
 		distances=xNew<IssmDouble>(numvertices);
@@ -116,5 +116,5 @@
 		if(!element->IsOnBase()) continue;
 		Element* basalelement = element->SpawnBasalElement();
-		if(!basalelement->IsIceInElement() || !basalelement->IsFloating()){
+		if(!basalelement->IsIceInElement() || !basalelement->IsAllFloating()){
 			if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;};
 			continue;
@@ -166,5 +166,5 @@
 		if(!element->IsOnBase()) continue;
 		Element* basalelement = element->SpawnBasalElement();
-		if(!basalelement->IsIceInElement() || !basalelement->IsFloating()){
+		if(!basalelement->IsIceInElement() || !basalelement->IsAllFloating()){
 			if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;};
 			continue;
@@ -209,5 +209,5 @@
 			if(!element->IsOnBase()) continue;
 			Element* basalelement = element->SpawnBasalElement();
-			if(!basalelement->IsIceInElement() || !basalelement->IsFloating()) continue;
+			if(!basalelement->IsIceInElement() || !basalelement->IsAllFloating()) continue;
 			int el_boxid;
 			basalelement->GetInputValue(&el_boxid,BasalforcingsPicoBoxIdEnum);
Index: /issm/trunk-jpl/src/c/modules/FloatingiceMeltingRatex/FloatingiceMeltingRatex.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/FloatingiceMeltingRatex/FloatingiceMeltingRatex.cpp	(revision 26328)
+++ /issm/trunk-jpl/src/c/modules/FloatingiceMeltingRatex/FloatingiceMeltingRatex.cpp	(revision 26329)
@@ -101,5 +101,5 @@
 
 		/*Set melt to 0 if non floating*/
-		if(!element->IsIceInElement() || !element->IsFloating() || !element->IsOnBase()){
+		if(!element->IsIceInElement() || !element->IsAllFloating() || !element->IsOnBase()){
 			IssmDouble* values = xNewZeroInit<IssmDouble>(numvertices);
 			element->AddInput(BasalforcingsFloatingiceMeltingRateEnum,values,P1DGEnum);
@@ -159,5 +159,5 @@
 		for(Object* & object : femmodel->elements->objects){
 			Element* element = xDynamicCast<Element*>(object);
-			if(!element->IsOnBase() || !element->IsIceInElement() || !element->IsFloating()) continue;
+			if(!element->IsOnBase() || !element->IsIceInElement() || !element->IsAllFloating()) continue;
 			/*Spawn basal element if on base to compute element area*/
 			Element* basalelement = element->SpawnBasalElement();
