Index: /issm/trunk-jpl/src/m/plot/plot_manager.js
===================================================================
--- /issm/trunk-jpl/src/m/plot/plot_manager.js	(revision 20204)
+++ /issm/trunk-jpl/src/m/plot/plot_manager.js	(revision 20205)
@@ -98,5 +98,5 @@
 				break;
 			case 'mesh':
-				plot_mesh(md,options,canvas,gl,nodes["main"]);
+				plot_mesh(md,options,canvas,gl,canvas.nodes["data"+String(canvas.datalength)]);
 				break;
 			case 'none':
@@ -227,4 +227,4 @@
 	
 	//Draw into the canvas if needed:
-	if (requestDrawing)	draw(gl,options,canvas,canvas.nodes);
+	if (requestDrawing)	draw(gl,options,canvas);
 }
Index: /issm/trunk-jpl/src/m/plot/plot_mesh.js
===================================================================
--- /issm/trunk-jpl/src/m/plot/plot_mesh.js	(revision 20204)
+++ /issm/trunk-jpl/src/m/plot/plot_mesh.js	(revision 20205)
@@ -16,10 +16,14 @@
 	
 	//Process data and model
-	var x = md.mesh.x;
-	var y = md.mesh.y;
-	var z = [].fill(md.mesh.x.length);
-	var elements = md.mesh.elements;
+	var meshresults = processmesh(md,[],options);
+	var x = meshresults[0]; 
+	var y = meshresults[1]; 
+	var z = meshresults[2]; 
+	var elements = meshresults[3]; 
+	var is2d = meshresults[4]; 
+	var isplanet = meshresults[5];
+	var is3d = md.mesh.classname() == 'mesh3dsurface'; //use meshresults once behvaior can be verified
 	
-	if (md.geometry.surface) {
+	if (!is3d && md.geometry.surface) {
 		z = md.geometry.surface;
 	}
Index: /issm/trunk-jpl/src/m/plot/plot_overlay.js
===================================================================
--- /issm/trunk-jpl/src/m/plot/plot_overlay.js	(revision 20204)
+++ /issm/trunk-jpl/src/m/plot/plot_overlay.js	(revision 20205)
@@ -24,5 +24,5 @@
 	var is2d = meshresults[4]; 
 	var isplanet = meshresults[5];
-	var is3d = (md.mesh.classname() == 'mesh3dsurface');	//use is2d/isplanet once verified to work with mesh3dsurface
+	var is3d = (md.mesh.classname() == 'mesh3dsurface'); //use meshresults once behvaior can be verified
 	
 	if (!is3d && md.geometry.surface) {
@@ -50,8 +50,8 @@
 	node["shader"] = gl["shaders"][node["shaderName"]]["program"];
 	node["scale"] = [scale, scale, scale*options.getfieldvalue('heightscale',1)];
-	node["translation"] = [(xmin + xmax) / (-2 / scale), (ymin + ymax) / (-2 / scale), (zmin + zmax) / (2 / scale)];
+	node["translation"] = [(xmin + xmax) / (-2 / scale), (ymin + ymax) / (-2 / scale), (zmin + zmax) / (-2 / scale)];
 	node["modelMatrix"] = recalculateModelMatrix(node);
 	node["texture"] = initTexture(gl,options.getfieldvalue('image'));
-	node["alpha"] = options.getfieldvalue('outeralpha',.9);
+	node["alpha"] = options.getfieldvalue('outeralpha',0.9);
 	node["overlay"] = false;
 	node["drawOrder"] = 1;
Index: /issm/trunk-jpl/src/m/plot/plot_unit.js
===================================================================
--- /issm/trunk-jpl/src/m/plot/plot_unit.js	(revision 20204)
+++ /issm/trunk-jpl/src/m/plot/plot_unit.js	(revision 20205)
@@ -26,5 +26,5 @@
 	var is2d = meshresults[4]; 
 	var isplanet = meshresults[5];
-	var is3d = (md.mesh.classname() == 'mesh3dsurface');	//use is2d/isplanet once verified to work with mesh3dsurface
+	var is3d = md.mesh.classname() == 'mesh3dsurface'; //use meshresults once behvaior can be verified
 	
 	var	dataresults = processdata(md,data,options);
@@ -67,6 +67,4 @@
 	node["enabled"] = options.getfieldvalue('nodata','off') == 'off';
 	
-	console.log(node["translation"]);
-	
 	switch(datatype){
 		//element plot {{{
@@ -95,12 +93,12 @@
 				vertices.itemSize = 3;
 				texcoords.itemSize = 2;
-				var height = vec3.create();
-				var heightscale = options.getfieldvalue('heightscale',1);
+				//var height = vec3.create();
+				//var heightscale = options.getfieldvalue('heightscale',1);
 				for(var i = 0; i < x.length; i++){
-					vec3.normalize(height, vec3.fromValues(x[i], y[i], z[i])); //fix to use normalized earth radius instead of radius+ height
-					vec3.scale(height, height, heightscale);
-					vertices[vertices.length] = x[i] + height[0];
-					vertices[vertices.length] = y[i] + height[1];
-					vertices[vertices.length] = z[i] + height[2];
+					//vec3.normalize(height, vec3.fromValues(x[i], y[i], z[i])); //fix to use normalized earth radius instead of radius+ height
+					//vec3.scale(height, height, heightscale);
+					vertices[vertices.length] = x[i];
+					vertices[vertices.length] = y[i];
+					vertices[vertices.length] = z[i];
 
 					texcoords[texcoords.length] = 0.5;
Index: /issm/trunk-jpl/src/m/plot/webgl.js
===================================================================
--- /issm/trunk-jpl/src/m/plot/webgl.js	(revision 20204)
+++ /issm/trunk-jpl/src/m/plot/webgl.js	(revision 20205)
@@ -38,5 +38,5 @@
 	canvas.zoomLast = canvas.zoomFactor;
 	canvas.cameraMatrix = mat4.create();
-	canvas.translation = options.getfieldvalue('centeroffset',[0,0,0.25]);
+	canvas.translation = options.getfieldvalue('centeroffset',[0,0,0.0]);
 	canvas.rotationAzimuthBounds = options.getfieldvalue('azimuthbounds',[0,360]);
 	canvas.rotationElevationBounds = options.getfieldvalue('elevationbounds',[-180,180]);
@@ -477,4 +477,5 @@
 		
 	// Skip drawing of new frame if any texture is not yet loaded
+	var nodes = canvas.nodes;
 	for (var node in nodes) {
 		if (nodes[node]["texture"] && !nodes[node]["texture"]["isLoaded"]) {
