Index: /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 24860)
+++ /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 24861)
@@ -139,5 +139,5 @@
 	iomodel->FetchDataToInput(inputs2,elements,"md.geometry.base",BaseEnum);
 	iomodel->FetchDataToInput(inputs2,elements,"md.mask.ice_levelset",MaskIceLevelsetEnum);
-	iomodel->FetchDataToInput(inputs2,elements,"md.mask.groundedice_levelset",MaskGroundediceLevelsetEnum);
+	iomodel->FetchDataToInput(inputs2,elements,"md.mask.ocean_levelset",MaskOceanLevelsetEnum);
 	if(iomodel->domaintype!=Domain2DhorizontalEnum){
 		iomodel->FetchDataToInput(inputs2,elements,"md.mesh.vertexonbase",MeshVertexonbaseEnum);
Index: /issm/trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.cpp	(revision 24860)
+++ /issm/trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.cpp	(revision 24861)
@@ -296,5 +296,5 @@
 	basalelement->GetVerticesCoordinates(&xyz_list);
 	basalelement->FindParam(&dt,TimesteppingTimeStepEnum);
-	Input2* groundedice_input   = basalelement->GetInput2(MaskGroundediceLevelsetEnum);              _assert_(groundedice_input);
+	Input2* groundedice_input   = basalelement->GetInput2(MaskOceanLevelsetEnum);              _assert_(groundedice_input);
 	Input2* gmb_input           = basalelement->GetInput2(BasalforcingsGroundediceMeltingRateEnum);  _assert_(gmb_input);
 	Input2* fmb_input           = basalelement->GetInput2(BasalforcingsFloatingiceMeltingRateEnum);  _assert_(fmb_input);
@@ -411,5 +411,5 @@
 
 		int             numnodes = element->GetNumberOfNodes();
-		Input2* groundedice_input = element->GetInput2(MaskGroundediceLevelsetEnum);  _assert_(groundedice_input);
+		Input2* groundedice_input = element->GetInput2(MaskOceanLevelsetEnum);  _assert_(groundedice_input);
 		Input2* onbase_input       = element->GetInput2(MeshVertexonbaseEnum);          _assert_(onbase_input);
 		Input2* base_input        = element->GetInput2(BaseEnum);                     _assert_(base_input);
Index: /issm/trunk-jpl/src/c/analyses/GLheightadvectionAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/GLheightadvectionAnalysis.cpp	(revision 24860)
+++ /issm/trunk-jpl/src/c/analyses/GLheightadvectionAnalysis.cpp	(revision 24861)
@@ -223,5 +223,5 @@
 		IssmDouble *ls_active = xNew<IssmDouble>(numnodes);
 
-		element->GetInputListOnNodes(&mask[0],MaskGroundediceLevelsetEnum);
+		element->GetInputListOnNodes(&mask[0],MaskOceanLevelsetEnum);
 		element->GetInputListOnNodes(&bed[0],BaseEnum);
 		element->GetInputListOnNodes(&ls_active[0],IceMaskNodeActivationEnum);
Index: /issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp	(revision 24860)
+++ /issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp	(revision 24861)
@@ -793,5 +793,5 @@
 
 	basalelement->GetInputListOnVertices(&meltingrate[0],BasalforcingsGroundediceMeltingRateEnum);
-	basalelement->GetInputListOnVertices(&groundedice[0],MaskGroundediceLevelsetEnum);
+	basalelement->GetInputListOnVertices(&groundedice[0],MaskOceanLevelsetEnum);
 
 	/*if melting rate is not positive and node is not floating, deactivate*/
Index: /issm/trunk-jpl/src/c/analyses/HydrologyGlaDSAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/HydrologyGlaDSAnalysis.cpp	(revision 24860)
+++ /issm/trunk-jpl/src/c/analyses/HydrologyGlaDSAnalysis.cpp	(revision 24861)
@@ -136,5 +136,5 @@
 	}
 	iomodel->FetchDataToInput(inputs2,elements,"md.mask.ice_levelset",MaskIceLevelsetEnum);
-	iomodel->FetchDataToInput(inputs2,elements,"md.mask.groundedice_levelset",MaskGroundediceLevelsetEnum);
+	iomodel->FetchDataToInput(inputs2,elements,"md.mask.ocean_levelset",MaskOceanLevelsetEnum);
 	iomodel->FetchDataToInput(inputs2,elements,"md.hydrology.bump_height",HydrologyBumpHeightEnum);
 	iomodel->FetchDataToInput(inputs2,elements,"md.hydrology.sheet_conductivity",HydrologySheetConductivityEnum);
Index: /issm/trunk-jpl/src/c/analyses/HydrologyPismAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/HydrologyPismAnalysis.cpp	(revision 24860)
+++ /issm/trunk-jpl/src/c/analyses/HydrologyPismAnalysis.cpp	(revision 24861)
@@ -33,5 +33,5 @@
 	/*Add input to elements*/
 	iomodel->FetchDataToInput(inputs2,elements,"md.mask.ice_levelset",MaskIceLevelsetEnum);
-	iomodel->FetchDataToInput(inputs2,elements,"md.mask.groundedice_levelset",MaskGroundediceLevelsetEnum);
+	iomodel->FetchDataToInput(inputs2,elements,"md.mask.ocean_levelset",MaskOceanLevelsetEnum);
 	iomodel->FetchDataToInput(inputs2,elements,"md.basalforcings.groundedice_melting_rate",BasalforcingsGroundediceMeltingRateEnum);
 	iomodel->FetchDataToInput(inputs2,elements,"md.hydrology.drainage_rate",HydrologyDrainageRateEnum);
Index: /issm/trunk-jpl/src/c/analyses/HydrologyShaktiAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/HydrologyShaktiAnalysis.cpp	(revision 24860)
+++ /issm/trunk-jpl/src/c/analyses/HydrologyShaktiAnalysis.cpp	(revision 24861)
@@ -106,5 +106,5 @@
 	}
 	iomodel->FetchDataToInput(inputs2,elements,"md.mask.ice_levelset",MaskIceLevelsetEnum);
-	iomodel->FetchDataToInput(inputs2,elements,"md.mask.groundedice_levelset",MaskGroundediceLevelsetEnum);
+	iomodel->FetchDataToInput(inputs2,elements,"md.mask.ocean_levelset",MaskOceanLevelsetEnum);
 	iomodel->FetchDataToInput(inputs2,elements,"md.basalforcings.groundedice_melting_rate",BasalforcingsGroundediceMeltingRateEnum);
 	iomodel->FetchDataToInput(inputs2,elements,"md.basalforcings.geothermalflux",BasalforcingsGeothermalfluxEnum);
Index: /issm/trunk-jpl/src/c/analyses/HydrologyShreveAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/HydrologyShreveAnalysis.cpp	(revision 24860)
+++ /issm/trunk-jpl/src/c/analyses/HydrologyShreveAnalysis.cpp	(revision 24861)
@@ -64,5 +64,5 @@
 	}
 	iomodel->FetchDataToInput(inputs2,elements,"md.mask.ice_levelset",MaskIceLevelsetEnum);
-	iomodel->FetchDataToInput(inputs2,elements,"md.mask.groundedice_levelset",MaskGroundediceLevelsetEnum);
+	iomodel->FetchDataToInput(inputs2,elements,"md.mask.ocean_levelset",MaskOceanLevelsetEnum);
 	iomodel->FetchDataToInput(inputs2,elements,"md.basalforcings.groundedice_melting_rate",BasalforcingsGroundediceMeltingRateEnum);
 	iomodel->FetchDataToInput(inputs2,elements,"md.initialization.watercolumn",WatercolumnEnum);
Index: /issm/trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp	(revision 24860)
+++ /issm/trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp	(revision 24861)
@@ -244,10 +244,10 @@
 			vx_input=basalelement->GetInput2(VxEnum); _assert_(vx_input);
 			vy_input=basalelement->GetInput2(VyEnum); _assert_(vy_input);
-			gr_input=basalelement->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gr_input);
+			gr_input=basalelement->GetInput2(MaskOceanLevelsetEnum); _assert_(gr_input);
 			break;
 		case Domain3DEnum:
 			vx_input=basalelement->GetInput2(VxAverageEnum); _assert_(vx_input);
 			vy_input=basalelement->GetInput2(VyAverageEnum); _assert_(vy_input);
-			gr_input=basalelement->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gr_input);
+			gr_input=basalelement->GetInput2(MaskOceanLevelsetEnum); _assert_(gr_input);
 			break;
 		default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet");
Index: /issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp	(revision 24860)
+++ /issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp	(revision 24861)
@@ -150,5 +150,5 @@
 	iomodel->FetchDataToInput(inputs2,elements,"md.slr.sealevel",SealevelEnum,0);
 	iomodel->FetchDataToInput(inputs2,elements,"md.mask.ice_levelset",MaskIceLevelsetEnum);
-	iomodel->FetchDataToInput(inputs2,elements,"md.mask.groundedice_levelset",MaskGroundediceLevelsetEnum);
+	iomodel->FetchDataToInput(inputs2,elements,"md.mask.ocean_levelset",MaskOceanLevelsetEnum);
 	iomodel->FetchDataToInput(inputs2,elements,"md.basalforcings.groundedice_melting_rate",BasalforcingsGroundediceMeltingRateEnum);
 	iomodel->FetchDataToInput(inputs2,elements,"md.initialization.vx",VxEnum);
@@ -622,5 +622,5 @@
 	Input2* gmb_input        = element->GetInput2(BasalforcingsGroundediceMeltingRateEnum);  _assert_(gmb_input);
 	Input2* fmb_input        = element->GetInput2(BasalforcingsFloatingiceMeltingRateEnum);  _assert_(fmb_input);
-	Input2* gllevelset_input = element->GetInput2(MaskGroundediceLevelsetEnum);              _assert_(gllevelset_input);
+	Input2* gllevelset_input = element->GetInput2(MaskOceanLevelsetEnum);              _assert_(gllevelset_input);
 	Input2* ms_input         = element->GetInput2(SmbMassBalanceEnum);                       _assert_(ms_input);
 	Input2* thickness_input  = element->GetInput2(ThicknessEnum);                            _assert_(thickness_input);
@@ -737,5 +737,5 @@
 	Input2* fmb_input        = element->GetInput2(BasalforcingsFloatingiceMeltingRateEnum); _assert_(fmb_input);
 	Input2* ms_input         = element->GetInput2(SmbMassBalanceEnum);                      _assert_(ms_input);
-	Input2* gllevelset_input = element->GetInput2(MaskGroundediceLevelsetEnum);             _assert_(gllevelset_input);
+	Input2* gllevelset_input = element->GetInput2(MaskOceanLevelsetEnum);             _assert_(gllevelset_input);
 	Input2* thickness_input  = element->GetInput2(ThicknessEnum);                           _assert_(thickness_input);
 
@@ -858,5 +858,5 @@
 	basalelement->GetInputListOnVertices(&oldbase[0],BaseOldEnum);
 	basalelement->GetInputListOnVertices(&oldsurface[0],SurfaceOldEnum);
-	basalelement->GetInputListOnVertices(&phi[0],MaskGroundediceLevelsetEnum);
+	basalelement->GetInputListOnVertices(&phi[0],MaskOceanLevelsetEnum);
 	basalelement->GetInputListOnVertices(&sealevel[0],SealevelEnum);
 	basalelement->GetInputListOnVertices(&cumdeltathickness[0],SealevelriseCumDeltathicknessOldEnum);
