Index: /issm/trunk-jpl/src/m/parameterization/killberg.m
===================================================================
--- /issm/trunk-jpl/src/m/parameterization/killberg.m	(revision 25421)
+++ /issm/trunk-jpl/src/m/parameterization/killberg.m	(revision 25422)
@@ -1,3 +1,2 @@
-%function ice_levelset = killberg(md)
 function ice_levelset = killberg(md)
 %KILLBERG - kill ice berg
@@ -21,9 +20,11 @@
 %do not go through elements that don't have ice, mark flag as 1 (done)
 isice = min(md.mask.ice_levelset(md.mesh.elements),[],2)<0;
+%isice = (sum(md.mask.ice_levelset(md.mesh.elements)<0,2)>1);
 element_flag(find(~isice)) = 1;
 
-%do not go through elements that are grounded, mark flag as 1 (done)
+%do not go through elements that are grounded, mark flag as 1 (done) need at least 2 vertices!
 %and initialize mask as 1 for all vertices of these elements
-isgrounded = max(md.mask.ocean_levelset(md.mesh.elements),[],2)>0;
+isgrounded=(sum(md.mask.ocean_levelset(md.mesh.elements)>0,2)>1);
+%isgrounded = max(md.mask.ocean_levelset(md.mesh.elements),[],2)>0;
 pos = find(isgrounded);
 element_flag(pos) = 1;
@@ -38,6 +39,6 @@
 	for i=find(~element_flag)'
 		indices = md.mesh.elements(i,:);
-		MAX=max(mask(indices));
-		if(MAX==0)
+		test = sum(mask(indices)>0)>1;
+		if(~test)
 			continue;
 		else
@@ -53,5 +54,9 @@
 pos = find(mask==0 & md.mask.ice_levelset<0);
 if numel(pos)
-	disp(['REMOVING ' num2str(numel(pos)) ' vertices on icebergs']);
+	if numel(pos)==1
+		disp(['REMOVING ' num2str(numel(pos)) ' vertex on icebergs']);
+	else
+		disp(['REMOVING ' num2str(numel(pos)) ' vertices on icebergs']);
+	end
 	ice_levelset = md.mask.ice_levelset;
 	ice_levelset(pos) = +1;
