Index: /issm/trunk-jpl/src/m/classes/flowequation.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/flowequation.m	(revision 16331)
+++ /issm/trunk-jpl/src/m/classes/flowequation.m	(revision 16332)
@@ -94,4 +94,7 @@
 					md = checkfield(md,'flowequation.vertex_equation','size',[md.mesh.numberofvertices 1],'values',[1:2]);
 					md = checkfield(md,'flowequation.element_equation','size',[md.mesh.numberofelements 1],'values',[1:2]);
+				elseif strcmp(meshtype(md.mesh),'2Dvertical')
+					md = checkfield(md,'flowequation.vertex_equation','size',[md.mesh.numberofvertices 1],'values',[4]);
+					md = checkfield(md,'flowequation.element_equation','size',[md.mesh.numberofelements 1],'values',[4]);
 				elseif strcmp(meshtype(md.mesh),'3D'),
 					md = checkfield(md,'flowequation.vertex_equation','size',[md.mesh.numberofvertices 1],'values',[0:8]);
Index: /issm/trunk-jpl/src/m/classes/geometry.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/geometry.m	(revision 16331)
+++ /issm/trunk-jpl/src/m/classes/geometry.m	(revision 16332)
@@ -26,4 +26,8 @@
 		function md = checkconsistency(obj,md,solution,analyses) % {{{
 
+			if strcmp(meshtype(md.mesh),'2Dvertical'),
+				return;
+			end
+
 			if (solution==TransientSolutionEnum() & md.transient.isgia) | (solution==GiaSolutionEnum()),
 				md = checkfield(md,'geometry.thickness','forcing',1,'NaN',1,'>=',0);
@@ -51,4 +55,7 @@
 		end % }}}
 		function marshall(obj,md,fid) % {{{
+			if strcmp(meshtype(md.mesh),'2Dvertical'),
+				return;
+			end
 			WriteData(fid,'data',obj.surface,'format','DoubleMat','mattype',1,'enum',SurfaceEnum());
 			WriteData(fid,'data',obj.thickness,'format','DoubleMat','mattype',1,'enum',ThicknessEnum(),'forcinglength',md.mesh.numberofvertices+1);
Index: /issm/trunk-jpl/src/m/classes/mesh2dvertical.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/mesh2dvertical.m	(revision 16331)
+++ /issm/trunk-jpl/src/m/classes/mesh2dvertical.m	(revision 16332)
@@ -151,9 +151,5 @@
 			%element data
 			if (datasize(1)==md.mesh.numberofelements & datasize(2)==1),
-
-				%Initialize datatype if non patch
-				if datatype~=4 & datatype~=5,
-					datatype=1;
-				end
+				datatype=1;
 
 				%Mask?
Index: /issm/trunk-jpl/src/m/classes/stressbalance.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/stressbalance.m	(revision 16331)
+++ /issm/trunk-jpl/src/m/classes/stressbalance.m	(revision 16332)
@@ -81,5 +81,5 @@
 			md = checkfield(md,'stressbalance.spcvx','forcing',1);
 			md = checkfield(md,'stressbalance.spcvy','forcing',1);
-			if strcmp(meshtype(md.mesh),'3D'), md = checkfield(md,'stressbalance.spcvz','forcing',1); end
+			md = checkfield(md,'stressbalance.spcvz','forcing',1);
 			md = checkfield(md,'stressbalance.restol','size',[1 1],'>',0,'NaN',1);
 			md = checkfield(md,'stressbalance.reltol','size',[1 1]);
@@ -96,5 +96,5 @@
 
 			%singular solution
-			if ~(any(~isnan(md.stressbalance.spcvx)) & any(~isnan(md.stressbalance.spcvy))),
+			if ~(any(~isnan(md.stressbalance.spcvx)) | any(~isnan(md.stressbalance.spcvy))),
 				md = checkmessage(md,['model is not well posed (singular). You need at least one node with fixed velocity!']);
 			end
Index: /issm/trunk-jpl/src/m/mesh/bamg.m
===================================================================
--- /issm/trunk-jpl/src/m/mesh/bamg.m	(revision 16331)
+++ /issm/trunk-jpl/src/m/mesh/bamg.m	(revision 16332)
@@ -37,4 +37,5 @@
 %   - verbose :           level of verbosity (default is 1)
 %
+%   - vertical :          is this a 2d vertical mesh (flowband, default is 0)
 %   - rifts :             followed by an ARGUS file that prescribes the rifts
 %   - toltip :            tolerance to move tip on an existing point of the domain outline
@@ -100,4 +101,7 @@
 		%update counter
 		count=count+nods;
+	end
+	if numel(getfieldvalue(options,'Markers',[]))==size(bamg_geometry.Edges,1),
+		bamg_geometry.Edges(:,3)=getfieldvalue(options,'Markers');
 	end
 
