Index: /issm/trunk-jpl/src/m/model/plot/applyoptions.m
===================================================================
--- /issm/trunk-jpl/src/m/model/plot/applyoptions.m	(revision 12978)
+++ /issm/trunk-jpl/src/m/model/plot/applyoptions.m	(revision 12979)
@@ -9,6 +9,8 @@
 
 %some defaults
-if strcmpi(md.mesh.hemisphere,'n'), options=addfielddefault(options,'hemisphere','n'); 
-elseif strcmpi(md.mesh.hemisphere,'s'), options=addfielddefault(options,'hemisphere','s'); 
+if isfield(md.mesh,'hemisphere'),
+	if strcmpi(md.mesh.hemisphere,'n'), options=addfielddefault(options,'hemisphere','n'); 
+	elseif strcmpi(md.mesh.hemisphere,'s'), options=addfielddefault(options,'hemisphere','s'); 
+	end
 end
 
Index: /issm/trunk-jpl/src/m/model/plot/processdata.m
===================================================================
--- /issm/trunk-jpl/src/m/model/plot/processdata.m	(revision 12978)
+++ /issm/trunk-jpl/src/m/model/plot/processdata.m	(revision 12979)
@@ -15,4 +15,13 @@
 if (iscell(data) | isempty(data) | length(data)==0 | (length(data)==1 & ~isstruct(data) & isnan(data))),
 	error('plotmodel error message: data provided is empty');
+end
+
+%needed later on
+if isfield(md.mesh,'numberofvertices2d'), 
+	numberofvertices2d=md.mesh.numberofvertices2d; 
+	numberofelements2d=md.mesh.numberofelements2d; 
+else 
+	numberofvertices2d=NaN;
+	numberofelements2d=NaN;
 end
 
@@ -62,8 +71,9 @@
 
 	%check length
-	if datasize(1)~=md.mesh.numberofvertices & datasize(1)~=md.mesh.numberofelements & datasize(1)~=md.mesh.numberofvertices*6 & (md.mesh.dimension==3 & ~(datasize(1)==md.mesh.numberofelements2d | datasize(1)==md.mesh.numberofvertices2d))
+	
+	if datasize(1)~=md.mesh.numberofvertices & datasize(1)~=md.mesh.numberofelements & datasize(1)~=md.mesh.numberofvertices*6 & (md.mesh.dimension==3 & ~(datasize(1)==numberofelements2d | datasize(1)==numberofvertices2d))
 		error('plotmodel error message: data not supported yet');
 	end
-
+	
 	%quiver?
 	if datasize(2)>1,
@@ -93,5 +103,5 @@
 
 	%treat the case datasize(1)=nodes2d
-	if (md.mesh.dimension==3 & datasize(1)==md.mesh.numberofvertices2d),
+	if (md.mesh.dimension==3 & datasize(1)==numberofvertices2d),
 		data=project3d(md,'vector',data,'type','node');
 		datasize(1)=md.mesh.numberofvertices;
@@ -100,5 +110,5 @@
 
 	%treat the case datasize(1)=nodes2d
-	if (md.mesh.dimension==3 & datasize(1)==md.mesh.numberofelements2d),
+	if (md.mesh.dimension==3 & datasize(1)==numberofelements2d),
 		data=project3d(md,'vector',data,'type','element');
 		datasize(1)=md.mesh.numberofelements;
Index: /issm/trunk-jpl/src/m/model/plot/processmesh.m
===================================================================
--- /issm/trunk-jpl/src/m/model/plot/processmesh.m	(revision 12978)
+++ /issm/trunk-jpl/src/m/model/plot/processmesh.m	(revision 12979)
@@ -20,12 +20,12 @@
 	if ~strcmpi(getfieldvalue(options,'coord','xy'),'latlon'),
 		x=md.mesh.x;
-		x2d=md.mesh.x2d;
+		if isfield(md.mesh,'x2d'), x2d=md.mesh.x2d; end
 		y=md.mesh.y;
-		y2d=md.mesh.y2d;
+		if isfield(md.mesh,'y2d'), y2d=md.mesh.y2d; end
 	else
 		x=md.mesh.long;
-		x2d=md.mesh.x2d;
+		%x2d=md.mesh.x2d; this sounds like something that was forgotten
 		y=md.mesh.lat;
-		y2d=md.mesh.y2d;
+		%y2d=md.mesh.y2d;
 	end
 
@@ -40,5 +40,5 @@
 
 
-	elements2d=md.mesh.elements2d;
+	if isfield(md.mesh,'elements2d'), elements2d=md.mesh.elements2d; end
 	elements=md.mesh.elements;
 