@@ -1070,5 +1070,5 @@
 	Input2* gmb_input        = element->GetInput2(BasalforcingsGroundediceMeltingRateEnum);  _assert_(gmb_input);
 	Input2* fmb_input        = element->GetInput2(BasalforcingsFloatingiceMeltingRateEnum);  _assert_(fmb_input);
-	Input2* gllevelset_input = element->GetInput2(MaskGroundediceLevelsetEnum);              _assert_(gllevelset_input);
+	Input2* gllevelset_input = element->GetInput2(MaskOceanLevelsetEnum);              _assert_(gllevelset_input);
 	Input2* ms_input         = element->GetInput2(SmbMassBalanceEnum);                       _assert_(ms_input);
 	Input2* vxaverage_input  = element->GetInput2(VxAverageEnum);										_assert_(vxaverage_input);
Index: /issm/trunk-jpl/src/c/analyses/SealevelriseAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/SealevelriseAnalysis.cpp	(revision 24860)
+++ /issm/trunk-jpl/src/c/analyses/SealevelriseAnalysis.cpp	(revision 24861)
@@ -35,5 +35,5 @@
 
 	/*Create inputs: */
-	iomodel->FetchDataToInput(inputs2,elements,"md.mask.groundedice_levelset",MaskGroundediceLevelsetEnum);
+	iomodel->FetchDataToInput(inputs2,elements,"md.mask.ocean_levelset",MaskOceanLevelsetEnum);
 	iomodel->FetchDataToInput(inputs2,elements,"md.mask.ice_levelset",MaskIceLevelsetEnum);
 	//those only if we have requested geodetic computations:
Index: /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp	(revision 24860)
+++ /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp	(revision 24861)
@@ -103,5 +103,5 @@
 			iomodel->FetchData(&nodeonFS,NULL,NULL,"md.flowequation.borderFS");
 			iomodel->FetchData(&nodeonbase,NULL,NULL,"md.mesh.vertexonbase");
-			iomodel->FetchData(&groundedice_ls,NULL,NULL,"md.mask.groundedice_levelset");
+			iomodel->FetchData(&groundedice_ls,NULL,NULL,"md.mask.ocean_levelset");
 			if(iomodel->domaintype==Domain3DEnum){
 				iomodel->FetchData(&spcvz,&Mz,&Nz,"md.stressbalance.spcvz");
@@ -130,5 +130,5 @@
 			iomodel->DeleteData(nodeonFS,"md.flowequation.borderFS");
 			iomodel->DeleteData(nodeonbase,"md.mesh.vertexonbase");
-			iomodel->DeleteData(groundedice_ls,"md.mask.groundedice_levelset");
+			iomodel->DeleteData(groundedice_ls,"md.mask.ocean_levelset");
 
 			/*Pressure spc*/
@@ -202,5 +202,5 @@
 	if(iomodel->domaintype==Domain3DEnum)iomodel->FetchData(&nodeonFS,NULL,NULL,"md.flowequation.borderFS");
 	if(iomodel->domaintype==Domain3DEnum)iomodel->FetchData(&nodeonbase,NULL,NULL,"md.mesh.vertexonbase");
-	if(iomodel->domaintype==Domain3DEnum)iomodel->FetchData(&groundedice_ls,NULL,NULL,"md.mask.groundedice_levelset");
+	if(iomodel->domaintype==Domain3DEnum)iomodel->FetchData(&groundedice_ls,NULL,NULL,"md.mask.ocean_levelset");
 	iomodel->FetchData(&vertices_type,NULL,NULL,"md.flowequation.vertex_equation");
 	iomodel->FetchData(&surface,NULL,NULL,"md.geometry.surface");
@@ -432,5 +432,5 @@
 	if(iomodel->domaintype==Domain3DEnum)iomodel->DeleteData(nodeonFS,"md.flowequation.borderFS");
 	if(iomodel->domaintype==Domain3DEnum)iomodel->DeleteData(nodeonbase,"md.mesh.vertexonbase");
-	if(iomodel->domaintype==Domain3DEnum)iomodel->DeleteData(groundedice_ls,"md.mask.groundedice_levelset");
+	if(iomodel->domaintype==Domain3DEnum)iomodel->DeleteData(groundedice_ls,"md.mask.ocean_levelset");
 	iomodel->DeleteData(vertices_type,"md.flowequation.vertex_equation");
 	iomodel->DeleteData(surface,"md.geometry.surface");
@@ -496,5 +496,5 @@
 	if(numrifts){
 		iomodel->FetchData(&riftinfo,&numriftsegments,NULL,"md.rifts.riftstruct");
-		iomodel->FetchData(5,"md.rifts.riftstruct","md.geometry.thickness","md.geometry.base","md.geometry.surface","md.mask.groundedice_levelset");
+		iomodel->FetchData(5,"md.rifts.riftstruct","md.geometry.thickness","md.geometry.base","md.geometry.surface","md.mask.ocean_levelset");
 		for(i=0;i<numriftsegments;i++){
 			if(iomodel->my_elements[reCast<int,IssmDouble>(*(riftinfo+RIFTINFOSIZE*i+2))-1]){
@@ -503,5 +503,5 @@
 			}
 		}
-		iomodel->DeleteData(5,"md.rifts.riftstruct","md.geometry.thickness","md.geometry.base","md.geometry.surface","md.mask.groundedice_levelset");
+		iomodel->DeleteData(5,"md.rifts.riftstruct","md.geometry.thickness","md.geometry.base","md.geometry.surface","md.mask.ocean_levelset");
 		xDelete<IssmDouble>(riftinfo);
 	}
@@ -758,5 +758,5 @@
 	iomodel->FetchDataToInput(inputs2,elements,"md.slr.sealevel",SealevelEnum,0);
 	iomodel->FetchDataToInput(inputs2,elements,"md.mask.ice_levelset",MaskIceLevelsetEnum);
-	iomodel->FetchDataToInput(inputs2,elements,"md.mask.groundedice_levelset",MaskGroundediceLevelsetEnum);
+	iomodel->FetchDataToInput(inputs2,elements,"md.mask.ocean_levelset",MaskOceanLevelsetEnum);
 	iomodel->FetchDataToInput(inputs2,elements,"md.initialization.vx",VxEnum,0.);
 	iomodel->FetchDataToInput(inputs2,elements,"md.initialization.vy",VyEnum,0.);
@@ -1442,5 +1442,5 @@
 	if(!(friction_style==SubelementFriction2Enum)) phi=element->GetGroundedPortion(xyz_list);
 	if(friction_style==SubelementFriction2Enum){
-		gllevelset_input=element->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gllevelset_input);
+		gllevelset_input=element->GetInput2(MaskOceanLevelsetEnum); _assert_(gllevelset_input);
 		element->GetGroundedPart(&point1,&fraction1,&fraction2,&mainlyfloating);
 	   gauss = element->NewGauss(point1,fraction1,fraction2,mainlyfloating,2);
@@ -2480,5 +2480,5 @@
 	if(!(friction_style==SubelementFriction2Enum)) phi=element->GetGroundedPortion(xyz_list_base);
 	if(friction_style==SubelementFriction2Enum){
-		gllevelset_input=element->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gllevelset_input);
+		gllevelset_input=element->GetInput2(MaskOceanLevelsetEnum); _assert_(gllevelset_input);
 		element->GetGroundedPart(&point1,&fraction1,&fraction2,&mainlyfloating);
 		gauss = element->NewGauss(point1,fraction1,fraction2,mainlyfloating,2);
@@ -3963,5 +3963,5 @@
 	if(friction_style==SubelementFriction2Enum){
 		if(domaintype==Domain2DverticalEnum) _error_("Subelement Friction 2 not implemented yet for Flowline");
-		gllevelset_input=element->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gllevelset_input);
+		gllevelset_input=element->GetInput2(MaskOceanLevelsetEnum); _assert_(gllevelset_input);
 		element->GetGroundedPart(&point1,&fraction1,&fraction2,&mainlyfloating);
 		//gauss = element->NewGauss(point1,fraction1,fraction2,mainlyfloating,2);
Index: /issm/trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.cpp	(revision 24860)
+++ /issm/trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.cpp	(revision 24861)
@@ -161,5 +161,5 @@
 
 	iomodel->FetchDataToInput(inputs2,elements,"md.geometry.thickness",ThicknessEnum);
-	iomodel->FetchDataToInput(inputs2,elements,"md.mask.groundedice_levelset",MaskGroundediceLevelsetEnum);
+	iomodel->FetchDataToInput(inputs2,elements,"md.mask.ocean_levelset",MaskOceanLevelsetEnum);
 	if(ismovingfront){
 		if(iomodel->domaintype!=Domain2DhorizontalEnum)
Index: /issm/trunk-jpl/src/c/analyses/StressbalanceVerticalAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/StressbalanceVerticalAnalysis.cpp	(revision 24860)
+++ /issm/trunk-jpl/src/c/analyses/StressbalanceVerticalAnalysis.cpp	(revision 24861)
@@ -354,5 +354,5 @@
 	element->GetInputValue(&approximation,ApproximationEnum);
 	Input2* base_input=element->GetInput2(BaseEnum);                                               _assert_(base_input);
-	Input2* groundedice_input=element->GetInput2(MaskGroundediceLevelsetEnum);                     _assert_(groundedice_input);
+	Input2* groundedice_input=element->GetInput2(MaskOceanLevelsetEnum);                     _assert_(groundedice_input);
 	Input2* groundedice_melting_input=element->GetInput2(BasalforcingsGroundediceMeltingRateEnum); _assert_(groundedice_melting_input);
 	Input2* floatingice_melting_input=element->GetInput2(BasalforcingsFloatingiceMeltingRateEnum); _assert_(floatingice_melting_input);
Index: /issm/trunk-jpl/src/c/analyses/ThermalAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/ThermalAnalysis.cpp	(revision 24860)
+++ /issm/trunk-jpl/src/c/analyses/ThermalAnalysis.cpp	(revision 24861)
@@ -135,5 +135,5 @@
 	iomodel->FetchDataToInput(inputs2,elements,"md.slr.sealevel",SealevelEnum,0);
 	iomodel->FetchDataToInput(inputs2,elements,"md.mask.ice_levelset",MaskIceLevelsetEnum);
-	iomodel->FetchDataToInput(inputs2,elements,"md.mask.groundedice_levelset",MaskGroundediceLevelsetEnum);
+	iomodel->FetchDataToInput(inputs2,elements,"md.mask.ocean_levelset",MaskOceanLevelsetEnum);
 	if(iomodel->domaintype!=Domain2DhorizontalEnum){
 		iomodel->FetchDataToInput(inputs2,elements,"md.mesh.vertexonbase",MeshVertexonbaseEnum);
Index: /issm/trunk-jpl/src/c/classes/Elements/Element.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 24860)
+++ /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 24861)
@@ -1986,5 +1986,5 @@
 	parameters->FindParam(&migration_style,GroundinglineMigrationEnum);
 
-	Input2* input = this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(input);
+	Input2* input = this->GetInput2(MaskOceanLevelsetEnum); _assert_(input);
 
 	if(migration_style==SubelementMigrationEnum){ //Floating if all nodes are floating
@@ -2006,5 +2006,5 @@
 bool       Element::IsGrounded(){/*{{{*/
 
-	Input2* input=this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(input);
+	Input2* input=this->GetInput2(MaskOceanLevelsetEnum); _assert_(input);
 	if(input->GetInputMax() > 0.){
 		return true;
@@ -2258,5 +2258,5 @@
 	GetInputListOnVertices(&r[0],BedEnum);
 	GetInputListOnVertices(&sl[0],SealevelEnum);
-	GetInputListOnVertices(&phi[0],MaskGroundediceLevelsetEnum);
+	GetInputListOnVertices(&phi[0],MaskOceanLevelsetEnum);
 	rho_water   = FindParam(MaterialsRhoSeawaterEnum);
 	rho_ice     = FindParam(MaterialsRhoIceEnum);
@@ -2312,5 +2312,5 @@
 		}
 	}
-	this->AddInput2(MaskGroundediceLevelsetEnum,&phi[0],P1Enum);
+	this->AddInput2(MaskOceanLevelsetEnum,&phi[0],P1Enum);
 
 	/*Update inputs*/
Index: /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 24860)
+++ /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 24861)
@@ -287,5 +287,5 @@
 	Input2* vx_input = this->GetInput2(VxAverageEnum); _assert_(vx_input);
 	Input2* vy_input = this->GetInput2(VyAverageEnum); _assert_(vy_input);
