Index: /issm/trunk-jpl/src/m/classes/mesh2dvertical.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/mesh2dvertical.m	(revision 16394)
+++ /issm/trunk-jpl/src/m/classes/mesh2dvertical.m	(revision 16395)
@@ -19,4 +19,5 @@
 		vertexonboundary            = NaN
 		vertexonbed                 = NaN
+		vertexonsurface             = NaN
 
 		edges                       = NaN
@@ -67,4 +68,5 @@
 			md = checkfield(md,'mesh.numberofvertices','>',0);
 			md = checkfield(md,'mesh.vertexonbed','size',[md.mesh.numberofvertices 1],'values',[0 1]);
+			md = checkfield(md,'mesh.vertexonsurface','size',[md.mesh.numberofvertices 1],'values',[0 1]);
 			md = checkfield(md,'mesh.average_vertex_connectivity','>=',9,'message','''mesh.average_vertex_connectivity'' should be at least 9 in 2d');
 
@@ -89,4 +91,5 @@
 			fielddisplay(obj,'vertexonboundary','vertices on the boundary of the domain flag list');
 			fielddisplay(obj,'vertexonbed','vertices on the bed of the domain flag list');
+			fielddisplay(obj,'vertexonsurface','vertices on the surface of the domain flag list');
 			fielddisplay(obj,'segments','edges on domain boundary (vertex1 vertex2 element)');
 			fielddisplay(obj,'segmentmarkers','number associated to each segment');
@@ -109,4 +112,5 @@
 			WriteData(fid,'object',obj,'class','mesh','fieldname','numberofvertices','format','Integer');
 			WriteData(fid,'object',obj,'class','mesh','fieldname','vertexonbed','format','BooleanMat','mattype',1);
+			WriteData(fid,'object',obj,'class','mesh','fieldname','vertexonsurface','format','BooleanMat','mattype',1);
 			WriteData(fid,'object',obj,'class','mesh','fieldname','average_vertex_connectivity','format','Integer');
 		end % }}}
Index: /issm/trunk-jpl/src/m/contrib/dassflow/importgmsh.m
===================================================================
--- /issm/trunk-jpl/src/m/contrib/dassflow/importgmsh.m	(revision 16394)
+++ /issm/trunk-jpl/src/m/contrib/dassflow/importgmsh.m	(revision 16395)
@@ -87,2 +87,4 @@
 md.mesh.vertexonbed=zeros(md.mesh.numberofvertices,1);
 md.mesh.vertexonbed(find(vertexflags(md.mesh,1)))=1;
+md.mesh.vertexonsurface=zeros(md.mesh.numberofvertices,1);
+md.mesh.vertexonsurface(find(vertexflags(md.mesh,3)))=1;
Index: /issm/trunk-jpl/src/m/mesh/bamgflowband.m
===================================================================
--- /issm/trunk-jpl/src/m/mesh/bamgflowband.m	(revision 16394)
+++ /issm/trunk-jpl/src/m/mesh/bamgflowband.m	(revision 16395)
@@ -33,2 +33,4 @@
 md.mesh.vertexonbed=zeros(md.mesh.numberofvertices,1);
 md.mesh.vertexonbed(find(vertexflags(md.mesh,1)))=1;
+md.mesh.vertexonsurface=zeros(md.mesh.numberofvertices,1);
+md.mesh.vertexonsurface(find(vertexflags(md.mesh,3)))=1;
