Index: /issm/trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.m
===================================================================
--- /issm/trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.m	(revision 15986)
+++ /issm/trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.m	(revision 15987)
@@ -27,6 +27,5 @@
 else
 	%Guess where the ice front is
-	vertexonfloatingice=zeros(md.mesh.numberofvertices,1);
-	vertexonfloatingice(md.mesh.elements(find(md.mask.elementonfloatingice),:))=1;
+	vertexonfloatingice=(md.mask.groundedice_levelset<0.);
 	vertexonicefront=double(md.mesh.vertexonboundary & vertexonfloatingice);
 end
@@ -97,5 +96,5 @@
 	if (length(md.basalforcings.geothermalflux)~=md.mesh.numberofvertices),
 		md.basalforcings.geothermalflux=zeros(md.mesh.numberofvertices,1);
-		md.basalforcings.geothermalflux(find(md.mask.vertexongroundedice))=50.*10.^-3; %50mW/m2
+		md.basalforcings.geothermalflux(find(md.mask.groundedice_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 15986)
+++ /issm/trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.py	(revision 15987)
@@ -31,6 +31,5 @@
 	else:
 		#Guess where the ice front is
-		vertexonfloatingice=numpy.zeros((md.mesh.numberofvertices),bool)
-		vertexonfloatingice[md.mesh.elements[numpy.nonzero(md.mask.elementonfloatingice),:]-1]=True
+		vertexonfloatingice=numpy.logical(md.mask.groundedice_levelset<0.)
 		vertexonicefront=numpy.logical_and(md.mesh.vertexonboundary,vertexonfloatingice)
 
@@ -104,5 +103,5 @@
 		if not isinstance(md.basalforcings.geothermalflux,numpy.ndarray) or not numpy.size(md.basalforcings.geothermalflux,axis=0)==md.mesh.numberofvertices:
 			md.basalforcings.geothermalflux=numpy.zeros((md.mesh.numberofvertices,1))
-			md.basalforcings.geothermalflux[numpy.nonzero(md.mask.vertexongroundedice)]=50.*10.**-3    #50mW/m2
+			md.basalforcings.geothermalflux[numpy.nonzero(md.mask.groundedice_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 15986)
+++ /issm/trunk-jpl/src/m/classes/flowequation.m	(revision 15987)
@@ -104,5 +104,5 @@
 			if ismember(StressbalanceSIAAnalysisEnum(),analyses),
 				if any(obj.element_equation==1),
-					if(obj.element_equation & md.mask.elementonfloatingice),
+					if(obj.vertex_equation & md.mask.groundedice_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 15986)
+++ /issm/trunk-jpl/src/m/classes/flowequation.py	(revision 15987)
@@ -90,5 +90,5 @@
 		if StressbalanceSIAAnalysisEnum() in analyses:
 			if any(self.element_equation==1):
-				if numpy.any(numpy.logical_and(self.element_equation,md.mask.elementonfloatingice)):
+				if numpy.any(numpy.logical_and(self.vertex_equation,md.mask.groundedice_levelset)):
 					print "\n !!! Warning: SIA's model is not consistent on ice shelves !!!\n"
 
Index: /issm/trunk-jpl/src/m/classes/groundingline.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/groundingline.m	(revision 15986)
+++ /issm/trunk-jpl/src/m/classes/groundingline.m	(revision 15987)
@@ -35,9 +35,9 @@
 					md = checkmessage(md,['requesting grounding line migration, but bathymetry is absent!']);
 				end
-				pos=find(md.mask.vertexongroundedice);
+				pos=find(md.mask.groundedice_levelset>0.);
 				if any(abs(md.geometry.bed(pos)-md.geometry.bathymetry(pos))>10^-10),
 					md = checkmessage(md,['bathymetry not equal to bed on grounded ice!']);
 				end
-				pos=find(md.mask.vertexonfloatingice);
+				pos=find(md.mask.groundedice_levelset<0.);
 				if any(md.geometry.bathymetry(pos)-md.geometry.bed(pos)>10^-9),
 					md = checkmessage(md,['bathymetry superior to bed on floating ice!']);
Index: /issm/trunk-jpl/src/m/classes/groundingline.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/groundingline.py	(revision 15986)
+++ /issm/trunk-jpl/src/m/classes/groundingline.py	(revision 15987)
@@ -47,8 +47,8 @@
 			if numpy.any(numpy.isnan(md.geometry.bathymetry)):
 				md.checkmessage("requesting grounding line migration, but bathymetry is absent!")
-			pos=numpy.nonzero(md.mask.vertexongroundedice)
+			pos=numpy.nonzero(md.mask.groundedice_levelset>0.)
 			if any(numpy.abs(md.geometry.bed[pos]-md.geometry.bathymetry[pos])>10**-10):
 				md.checkmessage("bathymetry not equal to bed on grounded ice!")
-			pos=numpy.nonzero(md.mask.vertexonfloatingice)
+			pos=numpy.nonzero(md.mask.groundedice_levelset<0.)
 			if any(md.geometry.bathymetry[pos]-md.geometry.bed[pos]>10**-9):
 				md.checkmessage("bathymetry superior to bed on floating ice!")
Index: /issm/trunk-jpl/src/m/classes/mask.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/mask.m	(revision 15986)
+++ /issm/trunk-jpl/src/m/classes/mask.m	(revision 15987)
@@ -6,9 +6,4 @@
 classdef mask
 	properties (SetAccess=public) 
-		elementonfloatingice = NaN;
-		elementongroundedice = NaN;
-		vertexonfloatingice  = NaN;
-		vertexongroundedice  = NaN;
-		vertexonrock         = NaN;
 		groundedice_levelset = NaN;
 		ice_levelset         = NaN;
@@ -28,8 +23,4 @@
 		function md = checkconsistency(obj,md,solution,analyses) % {{{
 
-			md = checkfield(md,'mask.elementonfloatingice','size',[md.mesh.numberofelements 1],'values',[0 1]);
-			md = checkfield(md,'mask.elementongroundedice','size',[md.mesh.numberofelements 1],'values',[0 1]);
-			md = checkfield(md,'mask.vertexonfloatingice' ,'size',[md.mesh.numberofvertices 1],'values',[0 1]);
-			md = checkfield(md,'mask.vertexongroundedice' ,'size',[md.mesh.numberofvertices 1],'values',[0 1]);
 			md = checkfield(md,'mask.groundedice_levelset','size',[md.mesh.numberofvertices 1]);
 			md = checkfield(md,'mask.ice_levelset'        ,'size',[md.mesh.numberofvertices 1]);
@@ -38,14 +29,8 @@
 				error('elements with no ice not implemented yet, each element should have at least one vertex with md.mask.ice_levelset > 0');
 			end
-			%md = checkfield(md,'mask.vertexonrock'      ,'size',[md.mesh.numberofvertices 1],'values',[0 1]);
 		end % }}}
 		function disp(obj) % {{{
 			disp(sprintf('   masks:'));
 
-			fielddisplay(obj,'elementonfloatingice','element on floating ice flags list');
-			fielddisplay(obj,'vertexonfloatingice','vertex on floating ice flags list');
-			fielddisplay(obj,'elementongroundedice','element on grounded ice  list');
-			fielddisplay(obj,'vertexongroundedice','vertex on grounded ice flags list');
-			fielddisplay(obj,'vertexonrock','vertex on rock flags list');
 			fielddisplay(obj,'groundedice_levelset','is ice grounded ? grounded ice if > 0, grounding line position if = 0, floating ice if < 0');
 			fielddisplay(obj,'ice_levelset','presence of ice if > 0, icefront position if = 0, no ice if < 0');
Index: /issm/trunk-jpl/src/m/classes/mask.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/mask.py	(revision 15986)
+++ /issm/trunk-jpl/src/m/classes/mask.py	(revision 15987)
@@ -13,8 +13,4 @@
 
 	def __init__(self): # {{{
-		self.elementonfloatingice = float('NaN')
-		self.elementongroundedice = float('NaN')
-		self.vertexonfloatingice  = float('NaN')
-		self.vertexongroundedice  = float('NaN')
 		self.ice_levelset         = float('NaN')
 		self.groundedice_levelset = float('NaN')
@@ -27,8 +23,4 @@
 		string="   masks:"
 
-		string="%s\n%s"%(string,fielddisplay(self,"elementonfloatingice","element on floating ice flags list"))
-		string="%s\n%s"%(string,fielddisplay(self,"vertexonfloatingice","vertex on floating ice flags list"))
-		string="%s\n%s"%(string,fielddisplay(self,"elementongroundedice","element on grounded ice list"))
-		string="%s\n%s"%(string,fielddisplay(self,"vertexongroundedice","vertex on grounded ice flags list"))
 		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,"ice_levelset","presence of ice if > 0, icefront position if = 0, no ice if < 0"))
@@ -40,9 +32,4 @@
 	def checkconsistency(self,md,solution,analyses):    # {{{
 
-		md = checkfield(md,'mask.elementonfloatingice','size',[md.mesh.numberofelements],'values',[0,1])
-		md = checkfield(md,'mask.elementongroundedice','size',[md.mesh.numberofelements],'values',[0,1])
-		md = checkfield(md,'mask.vertexonfloatingice' ,'size',[md.mesh.numberofvertices],'values',[0,1])
-		md = checkfield(md,'mask.vertexongroundedice' ,'size',[md.mesh.numberofvertices],'values',[0,1])
-		md = checkfield(md,'mask.groundedice_levelset','size',[md.mesh.numberofvertices])
 		md = checkfield(md,'mask.ice_levelset'        ,'size',[md.mesh.numberofvertices])
 		isice=numpy.array(md.mask.ice_levelset>0,int)
Index: /issm/trunk-jpl/src/m/classes/model/model.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/model/model.m	(revision 15986)
+++ /issm/trunk-jpl/src/m/classes/model/model.m	(revision 15987)
@@ -209,11 +209,4 @@
 			md.mesh.vertexonboundary=project2d(md,md.mesh.vertexonboundary,1);
 			md.mesh.elementconnectivity=project2d(md,md.mesh.elementconnectivity,1);
-			md.mask.elementonfloatingice=project2d(md,md.mask.elementonfloatingice,1);
-			md.mask.vertexonfloatingice=project2d(md,md.mask.vertexonfloatingice,1);
-			md.mask.elementongroundedice=project2d(md,md.mask.elementongroundedice,1);
-			md.mask.vertexongroundedice=project2d(md,md.mask.vertexongroundedice,1);
-			if ~isnan(md.mask.vertexonrock)
-				md.mask.vertexonrock=project2d(md,md.mask.vertexonrock,1);
-			end
 			md.mask.groundedice_levelset=project2d(md,md.mask.groundedice_levelset,1);
 			md.mask.ice_levelset=project2d(md,md.mask.ice_levelset,1);
@@ -264,5 +257,4 @@
 			%   Examples:
 			%      md2=extract(md,'Domain.exp');
-			%      md2=extract(md,md.mask.elementonfloatingice);
 			%
 			%   See also: EXTRUDE, COLLAPSE
@@ -738,9 +730,4 @@
 			md.geometry.bathymetry=project3d(md,'vector',md.geometry.bathymetry,'type','node');
 			md.mesh.vertexonboundary=project3d(md,'vector',md.mesh.vertexonboundary,'type','node');
-			md.mask.elementonfloatingice=project3d(md,'vector',md.mask.elementonfloatingice,'type','element');
-			md.mask.vertexonfloatingice=project3d(md,'vector',md.mask.vertexonfloatingice,'type','node');
-			md.mask.elementongroundedice=project3d(md,'vector',md.mask.elementongroundedice,'type','element');
-			md.mask.vertexongroundedice=project3d(md,'vector',md.mask.vertexongroundedice,'type','node');
-			md.mask.vertexonrock=project3d(md,'vector',md.mask.vertexonrock,'type','node');
 			md.mask.groundedice_levelset=project3d(md,'vector',md.mask.groundedice_levelset,'type','node');
 			md.mask.ice_levelset=project3d(md,'vector',md.mask.ice_levelset,'type','node');
@@ -794,6 +781,4 @@
 			if isfield(structmd,'gridonsurface'), md.mesh.vertexonsurface=structmd.gridonsurface; end
 			if isfield(structmd,'extractedgrids'), md.mesh.extractedvertices=structmd.extractedgrids; end
-			if isfield(structmd,'gridoniceshelf'), md.mask.vertexonfloatingice=structmd.gridoniceshelf; end
-			if isfield(structmd,'gridonicesheet'), md.mask.vertexongroundedice=structmd.gridonicesheet; end
 			if isfield(structmd,'gridonboundary'), md.mesh.vertexonboundary=structmd.gridonboundary; end
 			if isfield(structmd,'petscoptions') & ~isempty(structmd.petscoptions), md.toolkits=structmd.petscoptions; end
@@ -845,8 +830,4 @@
 			if isfield(structmd,'rheology_B'), md.materials.rheology_B=structmd.rheology_B; end
 			if isfield(structmd,'rheology_n'), md.materials.rheology_n=structmd.rheology_n; end
-			if isfield(structmd,'elementoniceshelf'), md.mask.elementonfloatingice=structmd.elementoniceshelf; end
-			if isfield(structmd,'elementonicesheet'), md.mask.elementongroundedice=structmd.elementonicesheet; end
-			if isfield(structmd,'nodeoniceshelf'), md.mask.vertexonfloatingice=structmd.nodeoniceshelf; end
-			if isfield(structmd,'nodeonicesheet'), md.mask.vertexongroundedice=structmd.nodeonicesheet; end
 			if isfield(structmd,'spcthickness'), md.balancethickness.spcthickness=structmd.spcthickness; end
 			if isfield(structmd,'artificial_diffusivity'), md.balancethickness.stabilization=structmd.artificial_diffusivity; end
Index: /issm/trunk-jpl/src/m/classes/model/model.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/model/model.py	(revision 15986)
+++ /issm/trunk-jpl/src/m/classes/model/model.py	(revision 15987)
@@ -185,5 +185,4 @@
 		   Examples:
 		      md2=extract(md,'Domain.exp');
-		      md2=extract(md,md.mask.elementonfloatingice);
 
 		   See also: EXTRUDE, COLLAPSE
@@ -637,8 +636,4 @@
 		md.geometry.bathymetry=project3d(md,'vector',md.geometry.bathymetry,'type','node')
 		md.mesh.vertexonboundary=project3d(md,'vector',md.mesh.vertexonboundary,'type','node')
-		md.mask.elementonfloatingice=project3d(md,'vector',md.mask.elementonfloatingice,'type','element')
-		md.mask.vertexonfloatingice=project3d(md,'vector',md.mask.vertexonfloatingice,'type','node')
-		md.mask.elementongroundedice=project3d(md,'vector',md.mask.elementongroundedice,'type','element')
-		md.mask.vertexongroundedice=project3d(md,'vector',md.mask.vertexongroundedice,'type','node')
 		md.mask.ice_levelset=project3d(md,'vector',md.mask.ice_levelset,'type','node')
 		md.mask.groundedice_levelset=project3d(md,'vector',md.mask.groundedice_levelset,'type','node')
Index: /issm/trunk-jpl/src/m/classes/modellist.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/modellist.m	(revision 15986)
+++ /issm/trunk-jpl/src/m/classes/modellist.m	(revision 15987)
@@ -23,5 +23,5 @@
 			%
 			%   Examples:
-			%      md_list=modelsextract(md,md.mask.elementonfloatingice,1000);
+			%      md_list=modelsextract(md...,,1000);
 			%
 			%   See also: EXTRUDE, COLLAPSE, MODELEXTRACT
Index: /issm/trunk-jpl/src/m/classes/oldclasses/diagnostic.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/oldclasses/diagnostic.m	(revision 15986)
+++ /issm/trunk-jpl/src/m/classes/oldclasses/diagnostic.m	(revision 15987)
@@ -64,56 +64,4 @@
 			 obj.rift_penalty_lock=10;
 
-		end % }}}
-		function md = checkconsistency(obj,md,solution,analyses) % {{{
-
-			%Early return
-			if ~ismember(StressbalanceAnalysisEnum(),analyses), return; end
-			%if ~ismember(StressbalanceAnalysisEnum(),analyses) |  (solution==TransientSolutionEnum() & md.transient.isdiagnostic==0), return; end
-
-			md = checkfield(md,'diagnostic.spcvx','forcing',1);
-			md = checkfield(md,'diagnostic.spcvy','forcing',1);
-			if md.mesh.dimension==3, md = checkfield(md,'diagnostic.spcvz','forcing',1); end
-			md = checkfield(md,'diagnostic.restol','size',[1 1],'>',0,'NaN',1);
-			md = checkfield(md,'diagnostic.reltol','size',[1 1]);
-			md = checkfield(md,'diagnostic.abstol','size',[1 1]);
-			md = checkfield(md,'diagnostic.isnewton','numel',[1],'values',[0 1 2]);
-			md = checkfield(md,'diagnostic.FSreconditioning','size',[1 1],'NaN',1);
-			md = checkfield(md,'diagnostic.viscosity_overshoot','size',[1 1],'NaN',1);
-			if md.mesh.dimension==2,
-				md = checkfield(md,'diagnostic.icefront','size',[NaN 4],'NaN',1);
-			else
-				md = checkfield(md,'diagnostic.icefront','size',[NaN 6],'NaN',1);
-			end
-			md = checkfield(md,'diagnostic.icefront(:,end)','values',[0 1 2]);
-			md = checkfield(md,'diagnostic.maxiter','size',[1 1],'>=',1);
-			md = checkfield(md,'diagnostic.referential','size',[md.mesh.numberofvertices 6]);
-			md = checkfield(md,'diagnostic.loadingforce','size',[md.mesh.numberofvertices 3]);
-			if ~isempty(md.diagnostic.requested_outputs),
-				md = checkfield(md,'diagnostic.requested_outputs','size',[NaN 1]);
-			end
-
-			%singular solution
-			if ~(any(~isnan(md.diagnostic.spcvx)) & any(~isnan(md.diagnostic.spcvy))),
-				md = checkmessage(md,['model is not well posed (singular). You need at least one node with fixed velocity!']);
-			end
-			%CHECK THAT EACH LINES CONTAINS ONLY NAN VALUES OR NO NAN VALUES
-			if any(sum(isnan(md.diagnostic.referential),2)~=0 & sum(isnan(md.diagnostic.referential),2)~=6),
-				md = checkmessage(md,['Each line of diagnostic.referential should contain either only NaN values or no NaN values']);
-			end
-			%CHECK THAT THE TWO VECTORS PROVIDED ARE ORTHOGONAL
-			if any(sum(isnan(md.diagnostic.referential),2)==0),
-				pos=find(sum(isnan(md.diagnostic.referential),2)==0);
-				if any(abs(dot(md.diagnostic.referential(pos,1:3),md.diagnostic.referential(pos,4:6),2))>eps),
-					md = checkmessage(md,['Vectors in diagnostic.referential (columns 1 to 3 and 4 to 6) must be orthogonal']);
-				end
-			end
-			%CHECK THAT NO rotation specified for FS Grounded ice at base
-			if md.mesh.dimension==3 & md.flowequation.isFS,
-				pos=find(md.mask.vertexongroundedice & md.mesh.vertexonbed);
-				if any(~isnan(md.diagnostic.referential(pos,:))),
-					md = checkmessage(md,['no referential should be specified for basal vertices of grounded ice']);
-				end
-				md = checkfield(md,'diagnostic.FSreconditioning','>',0);
-			end
 		end % }}}
 		function disp(obj) % {{{
Index: /issm/trunk-jpl/src/m/classes/stressbalance.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/stressbalance.m	(revision 15986)
+++ /issm/trunk-jpl/src/m/classes/stressbalance.m	(revision 15987)
@@ -112,5 +112,5 @@
 			%CHECK THAT NO rotation specified for FS Grounded ice at base
 			if md.mesh.dimension==3 & md.flowequation.isFS,
-				pos=find(md.mask.vertexongroundedice & md.mesh.vertexonbed);
+				pos=find(md.mask.groundedice_levelset>0. & md.mesh.vertexonbed);
 				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 15986)
+++ /issm/trunk-jpl/src/m/classes/stressbalance.py	(revision 15987)
@@ -147,5 +147,5 @@
 #		if md.mesh.dimension==3 & md.flowequation.isFS,
 		if md.mesh.dimension==3 and md.flowequation.isFS:
-			pos=numpy.nonzero(numpy.logical_and(md.mask.vertexongroundedice,md.mesh.vertexonbed))
+			pos=numpy.nonzero(numpy.logical_and(md.mask.groundedice_levelset,md.mesh.vertexonbed))
 			if numpy.any(numpy.logical_not(numpy.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/ecco/MeltingGroundingLines.m
===================================================================
--- /issm/trunk-jpl/src/m/contrib/ecco/MeltingGroundingLines.m	(revision 15986)
+++ /issm/trunk-jpl/src/m/contrib/ecco/MeltingGroundingLines.m	(revision 15987)
@@ -7,5 +7,5 @@
 
 %get nodes on ice sheet and on ice shelf
-pos_shelf=find(~md.mask.vertexongroundedice);
+pos_shelf=find(md.mask.groundedice_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/geometry/FlagElements.m
===================================================================
--- /issm/trunk-jpl/src/m/geometry/FlagElements.m	(revision 15986)
+++ /issm/trunk-jpl/src/m/geometry/FlagElements.m	(revision 15987)
@@ -12,5 +12,4 @@
 %      flag=FlagElements(md,'Domain.exp');
 %      flag=FlagElements(md,'~Domain.exp');
-%      flag=FlagElements(md,md.mask.elementongroundedice);
 
 	if ischar(region),
Index: /issm/trunk-jpl/src/m/geometry/FlagElements.py
===================================================================
--- /issm/trunk-jpl/src/m/geometry/FlagElements.py	(revision 15986)
+++ /issm/trunk-jpl/src/m/geometry/FlagElements.py	(revision 15987)
@@ -20,5 +20,4 @@
 	      flag=FlagElements(md,'Domain.exp');
 	      flag=FlagElements(md,'~Domain.exp');
-	      flag=FlagElements(md,md.mask.elementongroundedice);
 	"""
 
Index: /issm/trunk-jpl/src/m/geometry/ThicknessCorrection.m
===================================================================
--- /issm/trunk-jpl/src/m/geometry/ThicknessCorrection.m	(revision 15986)
+++ /issm/trunk-jpl/src/m/geometry/ThicknessCorrection.m	(revision 15987)
@@ -23,5 +23,5 @@
 
 %get nodes on ice sheet and on ice shelf
-pos_shelf=find(~md.mask.vertexongroundedice);
+pos_shelf=find(md.mask.groundedice_levelset<0.);
 pos_GL=intersect(unique(md.mesh.elements(find(md.mask.elementongroundedice),:)),unique(md.mesh.elements(find(md.mask.elementonfloatingice),:)));
 debug=(length(pos_shelf)>50000);
Index: /issm/trunk-jpl/src/m/parameterization/contourenvelope.m
===================================================================
--- /issm/trunk-jpl/src/m/parameterization/contourenvelope.m	(revision 15986)
+++ /issm/trunk-jpl/src/m/parameterization/contourenvelope.m	(revision 15987)
@@ -7,5 +7,4 @@
 %   Example:
 %      segments=contourenvelope(md,'Stream.exp');
-%      segments=contourenvelope(md,md.mask.elementonfloatingice)
 %      segments=contourenvelope(md);
 
Index: /issm/trunk-jpl/src/m/parameterization/contourenvelope.py
===================================================================
--- /issm/trunk-jpl/src/m/parameterization/contourenvelope.py	(revision 15986)
+++ /issm/trunk-jpl/src/m/parameterization/contourenvelope.py	(revision 15987)
@@ -15,5 +15,4 @@
 	   Example:
 	      segments=contourenvelope(md,'Stream.exp');
-	      segments=contourenvelope(md,md.mask.elementonfloatingice)
 	      segments=contourenvelope(md);
 	"""
Index: /issm/trunk-jpl/src/m/parameterization/setflowequation.m
===================================================================
--- /issm/trunk-jpl/src/m/parameterization/setflowequation.m	(revision 15986)
+++ /issm/trunk-jpl/src/m/parameterization/setflowequation.m	(revision 15987)
@@ -17,5 +17,4 @@
 %
 %   Example:
-%      md=setflowequation(md,'HO','HO.exp','SSA',md.mask.elementonfloatingice,'fill','SIA');
 %      md=setflowequation(md,'HO','HO.exp',fill','SIA','coupling','tiling');
 
Index: /issm/trunk-jpl/src/m/parameterization/setflowequation.py
===================================================================
--- /issm/trunk-jpl/src/m/parameterization/setflowequation.py	(revision 15986)
+++ /issm/trunk-jpl/src/m/parameterization/setflowequation.py	(revision 15987)
@@ -24,5 +24,4 @@
 
 	   Example:
-	      md=setflowequation(md,'HO','HO.exp','SSA',md.mask.elementonfloatingice,'fill','SIA');
 	      md=setflowequation(md,'HO','HO.exp',fill','SIA','coupling','tiling');
 	"""
Index: /issm/trunk-jpl/src/m/parameterization/setmask.m
===================================================================
--- /issm/trunk-jpl/src/m/parameterization/setmask.m	(revision 15986)
+++ /issm/trunk-jpl/src/m/parameterization/setmask.m	(revision 15987)
@@ -41,10 +41,4 @@
 %}}}
 
-%Return: 
-md.mask.elementonfloatingice=elementonfloatingice;
-md.mask.vertexonfloatingice=vertexonfloatingice;
-md.mask.elementongroundedice=elementongroundedice;
-md.mask.vertexongroundedice=vertexongroundedice;
-
 %level sets
 md.mask.ice_levelset=ones(md.mesh.numberofvertices,1);
Index: /issm/trunk-jpl/src/m/parameterization/setmask.py
===================================================================
--- /issm/trunk-jpl/src/m/parameterization/setmask.py	(revision 15986)
+++ /issm/trunk-jpl/src/m/parameterization/setmask.py	(revision 15987)
@@ -41,10 +41,4 @@
 	#}}}
 
-	#Return: 
-	md.mask.elementonfloatingice = elementonfloatingice
-	md.mask.vertexonfloatingice = vertexonfloatingice
-	md.mask.elementongroundedice = elementongroundedice
-	md.mask.vertexongroundedice = vertexongroundedice
-
 	#level sets
 	md.mask.ice_levelset         = numpy.ones(md.mesh.numberofvertices,bool)
Index: /issm/trunk-jpl/src/m/parameterization/setmask2.m
===================================================================
--- /issm/trunk-jpl/src/m/parameterization/setmask2.m	(revision 15986)
+++ /issm/trunk-jpl/src/m/parameterization/setmask2.m	(revision 15987)
@@ -139,10 +139,3 @@
 
 %Return: 
-md.mask.vertexonfloatingice=vertexonfloatingice;
-md.mask.elementonfloatingice=elementonfloatingice;
-md.mask.vertexonwater=vertexonwater;
-md.mask.elementonwater=elementonwater;
-md.mask.vertexongroundedice=vertexongroundedice;
-md.mask.elementongroundedice=elementongroundedice;
-
 md.mesh.segmentmarkers(:)=1;
Index: /issm/trunk-jpl/src/m/regional/BasinConstrainShelf.m
===================================================================
--- /issm/trunk-jpl/src/m/regional/BasinConstrainShelf.m	(revision 15986)
+++ /issm/trunk-jpl/src/m/regional/BasinConstrainShelf.m	(revision 15987)
@@ -66,5 +66,5 @@
 
 %iceshelves: any vertex on floating ice is spc'd
-pos=find(md.mask.vertexongroundedice);
+pos=find(md.mask.groundedice_levelset<0.);
 md.stressbalance.spcvx(pos)=md.inversion.vx_obs(pos); 
 md.stressbalance.spcvy(pos)=md.inversion.vy_obs(pos); 