-	Input2* gr_input = this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gr_input);
+	Input2* gr_input = this->GetInput2(MaskOceanLevelsetEnum); _assert_(gr_input);
 	Input2* bs_input = this->GetInput2(BaseEnum);                    _assert_(bs_input);
 	Input2* B_input  = this->GetInput2(MaterialsRheologyBbarEnum);   _assert_(B_input);
@@ -1247,5 +1247,5 @@
 	Element::GetInputListOnVertices(&surface[0],SurfaceEnum);
 	Element::GetInputListOnVertices(&pressure[0],PressureEnum);
-	Element::GetInputListOnVertices(&phi[0],MaskGroundediceLevelsetEnum);
+	Element::GetInputListOnVertices(&phi[0],MaskOceanLevelsetEnum);
 	IssmDouble rho_ice   = FindParam(MaterialsRhoIceEnum);
 	IssmDouble rho_water = FindParam(MaterialsRhoSeawaterEnum);
@@ -1386,5 +1386,5 @@
 
 	/*Recover parameters and values*/
-	Element::GetInputListOnVertices(&gl[0],MaskGroundediceLevelsetEnum);
+	Element::GetInputListOnVertices(&gl[0],MaskOceanLevelsetEnum);
 
 	/*Be sure that values are not zero*/
@@ -1440,5 +1440,5 @@
 
 	/*Recover parameters and values*/
-	Element::GetInputListOnVertices(&gl[0],MaskGroundediceLevelsetEnum);
+	Element::GetInputListOnVertices(&gl[0],MaskOceanLevelsetEnum);
 
 	/*Be sure that values are not zero*/
@@ -2069,5 +2069,5 @@
 	if(!IsOnBase()) return 0;
 	if(!IsIceInElement()) return 0;
-	if(!IsZeroLevelset(MaskGroundediceLevelsetEnum)) return 0;
+	if(!IsZeroLevelset(MaskOceanLevelsetEnum)) return 0;
 
 	/*Scaled not implemented yet...*/
@@ -2084,5 +2084,5 @@
 
 	/*Recover parameters and values*/
-	Element::GetInputListOnVertices(&gl[0],MaskGroundediceLevelsetEnum);
+	Element::GetInputListOnVertices(&gl[0],MaskOceanLevelsetEnum);
 
 	/*Be sure that values are not zero*/
@@ -3188,5 +3188,5 @@
 	Element::GetInputListOnVertices(&h[0],ThicknessEnum);
 	Element::GetInputListOnVertices(&r[0],BedEnum);
-	Element::GetInputListOnVertices(&gl[0],MaskGroundediceLevelsetEnum);
+	Element::GetInputListOnVertices(&gl[0],MaskOceanLevelsetEnum);
 
 	/*go through vertices, and figure out which ones are on the ice sheet, and want to unground: */
@@ -3282,5 +3282,5 @@
 	Input2* slopex_input=this->GetInput2(BedSlopeXEnum); _assert_(slopex_input);
 	Input2* slopey_input=this->GetInput2(BedSlopeYEnum); _assert_(slopey_input);
-	Input2* groundedicelevelset_input=this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(groundedicelevelset_input);
+	Input2* groundedicelevelset_input=this->GetInput2(MaskOceanLevelsetEnum); _assert_(groundedicelevelset_input);
 
 	/*Loop over basal nodes and update their CS*/
@@ -4174,5 +4174,5 @@
 	rho_ice=FindParam(MaterialsRhoIceEnum);
 	Input2* floatingmelt_input = this->GetInput2(BasalforcingsFloatingiceMeltingRateEnum); _assert_(floatingmelt_input);
-	Input2* gllevelset_input = this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gllevelset_input);
+	Input2* gllevelset_input = this->GetInput2(MaskOceanLevelsetEnum); _assert_(gllevelset_input);
 	Input2* scalefactor_input = NULL;
 	if(scaled==true){
@@ -4219,5 +4219,5 @@
 	rho_ice=FindParam(MaterialsRhoIceEnum);
 	Input2* groundedmelt_input = this->GetInput2(BasalforcingsGroundediceMeltingRateEnum); _assert_(groundedmelt_input);
-	Input2* gllevelset_input   = this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gllevelset_input);
+	Input2* gllevelset_input   = this->GetInput2(MaskOceanLevelsetEnum); _assert_(gllevelset_input);
 	Input2* scalefactor_input  = NULL;
 	if(scaled==true){
Index: /issm/trunk-jpl/src/c/classes/Elements/Seg.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Seg.cpp	(revision 24860)
+++ /issm/trunk-jpl/src/c/classes/Elements/Seg.cpp	(revision 24861)
@@ -264,5 +264,5 @@
 
 	/*Recover parameters and values*/
-	Element::GetInputListOnVertices(&gl[0],MaskGroundediceLevelsetEnum);
+	Element::GetInputListOnVertices(&gl[0],MaskOceanLevelsetEnum);
 
 	/*Be sure that values are not zero*/
Index: /issm/trunk-jpl/src/c/classes/Elements/Tetra.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tetra.cpp	(revision 24860)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tetra.cpp	(revision 24861)
@@ -697,5 +697,5 @@
 	Input2* slopex_input=this->GetInput2(BedSlopeXEnum); _assert_(slopex_input);
 	Input2* slopey_input=this->GetInput2(BedSlopeYEnum); _assert_(slopey_input);
-	Input2* groundedicelevelset_input=this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(groundedicelevelset_input);
+	Input2* groundedicelevelset_input=this->GetInput2(MaskOceanLevelsetEnum); _assert_(groundedicelevelset_input);
 	vertexonbase = xNew<IssmDouble>(numnodes);
 	this->GetInputListOnNodesVelocity(&vertexonbase[0],MeshVertexonbaseEnum);
Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 24860)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 24861)
@@ -314,5 +314,5 @@
 	Input2* vy_input = this->GetInput2(VyEnum); _assert_(vy_input);
 	Input2* B_input  = this->GetInput2(MaterialsRheologyBbarEnum);   _assert_(B_input);
-	Input2* gr_input = this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gr_input);
+	Input2* gr_input = this->GetInput2(MaskOceanLevelsetEnum); _assert_(gr_input);
 	Input2* bs_input = this->GetInput2(BaseEnum);                    _assert_(bs_input);
 	Input2* smax_fl_input = this->GetInput2(CalvingStressThresholdFloatingiceEnum); _assert_(smax_fl_input);
@@ -1366,5 +1366,5 @@
 	Element::GetInputListOnVertices(&surface[0],SurfaceEnum);
 	Element::GetInputListOnVertices(&pressure[0],PressureEnum);
-	Element::GetInputListOnVertices(&phi[0],MaskGroundediceLevelsetEnum);
+	Element::GetInputListOnVertices(&phi[0],MaskOceanLevelsetEnum);
 	IssmDouble rho_ice   = FindParam(MaterialsRhoIceEnum);
 	IssmDouble rho_water = FindParam(MaterialsRhoSeawaterEnum);
@@ -1572,5 +1572,5 @@
 
 	/*Recover parameters and values*/
-	Element::GetInputListOnVertices(&gl[0],MaskGroundediceLevelsetEnum);
+	Element::GetInputListOnVertices(&gl[0],MaskOceanLevelsetEnum);
 
 	/*Be sure that values are not zero*/
@@ -1628,5 +1628,5 @@
 	/*Recover parameters and values*/
 	parameters->FindParam(&domaintype,DomainTypeEnum);
-	Element::GetInputListOnVertices(&gl[0],MaskGroundediceLevelsetEnum);
+	Element::GetInputListOnVertices(&gl[0],MaskOceanLevelsetEnum);
 
 	/*Be sure that values are not zero*/
@@ -2878,5 +2878,5 @@
 	/*Make sure there is a grounding line here*/
 	if(!IsIceInElement()) return 0;
-	if(!IsZeroLevelset(MaskGroundediceLevelsetEnum)) return 0;
+	if(!IsZeroLevelset(MaskOceanLevelsetEnum)) return 0;
 
 	/*Scaled not implemented yet...*/
@@ -2894,5 +2894,5 @@
 	/*Recover parameters and values*/
 	parameters->FindParam(&domaintype,DomainTypeEnum);
-	Element::GetInputListOnVertices(&gl[0],MaskGroundediceLevelsetEnum);
+	Element::GetInputListOnVertices(&gl[0],MaskOceanLevelsetEnum);
 
 	/*Be sure that values are not zero*/
@@ -3826,5 +3826,5 @@
 	Element::GetInputListOnVertices(&h[0],ThicknessEnum);
 	Element::GetInputListOnVertices(&r[0],BedEnum);
-	Element::GetInputListOnVertices(&gl[0],MaskGroundediceLevelsetEnum);
+	Element::GetInputListOnVertices(&gl[0],MaskOceanLevelsetEnum);
 
 	/*go through vertices, and figure out which ones are grounded and want to unground: */
@@ -3897,5 +3897,5 @@
 	/*Get inputs*/
 	Input2* slope_input=this->GetInput2(BedSlopeXEnum);                             _assert_(slope_input);
-	Input2* groundedicelevelset_input=this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(groundedicelevelset_input);
+	Input2* groundedicelevelset_input=this->GetInput2(MaskOceanLevelsetEnum); _assert_(groundedicelevelset_input);
 	vertexonbase = xNew<IssmDouble>(numnodes);
 	this->GetInputListOnNodesVelocity(&vertexonbase[0],MeshVertexonbaseEnum);
@@ -4643,5 +4643,5 @@
 	rho_ice=FindParam(MaterialsRhoIceEnum);
 	Input2* floatingmelt_input = this->GetInput2(BasalforcingsFloatingiceMeltingRateEnum); _assert_(floatingmelt_input);
-	Input2* gllevelset_input   = this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gllevelset_input);
+	Input2* gllevelset_input   = this->GetInput2(MaskOceanLevelsetEnum); _assert_(gllevelset_input);
 	Input2* scalefactor_input  = NULL;
 	if(scaled==true){
@@ -4688,5 +4688,5 @@
 	rho_ice=FindParam(MaterialsRhoIceEnum);
 	Input2* groundedmelt_input = this->GetInput2(BasalforcingsGroundediceMeltingRateEnum); _assert_(groundedmelt_input);
-	Input2* gllevelset_input = this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gllevelset_input);
+	Input2* gllevelset_input = this->GetInput2(MaskOceanLevelsetEnum); _assert_(gllevelset_input);
 	Input2* scalefactor_input = NULL;
 	if(scaled==true){
@@ -5623,5 +5623,5 @@
 
 	/*early return if we are fully floating:*/
-	Input2* gr_input=this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gr_input);
+	Input2* gr_input=this->GetInput2(MaskOceanLevelsetEnum); _assert_(gr_input);
 	if (gr_input->GetInputMax()<=0){
 		constant=0; this->AddInput2(SealevelEustaticMaskEnum,&constant,P0Enum);
@@ -6129,5 +6129,5 @@
 
 	/*early return if we are fully floating: */
-	Input2* gr_input=this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gr_input);
+	Input2* gr_input=this->GetInput2(MaskOceanLevelsetEnum); _assert_(gr_input);
 	if(gr_input->GetInputMax()<=0)return;
 
Index: /issm/trunk-jpl/src/c/classes/FemModel.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 24860)
+++ /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 24861)
@@ -3350,5 +3350,5 @@
 
 		/*Update inputs*/
-		element->AddInput2(MaskGroundediceLevelsetEnum,&phi[0],P1Enum);
+		element->AddInput2(MaskOceanLevelsetEnum,&phi[0],P1Enum);
 		element->AddInput2(ThicknessEnum,&h[0],P1Enum);
 		element->AddInput2(BaseEnum,&b[0],P1Enum);
@@ -3669,35 +3669,4 @@
 
    return;
-}
-/*}}}*/
-void FemModel::GetGroundediceLevelSet(IssmDouble **pmasklevelset){/*{{{*/
-
-	int elementswidth		= this->GetElementsWidth();//just 2D mesh, tria elements
-	int numberofvertices = this->vertices->NumberOfVertices();
-
-	IssmDouble* elementlevelset=xNew<IssmDouble>(elementswidth);
-	int* elem_vertices=xNew<int>(elementswidth);
-	Vector<IssmDouble>* vmasklevelset=new Vector<IssmDouble>(numberofvertices);
-
-	for(int i=0;i<this->elements->Size();i++){
-		Element* element=xDynamicCast<Element*>(this->elements->GetObjectByOffset(i));
-		element->GetInputListOnVertices(elementlevelset,MaskGroundediceLevelsetEnum);
-		element->GetVerticesSidList(elem_vertices);
-		vmasklevelset->SetValue(elem_vertices[0],elementlevelset[0],INS_VAL);
-      vmasklevelset->SetValue(elem_vertices[1],elementlevelset[1],INS_VAL);
-      vmasklevelset->SetValue(elem_vertices[2],elementlevelset[2],INS_VAL);
-	}
-
-   /*Assemble*/
-	vmasklevelset->Assemble();
-
-	/*Serialize and set output*/
-	(*pmasklevelset)=vmasklevelset->ToMPISerial();
-
-	/*Cleanup*/
-	xDelete<IssmDouble>(elementlevelset);
-	xDelete<int>(elem_vertices);
-	delete vmasklevelset;
-
 }
 /*}}}*/
@@ -4366,5 +4335,5 @@
    for(int i=0;i<this->elements->Size();i++){
       Element* element=xDynamicCast<Element*>(this->elements->GetObjectByOffset(i));
-      element->GetInputListOnVertices(elementlevelset,MaskGroundediceLevelsetEnum);
+      element->GetInputListOnVertices(elementlevelset,MaskOceanLevelsetEnum);
       int sid = element->Sid();
       vmasklevelset->SetValue(sid,(elementlevelset[0]+elementlevelset[1]+elementlevelset[2])/3.,INS_VAL);
@@ -4431,5 +4400,5 @@
 	/*Here, "zero level set" means grounding line or ice front, depending on the level set type*/
 	/*pzerolevelset_points are the element center points with zero level set. X and Y coords*/
-	if(levelset_type!=MaskGroundediceLevelsetEnum && levelset_type!=MaskIceLevelsetEnum){
+	if(levelset_type!=MaskOceanLevelsetEnum && levelset_type!=MaskIceLevelsetEnum){
 		_error_("level set type not implemented yet!");
 	}
@@ -5418,5 +5387,5 @@
 		if(this->amrbamg->thicknesserror_threshold>0)	this->GethmaxVerticesFromEstimators(hmaxvertices_serial,ThicknessErrorEstimatorEnum);
 		if(this->amrbamg->deviatoricerror_threshold>0)	this->GethmaxVerticesFromEstimators(hmaxvertices_serial,DeviatoricStressErrorEstimatorEnum);
-		if(this->amrbamg->groundingline_distance>0)		this->GethmaxVerticesFromZeroLevelSetDistance(hmaxvertices_serial,MaskGroundediceLevelsetEnum);
+		if(this->amrbamg->groundingline_distance>0)		this->GethmaxVerticesFromZeroLevelSetDistance(hmaxvertices_serial,MaskOceanLevelsetEnum);
 		if(this->amrbamg->icefront_distance>0)				this->GethmaxVerticesFromZeroLevelSetDistance(hmaxvertices_serial,MaskIceLevelsetEnum);
 	}
@@ -5530,5 +5499,5 @@
 
 	switch(levelset_type){
-		case MaskGroundediceLevelsetEnum:
+		case MaskOceanLevelsetEnum:
 			threshold	= this->amrbamg->groundingline_distance;
 			resolution	= this->amrbamg->groundingline_resolution;
@@ -5692,5 +5661,5 @@
 	/*Here, "zero level set" means grounding line or ice front, depending on the level set type*/
 	/*pverticedistance is the minimal vertice distance to the grounding line or ice front*/
-	if(levelset_type!=MaskGroundediceLevelsetEnum && levelset_type!=MaskIceLevelsetEnum){
+	if(levelset_type!=MaskOceanLevelsetEnum && levelset_type!=MaskIceLevelsetEnum){
 		_error_("level set type not implemented yet!");
 	}
@@ -5754,5 +5723,5 @@
 
 	/*Get fields, if requested*/
-	if(this->amr->groundingline_distance>0)		this->GetElementDistanceToZeroLevelSet(&gl_distance,MaskGroundediceLevelsetEnum);
+	if(this->amr->groundingline_distance>0)		this->GetElementDistanceToZeroLevelSet(&gl_distance,MaskOceanLevelsetEnum);
    if(this->amr->icefront_distance>0)				this->GetElementDistanceToZeroLevelSet(&if_distance,MaskIceLevelsetEnum);
    if(this->amr->thicknesserror_threshold>0)		this->ThicknessZZErrorEstimator(&thicknesserror);
@@ -5856,5 +5825,5 @@
 	/*Here, "zero level set" means grounding line or ice front, depending on the level set type*/
 	/*pverticedistance is the minimal vertice distance to the grounding line or ice front*/
-	if(levelset_type!=MaskGroundediceLevelsetEnum && levelset_type!=MaskIceLevelsetEnum){
+	if(levelset_type!=MaskOceanLevelsetEnum && levelset_type!=MaskIceLevelsetEnum){
 		_error_("level set type not implemented yet!");
 	}
Index: /issm/trunk-jpl/src/c/classes/FemModel.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/FemModel.h	(revision 24860)
+++ /issm/trunk-jpl/src/c/classes/FemModel.h	(revision 24861)
@@ -195,5 +195,4 @@
 		void SetMesh(int** elementslist, IssmDouble** x, IssmDouble** y, int* numberofvertices, int* numberofelements);
 		void GetMeshOnPartition(Vertices* femmodel_vertices,Elements* femmodel_elements,IssmDouble** px, IssmDouble** py, IssmDouble** pz, int** pelementslist,int** psidtoindex);
-		void GetGroundediceLevelSet(IssmDouble** pmasklevelset);
 		void CreateElements(int newnumberofelements,int elementswidth,int* newelementslist,bool* my_elements,Elements* elements);
 		void CreateMaterials(int newnumberofelements,bool* my_elements,Materials* materials);
Index: /issm/trunk-jpl/src/c/classes/Loads/Riftfront.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Loads/Riftfront.cpp	(revision 24860)
+++ /issm/trunk-jpl/src/c/classes/Loads/Riftfront.cpp	(revision 24861)
@@ -86,5 +86,5 @@
 	this->friction=*(iomodel->Data("md.rifts.riftstruct")+RIFTINFOSIZE*i+8);
 	this->fractionincrement=*(iomodel->Data("md.rifts.riftstruct")+RIFTINFOSIZE*i+10);
-	this->shelf=reCast<bool,IssmDouble>(iomodel->Data("md.mask.groundedice_levelset")[node1-1]<0.);
+	this->shelf=reCast<bool,IssmDouble>(iomodel->Data("md.mask.ocean_levelset")[node1-1]<0.);
 
 	//parameters and hooked fields: we still can't point to them, they may not even exist. Configure will handle this.
Index: /issm/trunk-jpl/src/c/cores/transient_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/cores/transient_core.cpp	(revision 24860)
+++ /issm/trunk-jpl/src/c/cores/transient_core.cpp	(revision 24861)
@@ -197,5 +197,5 @@
 			GroundinglineMigrationx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters);
 
-			femmodel->parameters->SetParam(MaskGroundediceLevelsetEnum,InputToExtrudeEnum);
+			femmodel->parameters->SetParam(MaskOceanLevelsetEnum,InputToExtrudeEnum);
 			extrudefrombase_core(femmodel);
 			femmodel->parameters->SetParam(BaseEnum,InputToExtrudeEnum);
@@ -208,5 +208,5 @@
 
 			if(save_results){
-				int outputs[3] = {SurfaceEnum,BaseEnum,MaskGroundediceLevelsetEnum};
+				int outputs[3] = {SurfaceEnum,BaseEnum,MaskOceanLevelsetEnum};
 				femmodel->RequestedOutputsx(&femmodel->results,&outputs[0],3);
 			}
@@ -232,5 +232,5 @@
 		femmodel->RequestedOutputsx(&femmodel->results,requested_outputs,numoutputs,save_results);
 		if(isgroundingline && (groundingline_migration==AggressiveMigrationEnum || groundingline_migration==ContactEnum)){
-			int outputs[1] = {MaskGroundediceLevelsetEnum};
+			int outputs[1] = {MaskOceanLevelsetEnum};
 			femmodel->RequestedOutputsx(&femmodel->results,&outputs[0],1,save_results);
 		}
Index: /issm/trunk-jpl/src/c/modules/FloatingiceMeltingRatePicox/FloatingiceMeltingRatePicox.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/FloatingiceMeltingRatePicox/FloatingiceMeltingRatePicox.cpp	(revision 24860)
+++ /issm/trunk-jpl/src/c/modules/FloatingiceMeltingRatePicox/FloatingiceMeltingRatePicox.cpp	(revision 24861)
@@ -46,6 +46,6 @@
 	IssmDouble* dmax_basin_cpu=xNew<IssmDouble>(num_basins);
 
-	InputDuplicatex(femmodel,MaskGroundediceLevelsetEnum,DistanceToGroundinglineEnum);
-	femmodel->DistanceToFieldValue(MaskGroundediceLevelsetEnum,0.,DistanceToGroundinglineEnum);
+	InputDuplicatex(femmodel,MaskOceanLevelsetEnum,DistanceToGroundinglineEnum);
+	femmodel->DistanceToFieldValue(MaskOceanLevelsetEnum,0.,DistanceToGroundinglineEnum);
 
 	InputDuplicatex(femmodel,MaskIceLevelsetEnum,DistanceToCalvingfrontEnum);
Index: /issm/trunk-jpl/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp	(revision 24860)
+++ /issm/trunk-jpl/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp	(revision 24861)
@@ -137,5 +137,5 @@
 	for(i=0;i<elements->Size();i++){
 		Element* element=xDynamicCast<Element*>(elements->GetObjectByOffset(i));
-		element->GetVectorFromInputs(vec_phi,MaskGroundediceLevelsetEnum,VertexPIdEnum);
+		element->GetVectorFromInputs(vec_phi,MaskOceanLevelsetEnum,VertexPIdEnum);
 	}
 	vec_phi->Assemble();
Index: /issm/trunk-jpl/src/c/shared/Enum/Enum.vim
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/Enum.vim	(revision 24860)
+++ /issm/trunk-jpl/src/c/shared/Enum/Enum.vim	(revision 24861)
@@ -625,8 +625,7 @@
 syn keyword cConstant LoadingforceYEnum
 syn keyword cConstant LoadingforceZEnum
-syn keyword cConstant MaskGroundediceLevelsetEnum
+syn keyword cConstant MaskOceanLevelsetEnum
 syn keyword cConstant MaskIceLevelsetEnum
 syn keyword cConstant MaskLandLevelsetEnum
-syn keyword cConstant MaskOceanLevelsetEnum
 syn keyword cConstant MasstransportSpcthicknessEnum
 syn keyword cConstant MaterialsRheologyBEnum
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 24860)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 24861)
@@ -622,8 +622,7 @@
 	LoadingforceYEnum,
 	LoadingforceZEnum,
-	MaskGroundediceLevelsetEnum,
+	MaskOceanLevelsetEnum,
 	MaskIceLevelsetEnum,
 	MaskLandLevelsetEnum,
-	MaskOceanLevelsetEnum,
 	MasstransportSpcthicknessEnum,
 	MaterialsRheologyBEnum,
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 24860)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 24861)
@@ -627,8 +627,7 @@
 		case LoadingforceYEnum : return "LoadingforceY";
 		case LoadingforceZEnum : return "LoadingforceZ";
-		case MaskGroundediceLevelsetEnum : return "MaskGroundediceLevelset";
+		case MaskOceanLevelsetEnum : return "MaskOceanLevelset";
 		case MaskIceLevelsetEnum : return "MaskIceLevelset";
 		case MaskLandLevelsetEnum : return "MaskLandLevelset";
-		case MaskOceanLevelsetEnum : return "MaskOceanLevelset";
 		case MasstransportSpcthicknessEnum : return "MasstransportSpcthickness";
 		case MaterialsRheologyBEnum : return "MaterialsRheologyB";
Index: /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 24860)
+++ /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 24861)
@@ -642,8 +642,7 @@
 	      else if (strcmp(name,"LoadingforceY")==0) return LoadingforceYEnum;
 	      else if (strcmp(name,"LoadingforceZ")==0) return LoadingforceZEnum;
-	      else if (strcmp(name,"MaskGroundediceLevelset")==0) return MaskGroundediceLevelsetEnum;
+	      else if (strcmp(name,"MaskOceanLevelset")==0) return MaskOceanLevelsetEnum;
 	      else if (strcmp(name,"MaskIceLevelset")==0) return MaskIceLevelsetEnum;
 	      else if (strcmp(name,"MaskLandLevelset")==0) return MaskLandLevelsetEnum;
-	      else if (strcmp(name,"MaskOceanLevelset")==0) return MaskOceanLevelsetEnum;
 	      else if (strcmp(name,"MasstransportSpcthickness")==0) return MasstransportSpcthicknessEnum;
 	      else if (strcmp(name,"MaterialsRheologyB")==0) return MaterialsRheologyBEnum;
@@ -752,9 +751,9 @@
 	      else if (strcmp(name,"SmbMassBalanceClimate")==0) return SmbMassBalanceClimateEnum;
 	      else if (strcmp(name,"SmbMassBalance")==0) return SmbMassBalanceEnum;
+	      else if (strcmp(name,"SmbMassBalanceSubstep")==0) return SmbMassBalanceSubstepEnum;
          else stage=7;
    }
    if(stage==7){
-	      if (strcmp(name,"SmbMassBalanceSubstep")==0) return SmbMassBalanceSubstepEnum;
-	      else if (strcmp(name,"SmbMassBalanceTransient")==0) return SmbMassBalanceTransientEnum;
+	      if (strcmp(name,"SmbMassBalanceTransient")==0) return SmbMassBalanceTransientEnum;
 	      else if (strcmp(name,"SmbMeanLHF")==0) return SmbMeanLHFEnum;
 	      else if (strcmp(name,"SmbMeanSHF")==0) return SmbMeanSHFEnum;
@@ -875,9 +874,9 @@
 	      else if (strcmp(name,"Outputdefinition13")==0) return Outputdefinition13Enum;
 	      else if (strcmp(name,"Outputdefinition14")==0) return Outputdefinition14Enum;
+	      else if (strcmp(name,"Outputdefinition15")==0) return Outputdefinition15Enum;
          else stage=8;
    }
    if(stage==8){
-	      if (strcmp(name,"Outputdefinition15")==0) return Outputdefinition15Enum;
-	      else if (strcmp(name,"Outputdefinition16")==0) return Outputdefinition16Enum;
+	      if (strcmp(name,"Outputdefinition16")==0) return Outputdefinition16Enum;
 	      else if (strcmp(name,"Outputdefinition17")==0) return Outputdefinition17Enum;
 	      else if (strcmp(name,"Outputdefinition18")==0) return Outputdefinition18Enum;
@@ -998,9 +997,9 @@
 	      else if (strcmp(name,"BeckmannGoosseFloatingMeltRate")==0) return BeckmannGoosseFloatingMeltRateEnum;
 	      else if (strcmp(name,"BedSlopeSolution")==0) return BedSlopeSolutionEnum;
+	      else if (strcmp(name,"BoolExternalResult")==0) return BoolExternalResultEnum;
          else stage=9;
    }
    if(stage==9){
-	      if (strcmp(name,"BoolExternalResult")==0) return BoolExternalResultEnum;
-	      else if (strcmp(name,"BoolInput")==0) return BoolInputEnum;
+	      if (strcmp(name,"BoolInput")==0) return BoolInputEnum;
 	      else if (strcmp(name,"BoolInput2")==0) return BoolInput2Enum;
 	      else if (strcmp(name,"IntInput2")==0) return IntInput2Enum;
@@ -1121,9 +1120,9 @@
 	      else if (strcmp(name,"IceVolumeAboveFloatation")==0) return IceVolumeAboveFloatationEnum;
 	      else if (strcmp(name,"IceVolumeAboveFloatationScaled")==0) return IceVolumeAboveFloatationScaledEnum;
+	      else if (strcmp(name,"IceVolume")==0) return IceVolumeEnum;
          else stage=10;
    }
    if(stage==10){
-	      if (strcmp(name,"IceVolume")==0) return IceVolumeEnum;
-	      else if (strcmp(name,"IceVolumeScaled")==0) return IceVolumeScaledEnum;
+	      if (strcmp(name,"IceVolumeScaled")==0) return IceVolumeScaledEnum;
 	      else if (strcmp(name,"IcefrontMassFlux")==0) return IcefrontMassFluxEnum;
 	      else if (strcmp(name,"IcefrontMassFluxLevelset")==0) return IcefrontMassFluxLevelsetEnum;
@@ -1244,9 +1243,9 @@
 	      else if (strcmp(name,"PentaInput")==0) return PentaInputEnum;
 	      else if (strcmp(name,"Profiler")==0) return ProfilerEnum;
+	      else if (strcmp(name,"ProfilingCurrentFlops")==0) return ProfilingCurrentFlopsEnum;
          else stage=11;
    }
    if(stage==11){
-	      if (strcmp(name,"ProfilingCurrentFlops")==0) return ProfilingCurrentFlopsEnum;
-	      else if (strcmp(name,"ProfilingCurrentMem")==0) return ProfilingCurrentMemEnum;
+	      if (strcmp(name,"ProfilingCurrentMem")==0) return ProfilingCurrentMemEnum;
 	      else if (strcmp(name,"ProfilingSolutionTime")==0) return ProfilingSolutionTimeEnum;
 	      else if (strcmp(name,"Regionaloutput")==0) return RegionaloutputEnum;
Index: /issm/trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.m
===================================================================
--- /issm/trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.m	(revision 24860)
+++ /issm/trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.m	(revision 24861)
@@ -33,5 +33,5 @@
 else
 	%Guess where the ice front is
-	pos=find(sum(md.mask.groundedice_levelset(md.mesh.elements)<0.,2) >0.);
+	pos=find(sum(md.mask.ocean_levelset(md.mesh.elements)<0.,2) >0.);
 	vertexonfloatingice=zeros(md.mesh.numberofvertices,1);
 	vertexonfloatingice(md.mesh.elements(pos,:))=1.;
@@ -102,5 +102,5 @@
 	if (length(md.basalforcings.geothermalflux)~=md.mesh.numberofvertices),
 		md.basalforcings.geothermalflux=zeros(md.mesh.numberofvertices,1);
-		md.basalforcings.geothermalflux(find(md.mask.groundedice_levelset>0.))=50.*10.^-3; %50mW/m2
+		md.basalforcings.geothermalflux(find(md.mask.ocean_levelset>0.))=50.*10.^-3; %50mW/m2
 	end
 else
Index: /issm/trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.py
===================================================================
--- /issm/trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.py	(revision 24860)
+++ /issm/trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.py	(revision 24861)
@@ -32,5 +32,5 @@
         #Guess where the ice front is
         vertexonfloatingice = np.zeros((md.mesh.numberofvertices))
-        pos = np.nonzero(np.sum(md.mask.groundedice_levelset[md.mesh.elements - 1] < 0., axis=1) > 0.)[0]
+        pos = np.nonzero(np.sum(md.mask.ocean_levelset[md.mesh.elements - 1] < 0., axis=1) > 0.)[0]
         vertexonfloatingice[md.mesh.elements[pos].astype(int) - 1] = 1.
         vertexonicefront = np.logical_and(np.reshape(md.mesh.vertexonboundary, (-1, )), vertexonfloatingice > 0.)
@@ -103,5 +103,5 @@
         if not isinstance(md.basalforcings.geothermalflux, np.ndarray) or not np.size(md.basalforcings.geothermalflux, axis=0) == md.mesh.numberofvertices:
             md.basalforcings.geothermalflux = np.zeros((md.mesh.numberofvertices))
-            md.basalforcings.geothermalflux[np.nonzero(md.mask.groundedice_levelset > 0.)] = 50. * 10.**- 3  #50mW / m2
+            md.basalforcings.geothermalflux[np.nonzero(md.mask.ocean_levelset > 0.)] = 50. * 10.**- 3  #50mW / m2
     else:
         print("      no thermal boundary conditions created: no observed temperature found")
Index: /issm/trunk-jpl/src/m/classes/flowequation.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/flowequation.m	(revision 24860)
+++ /issm/trunk-jpl/src/m/classes/flowequation.m	(revision 24861)
@@ -129,5 +129,5 @@
 			if ismember('StressbalanceSIAAnalysis',analyses),
 				if any(self.element_equation==1),
-					if(self.vertex_equation & md.mask.groundedice_levelset<0.),
+					if(self.vertex_equation & md.mask.ocean_levelset<0.),
 						disp(sprintf('\n !!! Warning: SIA''s model is not consistent on ice shelves !!!\n'));
 					end
Index: /issm/trunk-jpl/src/m/classes/flowequation.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/flowequation.py	(revision 24860)
+++ /issm/trunk-jpl/src/m/classes/flowequation.py	(revision 24861)
@@ -120,5 +120,5 @@
         if 'StressbalanceSIAAnalysis' in analyses:
             if any(self.element_equation == 1):
-                if np.any(np.logical_and(self.vertex_equation, md.mask.groundedice_levelset)):
+                if np.any(np.logical_and(self.vertex_equation, md.mask.ocean_levelset)):
                     print("\n !!! Warning: SIA's model is not consistent on ice shelves !!!\n")
 
Index: /issm/trunk-jpl/src/m/classes/geometry.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/geometry.m	(revision 24860)
+++ /issm/trunk-jpl/src/m/classes/geometry.m	(revision 24861)
@@ -72,5 +72,5 @@
 						md = checkmessage(md,['base<bed on one or more vertex']);
 					end 
-					pos = find(md.mask.groundedice_levelset>0);
+					pos = find(md.mask.ocean_levelset>0);
 					if any(abs(self.bed(pos)-self.base(pos))>10^-9),
 						md = checkmessage(md,['equality base=bed on grounded ice violated']);
Index: /issm/trunk-jpl/src/m/classes/geometry.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/geometry.py	(revision 24860)
+++ /issm/trunk-jpl/src/m/classes/geometry.py	(revision 24861)
@@ -64,5 +64,5 @@
                 if np.any(self.bed - self.base > 10**-12):
                     md.checkmessage('base < bed on one or more vertex')
-                pos = np.where(md.mask.groundedice_levelset > 0)
+                pos = np.where(md.mask.ocean_levelset > 0)
                 if np.any(np.abs(self.bed[pos] - self.base[pos]) > 10**-9):
                     md.checkmessage('equality base = bed on grounded ice violated')
Index: /issm/trunk-jpl/src/m/classes/groundingline.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/groundingline.m	(revision 24860)
+++ /issm/trunk-jpl/src/m/classes/groundingline.m	(revision 24861)
@@ -37,9 +37,9 @@
 					md = checkmessage(md,['requesting grounding line migration, but bathymetry is absent!']);
 				end
-				pos=find(md.mask.groundedice_levelset>0. & md.mask.ice_levelset<=0);
+				pos=find(md.mask.ocean_levelset>0. & md.mask.ice_levelset<=0);
 				if any(abs(md.geometry.base(pos)-md.geometry.bed(pos))>10^-10),
 					md = checkmessage(md,['base not equal to bed on grounded ice!']);
 				end
-				pos=find(md.mask.groundedice_levelset<=0. & md.mask.ice_levelset<=0);
+				pos=find(md.mask.ocean_levelset<=0. & md.mask.ice_levelset<=0);
 				if any(md.geometry.bed(pos) - md.geometry.base(pos) > 10^-9),
 					md = checkmessage(md,['bed superior to base on floating ice!']);
Index: /issm/trunk-jpl/src/m/classes/groundingline.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/groundingline.py	(revision 24860)
+++ /issm/trunk-jpl/src/m/classes/groundingline.py	(revision 24861)
@@ -52,5 +52,5 @@
             if np.any(np.isnan(md.geometry.bed)):
                 md.checkmessage("requesting grounding line migration, but bathymetry is absent!")
-            pos = np.nonzero(md.mask.groundedice_levelset > 0.)[0]
+            pos = np.nonzero(md.mask.ocean_levelset > 0.)[0]
             if any(np.abs(md.geometry.base[pos] - md.geometry.bed[pos]) > 10**-10):
                 md.checkmessage("base not equal to bed on grounded ice!")
Index: /issm/trunk-jpl/src/m/classes/mask.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/mask.m	(revision 24860)
+++ /issm/trunk-jpl/src/m/classes/mask.m	(revision 24861)
@@ -6,5 +6,5 @@
 classdef mask
 	properties (SetAccess=public) 
-		groundedice_levelset = NaN;
+		ocean_levelset = NaN;
 		ice_levelset         = NaN;
 	end
@@ -23,5 +23,5 @@
 	methods
 		function self = extrude(self,md) % {{{
-			self.groundedice_levelset=project3d(md,'vector',self.groundedice_levelset,'type','node');
+			self.ocean_levelset=project3d(md,'vector',self.ocean_levelset,'type','node');
 			self.ice_levelset=project3d(md,'vector',self.ice_levelset,'type','node');
 		end % }}}
@@ -40,5 +40,5 @@
 			if strcmpi(solution,'LoveSolution'), return; end;
 
-			md = checkfield(md,'fieldname','mask.groundedice_levelset','timeseries',1,'NaN',1);
+			md = checkfield(md,'fieldname','mask.ocean_levelset','timeseries',1,'NaN',1);
 			md = checkfield(md,'fieldname','mask.ice_levelset','NaN',1,'size',[md.mesh.numberofvertices 1]);
 			isice=(md.mask.ice_levelset<=0);
@@ -50,14 +50,14 @@
 			disp(sprintf('   masks:'));
 
-			fielddisplay(self,'groundedice_levelset','is ice grounded ? grounded ice if > 0, grounding line position if = 0, floating ice if < 0');
+			fielddisplay(self,'ocean_levelset','is ice grounded ? grounded ice if > 0, grounding line position if = 0, floating ice if < 0');
 			fielddisplay(self,'ice_levelset','presence of ice if < 0, icefront position if = 0, no ice if > 0');
 		end % }}}
 		function marshall(self,prefix,md,fid) % {{{
-			WriteData(fid,prefix,'object',self,'fieldname','groundedice_levelset','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
+			WriteData(fid,prefix,'object',self,'fieldname','ocean_levelset','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
 			WriteData(fid,prefix,'object',self,'fieldname','ice_levelset','format','DoubleMat','mattype',1);
 		end % }}}
 		function savemodeljs(self,fid,modelname) % {{{
 		
-			writejs1Darray(fid,[modelname '.mask.groundedice_levelset'],self.groundedice_levelset);
+			writejs1Darray(fid,[modelname '.mask.ocean_levelset'],self.ocean_levelset);
 			writejs1Darray(fid,[modelname '.mask.ice_levelset'],self.ice_levelset);
 
Index: /issm/trunk-jpl/src/m/classes/mask.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/mask.py	(revision 24860)
+++ /issm/trunk-jpl/src/m/classes/mask.py	(revision 24861)
@@ -16,5 +16,5 @@
     def __init__(self):  # {{{
         self.ice_levelset = float('NaN')
-        self.groundedice_levelset = float('NaN')
+        self.ocean_levelset = float('NaN')
 
     #set defaults
@@ -26,5 +26,5 @@
         string = "   masks:"
 
-        string = "%s\n%s" % (string, fielddisplay(self, "groundedice_levelset", "is ice grounded ? grounded ice if > 0, grounding line position if = 0, floating ice if < 0"))
+        string = "%s\n%s" % (string, fielddisplay(self, "ocean_levelset", "is ice grounded ? grounded ice if > 0, grounding line position if = 0, floating ice if < 0"))
         string = "%s\n%s" % (string, fielddisplay(self, "ice_levelset", "presence of ice if < 0, icefront position if = 0, no ice if > 0"))
         return string
@@ -33,5 +33,5 @@
     def extrude(self, md):  # {{{
         self.ice_levelset = project3d(md, 'vector', self.ice_levelset, 'type', 'node')
-        self.groundedice_levelset = project3d(md, 'vector', self.groundedice_levelset, 'type', 'node')
+        self.ocean_levelset = project3d(md, 'vector', self.ocean_levelset, 'type', 'node')
         return self
     #}}}
@@ -54,5 +54,5 @@
 
     def marshall(self, prefix, md, fid):  # {{{
-        WriteData(fid, prefix, 'object', self, 'fieldname', 'groundedice_levelset', 'format', 'DoubleMat', 'mattype', 1)
+        WriteData(fid, prefix, 'object', self, 'fieldname', 'ocean_levelset', 'format', 'DoubleMat', 'mattype', 1)
         WriteData(fid, prefix, 'object', self, 'fieldname', 'ice_levelset', 'format', 'DoubleMat', 'mattype', 1)
     # }}}
Index: /issm/trunk-jpl/src/m/classes/maskpsl.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/maskpsl.m	(revision 24860)
+++ /issm/trunk-jpl/src/m/classes/maskpsl.m	(revision 24861)
@@ -6,5 +6,5 @@
 classdef maskpsl 
 	properties (SetAccess=public) 
-		groundedice_levelset = NaN;
+		ocean_levelset = NaN;
 		ice_levelset         = NaN;
 		ocean_levelset = NaN;
@@ -20,5 +20,5 @@
 	methods
 		function self = extrude(self,md) % {{{
-			self.groundedice_levelset=project3d(md,'vector',self.groundedice_levelset,'type','node');
+			self.ocean_levelset=project3d(md,'vector',self.ocean_levelset,'type','node');
 			self.ice_levelset=project3d(md,'vector',self.ice_levelset,'type','node');
 			self.ocean_levelset=project3d(md,'vector',self.ocean_levelset,'type','node');
@@ -40,5 +40,5 @@
 			if strcmpi(solution,'LoveSolution'), return; end;
 
-			md = checkfield(md,'fieldname','mask.groundedice_levelset','size',[md.mesh.numberofvertices 1]);
+			md = checkfield(md,'fieldname','mask.ocean_levelset','size',[md.mesh.numberofvertices 1]);
 			md = checkfield(md,'fieldname','mask.ice_levelset'        ,'size',[md.mesh.numberofvertices 1]);
 			md = checkfield(md,'fieldname','mask.ocean_levelset','size',[md.mesh.numberofvertices 1]);
@@ -47,5 +47,5 @@
 		function disp(self) % {{{
 			disp(sprintf('   masks:'));
-			fielddisplay(self,'groundedice_levelset','is ice grounded ? grounded ice if > 0, grounding line position if = 0, floating ice if < 0');
+			fielddisplay(self,'ocean_levelset','is ice grounded ? grounded ice if > 0, grounding line position if = 0, floating ice if < 0');
 			fielddisplay(self,'ice_levelset','presence of ice if < 0, icefront position if = 0, no ice if > 0');
 			fielddisplay(self,'ocean_levelset','is the vertex on the ocean ? yes if = 1, no if = 0');
@@ -55,5 +55,5 @@
 		function marshall(self,prefix,md,fid) % {{{
 			WriteData(fid,prefix,'name','md.mask.type','data',class(md.mask),'format','String');
-			WriteData(fid,prefix,'object',self,'class','mask','fieldname','groundedice_levelset','format','DoubleMat','mattype',1);
+			WriteData(fid,prefix,'object',self,'class','mask','fieldname','ocean_levelset','format','DoubleMat','mattype',1);
 			WriteData(fid,prefix,'object',self,'class','mask','fieldname','ice_levelset','format','DoubleMat','mattype',1);
 			WriteData(fid,prefix,'object',self,'class','mask','fieldname','ocean_levelset','format','DoubleMat','mattype',1);
@@ -62,5 +62,5 @@
 		function savemodeljs(self,fid,modelname) % {{{
 			fprintf(fid,'%s.mask=new maskpsl();\n',modelname);
-			writejs1Darray(fid,[modelname '.mask.groundedice_levelset'],self.groundedice_levelset);
+			writejs1Darray(fid,[modelname '.mask.ocean_levelset'],self.ocean_levelset);
 			writejs1Darray(fid,[modelname '.mask.ice_levelset'],self.ice_levelset);
 			writejs1Darray(fid,[modelname '.mask.ocean_levelset'],self.ocean_levelset);
Index: /issm/trunk-jpl/src/m/classes/maskpsl.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/maskpsl.py	(revision 24860)
+++ /issm/trunk-jpl/src/m/classes/maskpsl.py	(revision 24861)
@@ -14,5 +14,5 @@
 
     def __init__(self, *args):  # {{{
-        self.groundedice_levelset = float('NaN')
+        self.ocean_levelset = float('NaN')
         self.ice_levelset = float('NaN')
         self.ocean_levelset = float('NaN')
@@ -27,5 +27,5 @@
     def __repr__(self):  # {{{
         string = '   masks:'
-        string = "%s\n%s" % (string, fielddisplay(self, 'groundedice_levelset', 'is ice grounded ? grounded ice if > 0, grounding line position if = 0, floating ice if < 0'))
+        string = "%s\n%s" % (string, fielddisplay(self, 'ocean_levelset', 'is ice grounded ? grounded ice if > 0, grounding line position if = 0, floating ice if < 0'))
         string = "%s\n%s" % (string, fielddisplay(self, 'ice_levelset', 'presence of ice if < 0, icefront position if = 0, no ice if > 0'))
         string = "%s\n%s" % (string, fielddisplay(self, 'ocean_levelset', 'is the vertex on the ocean ? yes if = 1, no if = 0'))
@@ -50,5 +50,5 @@
 
     def checkconsistency(self, md, solution, analyses):  # {{{
-        md = checkfield(md, 'fieldname', 'mask.groundedice_levelset', 'size', [md.mesh.numberofvertices])
+        md = checkfield(md, 'fieldname', 'mask.ocean_levelset', 'size', [md.mesh.numberofvertices])
         md = checkfield(md, 'fieldname', 'mask.ice_levelset', 'size', [md.mesh.numberofvertices])
         md = checkfield(md, 'fieldname', 'mask.ocean_levelset', 'size', [md.mesh.numberofvertices])
@@ -72,5 +72,5 @@
 
     def extrude(self, md):  # {{{
-        self.groundedice_levelset = project3d(md, 'vector', self.groundedice_levelset, 'type', 'node')
+        self.ocean_levelset = project3d(md, 'vector', self.ocean_levelset, 'type', 'node')
         self.ice_levelset = project3d(md, 'vector', self.ice_levelset, 'type', 'node')
         self.ocean_levelset = project3d(md, 'vector', self.ocean_levelset, 'type', 'node')
@@ -90,5 +90,5 @@
     def marshall(self, prefix, md, fid):  # {{{
         WriteData(fid, prefix, 'name', 'md.mask.type', 'data', type(md.mask).__name__, 'format', 'String')
-        WriteData(fid, prefix, 'object', self, 'class', 'mask', 'fieldname', 'groundedice_levelset', 'format', 'DoubleMat', 'mattype', 1)
+        WriteData(fid, prefix, 'object', self, 'class', 'mask', 'fieldname', 'ocean_levelset', 'format', 'DoubleMat', 'mattype', 1)
         WriteData(fid, prefix, 'object', self, 'class', 'mask', 'fieldname', 'ice_levelset', 'format', 'DoubleMat', 'mattype', 1)
         WriteData(fid, prefix, 'object', self, 'class', 'mask', 'fieldname', 'ocean_levelset', 'format', 'DoubleMat', 'mattype', 1)
@@ -97,5 +97,5 @@
 
     def savemodeljs(self, fid, modelname):  # {{{
-        writejs1Darray(fid, [modelname, '.mask.groundedice_levelset'], self.groundedice_levelset)
+        writejs1Darray(fid, [modelname, '.mask.ocean_levelset'], self.ocean_levelset)
         writejs1Darray(fid, [modelname, '.mask.ice_levelset'], self.ice_levelset)
         writejs1Darray(fid, [modelname, '.mask.ocean_levelset'], self.ocean_levelset)
Index: /issm/trunk-jpl/src/m/classes/model.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/model.m	(revision 24860)
+++ /issm/trunk-jpl/src/m/classes/model.m	(revision 24861)
@@ -363,6 +363,6 @@
 			end
 
-			if ~isnan(md.mask.groundedice_levelset),
-				md.mask.groundedice_levelset=project2d(md,md.mask.groundedice_levelset,1);
+			if ~isnan(md.mask.ocean_levelset),
+				md.mask.ocean_levelset=project2d(md,md.mask.ocean_levelset,1);
 			end
 			if ~isnan(md.mask.ice_levelset),
Index: /issm/trunk-jpl/src/m/classes/model.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/model.py	(revision 24860)
+++ /issm/trunk-jpl/src/m/classes/model.py	(revision 24861)
@@ -841,5 +841,5 @@
         if isinstance(md.geometry.bed, np.ndarray):
             md.geometry.bed = project2d(md, md.geometry.bed, 1)
-        md.mask.groundedice_levelset = project2d(md, md.mask.groundedice_levelset, 1)
+        md.mask.ocean_levelset = project2d(md, md.mask.ocean_levelset, 1)
         md.mask.ice_levelset = project2d(md, md.mask.ice_levelset, 1)
 
Index: /issm/trunk-jpl/src/m/classes/stressbalance.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/stressbalance.m	(revision 24860)
+++ /issm/trunk-jpl/src/m/classes/stressbalance.m	(revision 24861)
@@ -101,5 +101,5 @@
 			end
 			%singular solution
-			if ((~(any(~isnan(md.stressbalance.spcvx)) | any(~isnan(md.stressbalance.spcvy)))) & ~any(md.mask.groundedice_levelset>0)),
+			if ((~(any(~isnan(md.stressbalance.spcvx)) | any(~isnan(md.stressbalance.spcvy)))) & ~any(md.mask.ocean_levelset>0)),
 				disp(sprintf('\n !!! Warning: no spc applied, model might not be well posed if no basal friction is applied, check for solution crash\n'));
 			end
@@ -117,5 +117,5 @@
 			%CHECK THAT NO rotation specified for FS Grounded ice at base
 			if strcmp(domaintype(md.mesh),'3D') & md.flowequation.isFS,
-				pos=find(md.mask.groundedice_levelset>0. & md.mesh.vertexonbase);
+				pos=find(md.mask.ocean_levelset>0. & md.mesh.vertexonbase);
 				if any(~isnan(md.stressbalance.referential(pos,:))),
 					md = checkmessage(md,['no referential should be specified for basal vertices of grounded ice']);
Index: /issm/trunk-jpl/src/m/classes/stressbalance.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/stressbalance.py	(revision 24860)
+++ /issm/trunk-jpl/src/m/classes/stressbalance.py	(revision 24861)
@@ -156,5 +156,5 @@
         #CHECK THAT NO rotation specified for FS Grounded ice at base
         if m.strcmp(md.mesh.domaintype(), '3D') and md.flowequation.isFS:
-            pos = np.nonzero(np.logical_and(md.mask.groundedice_levelset, md.mesh.vertexonbase))
+            pos = np.nonzero(np.logical_and(md.mask.ocean_levelset, md.mesh.vertexonbase))
             if np.any(np.logical_not(np.isnan(md.stressbalance.referential[pos, :]))):
                 md.checkmessage("no referential should be specified for basal vertices of grounded ice")
Index: /issm/trunk-jpl/src/m/contrib/larour/ecco/MeltingGroundingLines.m
===================================================================
--- /issm/trunk-jpl/src/m/contrib/larour/ecco/MeltingGroundingLines.m	(revision 24860)
+++ /issm/trunk-jpl/src/m/contrib/larour/ecco/MeltingGroundingLines.m	(revision 24861)
@@ -7,5 +7,5 @@
 
 %get nodes on ice sheet and on ice shelf
-pos_shelf=find(md.mask.groundedice_levelset<0.);
+pos_shelf=find(md.mask.ocean_levelset<0.);
 pos_GL=intersect(unique(md.mesh.elements(find(md.mask.elementongroundedice),:)),unique(md.mesh.elements(find(md.mask.elementonfloatingice),:)));
 
Index: /issm/trunk-jpl/src/m/contrib/morlighem/dassflow/exportgmsh.m
===================================================================
--- /issm/trunk-jpl/src/m/contrib/morlighem/dassflow/exportgmsh.m	(revision 24860)
+++ /issm/trunk-jpl/src/m/contrib/morlighem/dassflow/exportgmsh.m	(revision 24861)
@@ -1,3 +1,3 @@
-function exportgmsh(mesh,groundedice_levelset,filename),
+function exportgmsh(mesh,ocean_levelset,filename),
 %EXPORTGMSH - export mesh to gmsh format
 %
@@ -5,8 +5,8 @@
 %
 %   Usage:
-%      exportgmsh(mesh,groundedice_levelset,filename)
+%      exportgmsh(mesh,ocean_levelset,filename)
 %
 %   Example:
-%      exportgmsh(md.mesh,md.mask.groundedice_levelset,'temp.msh')
+%      exportgmsh(md.mesh,md.mask.ocean_levelset,'temp.msh')
 
 fid=fopen(filename,'w');
@@ -31,5 +31,5 @@
 
 %Create flags
-grounded = sum(groundedice_levelset(mesh.segments(:,1:2))>0,2);
+grounded = sum(ocean_levelset(mesh.segments(:,1:2))>0,2);
 A = zeros(nbs,2);
 pos = find(mesh.segmentmarkers==4);
Index: /issm/trunk-jpl/src/m/contrib/tsantos/mismip/gl_position.m
===================================================================
--- /issm/trunk-jpl/src/m/contrib/tsantos/mismip/gl_position.m	(revision 24860)
+++ /issm/trunk-jpl/src/m/contrib/tsantos/mismip/gl_position.m	(revision 24861)
@@ -3,5 +3,5 @@
 		%initialization of some variables
 		if isfield(md.results,'TransientSolution')
-			data		= md.results.TransientSolution(step).MaskGroundediceLevelset;
+			data		= md.results.TransientSolution(step).MaskOceanLevelset;
 			if isfield(md.results.TransientSolution,'MeshElements')
 				index	= md.results.TransientSolution(step).MeshElements;
@@ -14,5 +14,5 @@
 			end
 		else
-			data	= md.mask.groundedice_levelset;
+			data	= md.mask.ocean_levelset;
 			index	= md.mesh.elements;
 			x		= md.mesh.x;
Index: /issm/trunk-jpl/src/m/contrib/tsantos/mismip/gl_position_static.m
===================================================================
--- /issm/trunk-jpl/src/m/contrib/tsantos/mismip/gl_position_static.m	(revision 24860)
+++ /issm/trunk-jpl/src/m/contrib/tsantos/mismip/gl_position_static.m	(revision 24861)
@@ -3,5 +3,5 @@
 		%initialization of some variables
 		if isfield(md.results,'TransientSolution') & false
-			data		= md.results.TransientSolution(step).MaskGroundediceLevelset;
+			data		= md.results.TransientSolution(step).MaskOceanLevelset;
 			if isfield(md.results.TransientSolution,'MeshElements')
 				index	= md.results.TransientSolution(step).MeshElements;
@@ -14,5 +14,5 @@
 			end
 		else
-			data	= md.mask.groundedice_levelset;
+			data	= md.mask.ocean_levelset;
 			index	= md.mesh.elements;
 			x		= md.mesh.x;
Index: /issm/trunk-jpl/src/m/contrib/tsantos/remesh.m
===================================================================
--- /issm/trunk-jpl/src/m/contrib/tsantos/remesh.m	(revision 24860)
+++ /issm/trunk-jpl/src/m/contrib/tsantos/remesh.m	(revision 24861)
@@ -63,5 +63,5 @@
 NewModel.geometry.bed					= md.results.TransientSolution(time_step).Bed;%md.geometry.bed; %use from parameterize
 NewModel.geometry.thickness			= md.results.TransientSolution(time_step).Thickness;
-NewModel.mask.groundedice_levelset  = md.results.TransientSolution(time_step).MaskGroundediceLevelset;
+NewModel.mask.ocean_levelset  = md.results.TransientSolution(time_step).MaskOceanLevelset;
     
 %copy other data
Index: /issm/trunk-jpl/src/m/geometry/VolumeAboveFloatation.m
===================================================================
--- /issm/trunk-jpl/src/m/geometry/VolumeAboveFloatation.m	(revision 24860)
+++ /issm/trunk-jpl/src/m/geometry/VolumeAboveFloatation.m	(revision 24861)
@@ -33,5 +33,5 @@
 
 %5. take out the ones that are outside of levelset or floating
-pos = find(min(md.mask.ice_levelset(index),[],2)>0 | min(md.mask.groundedice_levelset(index),[],2)<0);
+pos = find(min(md.mask.ice_levelset(index),[],2)>0 | min(md.mask.ocean_levelset(index),[],2)<0);
 V(pos) = 0;
 
Index: /issm/trunk-jpl/src/m/mesh/TwoDToThreeD.m
===================================================================
--- /issm/trunk-jpl/src/m/mesh/TwoDToThreeD.m	(revision 24860)
+++ /issm/trunk-jpl/src/m/mesh/TwoDToThreeD.m	(revision 24861)
@@ -38,4 +38,4 @@
 	else
 		md.mask.ice_levelset=mask.ice_levelset;
-		md.mask.groundedice_levelset=mask.groundedice_levelset;
+		md.mask.ocean_levelset=mask.ocean_levelset;
 	end
Index: /issm/trunk-jpl/src/m/mesh/modelmerge2d.m
===================================================================
--- /issm/trunk-jpl/src/m/mesh/modelmerge2d.m	(revision 24860)
+++ /issm/trunk-jpl/src/m/mesh/modelmerge2d.m	(revision 24861)
@@ -95,5 +95,5 @@
 		%now we can go through classes and transfer.
 		md=transfer_fields(md,md1,md2,'geometry',{'thickness','surface','bed','base'});
-		md=transfer_fields(md,md1,md2,'mask',{'groundedice_levelset','ice_levelset','ocean_levelset','land_levelset','glacier_levelset'});
+		md=transfer_fields(md,md1,md2,'mask',{'ocean_levelset','ice_levelset','ocean_levelset','land_levelset','glacier_levelset'});
 		md=transfer_fields(md,md1,md2,'smb',{'mass_balance'});
 		if strcmpi(class(md1.basalforcings),'linearbasalforcings'),
Index: /issm/trunk-jpl/src/m/miscellaneous/diagnostics.m
===================================================================
--- /issm/trunk-jpl/src/m/miscellaneous/diagnostics.m	(revision 24860)
+++ /issm/trunk-jpl/src/m/miscellaneous/diagnostics.m	(revision 24861)
@@ -35,5 +35,5 @@
 	%grounding line : 
 	if getfieldvalue(options,'gl',0),
-		contours=contourlevelzero(md,md.mask.groundedice_levelset,0);
+		contours=contourlevelzero(md,md.mask.ocean_levelset,0);
 		expwrite(contours,[path '/groundingline.exp']);
 		exp2shp([path '/groundingline.shp'],[path '/groundingline.exp']);
Index: /issm/trunk-jpl/src/m/miscellaneous/transientrestart.m
===================================================================
--- /issm/trunk-jpl/src/m/miscellaneous/transientrestart.m	(revision 24860)
+++ /issm/trunk-jpl/src/m/miscellaneous/transientrestart.m	(revision 24861)
@@ -55,6 +55,6 @@
 
 %Update mask
-if isfield(results,'MaskGroundediceLevelset'),
-	md.mask.groundedice_levelset = results.MaskGroundediceLevelset;
+if isfield(results,'MaskOceanLevelset'),
+	md.mask.ocean_levelset = results.MaskOceanLevelset;
 end
 if isfield(results,'MaskIceLevelset'),
Index: /issm/trunk-jpl/src/m/parameterization/killberg.m
===================================================================
--- /issm/trunk-jpl/src/m/parameterization/killberg.m	(revision 24860)
+++ /issm/trunk-jpl/src/m/parameterization/killberg.m	(revision 24861)
@@ -3,5 +3,5 @@
 %KILLBERG - kill ice berg
 %
-%   check md.mask.ice_levelset and md.mask.groundedice_levelset and
+%   check md.mask.ice_levelset and md.mask.ocean_levelset and
 %   remove icebergs from md.mask.ice_levelset. This function is adapted
 %   from src/c/modules/KillIcebergsx/KillIcebergsx.cpp
@@ -25,5 +25,5 @@
 %do not go through elements that are grounded, mark flag as 1 (done)
 %and initialize mask as 1 for all vertices of these elements
-isgrounded = max(md.mask.groundedice_levelset(md.mesh.elements),[],2)>0;
+isgrounded = max(md.mask.ocean_levelset(md.mesh.elements),[],2)>0;
 pos = find(isgrounded);
 element_flag(pos) = 1;
Index: /issm/trunk-jpl/src/m/parameterization/sethydrostaticmask.m
===================================================================
--- /issm/trunk-jpl/src/m/parameterization/sethydrostaticmask.m	(revision 24860)
+++ /issm/trunk-jpl/src/m/parameterization/sethydrostaticmask.m	(revision 24861)
@@ -1,4 +1,4 @@
 function md=sethydrostaticmask(md)
-%SETHYDROSTATICMASK - establish groundedice_levelset field
+%SETHYDROSTATICMASK - establish ocean_levelset field
 %
 %   Determines grounded and floating ice position based on 
@@ -16,13 +16,13 @@
 
 %grounded ice level set
-md.mask.groundedice_levelset=md.geometry.thickness+md.geometry.bed*md.materials.rho_water/md.materials.rho_ice;
+md.mask.ocean_levelset=md.geometry.thickness+md.geometry.bed*md.materials.rho_water/md.materials.rho_ice;
 
 %Check consistency of geometry
-pos=find(md.mask.groundedice_levelset>0);
+pos=find(md.mask.ocean_levelset>0);
 if(any(md.geometry.base(pos)~=md.geometry.bed(pos))),
 	disp('WARNING: md.geometry.bed and md.geometry.base not equal on grounded ice');
 end
 
-pos=find(md.mask.groundedice_levelset<=0);
+pos=find(md.mask.ocean_levelset<=0);
 if(any(md.geometry.base(pos)<md.geometry.bed(pos))),
 	disp('WARNING: md.geometry.base < md.geometry.bed on floating ice');
Index: /issm/trunk-jpl/src/m/parameterization/sethydrostaticmask.py
===================================================================
--- /issm/trunk-jpl/src/m/parameterization/sethydrostaticmask.py	(revision 24860)
+++ /issm/trunk-jpl/src/m/parameterization/sethydrostaticmask.py	(revision 24861)
@@ -4,5 +4,5 @@
 def setmask(md):
     """
-    SETHYDROSTATICMASK - establish groundedice_levelset field
+    SETHYDROSTATICMASK - establish ocean_levelset field
 
    Determines grounded and floating ice position based on
@@ -20,11 +20,11 @@
 
     # grounded ice level set
-    md.mask.groundedice_levelset = md.geometry.thickness + md.geometry.bed * md.materials.rho_water / md.materials.rho_ice
+    md.mask.ocean_levelset = md.geometry.thickness + md.geometry.bed * md.materials.rho_water / md.materials.rho_ice
 
     #Check consistency of geometry
-    if any(md.geometry.base[np.nonzero(md.mask.groundedice_levelset > 0.)] != md.geometry.bed[np.nonzero(md.mask.groundedice_levelset > 0.)]):
+    if any(md.geometry.base[np.nonzero(md.mask.ocean_levelset > 0.)] != md.geometry.bed[np.nonzero(md.mask.ocean_levelset > 0.)]):
         print("WARNING: md.geometry.bed and md.geometry.base not equal on grounded ice")
 
-    if any(md.geometry.base[np.nonzero(md.mask.groundedice_levelset <= 0.)] < md.geometry.bed[np.nonzero(md.mask.groundedice_levelset <= 0.)]):
+    if any(md.geometry.base[np.nonzero(md.mask.ocean_levelset <= 0.)] < md.geometry.bed[np.nonzero(md.mask.ocean_levelset <= 0.)]):
         print("WARNING: md.geometry.base < md.geometry.bed on floating ice")
 
Index: /issm/trunk-jpl/src/m/parameterization/setmask.m
===================================================================
--- /issm/trunk-jpl/src/m/parameterization/setmask.m	(revision 24860)
+++ /issm/trunk-jpl/src/m/parameterization/setmask.m	(revision 24861)
@@ -53,6 +53,6 @@
 
 %level sets
-md.mask.groundedice_levelset=vertexongroundedice;
-md.mask.groundedice_levelset(find(vertexongroundedice==0.))=-1.;
+md.mask.ocean_levelset=vertexongroundedice;
+md.mask.ocean_levelset(find(vertexongroundedice==0.))=-1.;
 
 if(nargin>3)
Index: /issm/trunk-jpl/src/m/parameterization/setmask.py
===================================================================
--- /issm/trunk-jpl/src/m/parameterization/setmask.py	(revision 24860)
+++ /issm/trunk-jpl/src/m/parameterization/setmask.py	(revision 24861)
@@ -56,6 +56,6 @@
 
     #level sets
-    md.mask.groundedice_levelset = -1. * np.ones(md.mesh.numberofvertices)
-    md.mask.groundedice_levelset[md.mesh.elements[np.nonzero(elementongroundedice), :] - 1] = 1.
+    md.mask.ocean_levelset = -1. * np.ones(md.mesh.numberofvertices)
+    md.mask.ocean_levelset[md.mesh.elements[np.nonzero(elementongroundedice), :] - 1] = 1.
 
     if(len(args)):
Index: /issm/trunk-jpl/src/m/regional/BasinConstrainShelf.m
===================================================================
--- /issm/trunk-jpl/src/m/regional/BasinConstrainShelf.m	(revision 24860)
+++ /issm/trunk-jpl/src/m/regional/BasinConstrainShelf.m	(revision 24861)
@@ -66,5 +66,5 @@
 
 %iceshelves: any vertex on floating ice is spc'd
-pos=find(md.mask.groundedice_levelset<0.);
+pos=find(md.mask.ocean_levelset<0.);
 md.stressbalance.spcvx(pos)=md.inversion.vx_obs(pos); 
 md.stressbalance.spcvy(pos)=md.inversion.vy_obs(pos); 
