Index: /issm/trunk-jpl/src/m/plot/plot_mesh.js
===================================================================
--- /issm/trunk-jpl/src/m/plot/plot_mesh.js	(revision 20564)
+++ /issm/trunk-jpl/src/m/plot/plot_mesh.js	(revision 20565)
@@ -13,5 +13,5 @@
 	var ymin,ymax;
 	var zmin,zmax;
-	var scale,zscale,surfacescale;
+	var scale,matrixscale,vertexscale;
 	
 	//Process data and model
@@ -24,10 +24,11 @@
 	var isplanet = meshresults[5];
 		
+	//Compue scaling through matrices for 2d meshes and vertices for 3d meshes
 	if (!md.geometry.surface) {
 		md.geometry.surface=NewArrayFill(md.mesh.x.length,0);
 	}
 	if (md.mesh.classname() == 'mesh3dsurface') {
-		zscale = 1;
-		surfacescale = options.getfieldvalue('heightscale',1);
+		matrixscale = 1;
+		vertexscale = options.getfieldvalue('heightscale',1);
 	}
 	else {
@@ -35,6 +36,6 @@
 			z=md.geometry.surface;
 		}	
-		zscale = options.getfieldvalue('heightscale',1);
-		surfacescale = 0;
+		matrixscale = options.getfieldvalue('heightscale',1);
+		vertexscale = 0;
 	}
 	//}}}
@@ -54,9 +55,9 @@
 	zmax = zlim[1];
 
-	//Compute scaling: 
+	//Compute gl variables:
 	var scale = 1 / (xmax - xmin);
 	node["shaderName"] = "colored";
 	node["shader"] = gl["shaders"][node["shaderName"]]["program"];
-	node["scale"] = [scale, scale, scale * zscale];
+	node["scale"] = [scale, scale, scale * matrixscale];
 	node["translation"] = [(xmin + xmax) / (-2 / scale), (ymin + ymax) / (-2 / scale), (zmin + zmax) / (2 / scale)];
 	node["modelMatrix"] = recalculateModelMatrix(node);
@@ -97,5 +98,5 @@
 			//Scale vertices
 			xyz = vec3.fromValues(x[i], y[i], z[i]);
-			magnitude = vec3.length(xyz) + md.geometry.surface[i] * surfacescale;
+			magnitude = vec3.length(xyz) + md.geometry.surface[i] * vertexscale;
 			vec3.normalize(direction, xyz);
 			vec3.scale(vertex, direction, magnitude);
Index: /issm/trunk-jpl/src/m/plot/plot_overlay.js
===================================================================
--- /issm/trunk-jpl/src/m/plot/plot_overlay.js	(revision 20564)
+++ /issm/trunk-jpl/src/m/plot/plot_overlay.js	(revision 20565)
@@ -16,5 +16,5 @@
 	var ymin,ymax;
 	var zmin,zmax;
-	var scale,zscale,surfacescale;
+	var scale,matrixscale,vertexscale;
 
 	//Process data and model
@@ -27,10 +27,11 @@
 	var isplanet = meshresults[5];
 
+	//Compue scaling through matrices for 2d meshes and vertices for 3d meshes
 	if (!md.geometry.surface) {
 		md.geometry.surface=NewArrayFill(md.mesh.x.length,0);
 	}
 	if (md.mesh.classname() == 'mesh3dsurface') {
-		zscale = 1;
-		surfacescale = options.getfieldvalue('heightscale',1);
+		matrixscale = 1;
+		vertexscale = options.getfieldvalue('heightscale',1);
 	}
 	else {
@@ -38,6 +39,6 @@
 			z=md.geometry.surface;
 		}	
-		zscale = options.getfieldvalue('heightscale',1);
-		surfacescale = 0;
+		matrixscale = options.getfieldvalue('heightscale',1);
+		vertexscale = 0;
 	}
 	//}}}
@@ -57,9 +58,9 @@
 	zmax = zlim[1];
 		
-	//Compute scaling: 
+	//Compute gl variables:
 	scale = 1 / (xmax - xmin);
 	node["shaderName"] = "unlit_textured";
 	node["shader"] = gl["shaders"][node["shaderName"]]["program"];
-	node["scale"] = [scale, scale, scale * zscale];
+	node["scale"] = [scale, scale, scale * matrixscale];
 	node["translation"] = [(xmin + xmax) / (-2 / scale), (ymin + ymax) / (-2 / scale), (zmin + zmax) / (2 / scale)];
 	node["modelMatrix"] = recalculateModelMatrix(node);
@@ -118,18 +119,28 @@
 			continue;
 		}
-		//Scale vertices
-		xyz = vec3.fromValues(x[i], y[i], z[i]);
-		magnitude = vec3.length(xyz);
-		vec3.normalize(direction, xyz);
-		vec3.scale(vertex, direction, magnitude);
-		vertices[vertices.length] = vertex[0];
-		vertices[vertices.length] = vertex[1];
-		vertices[vertices.length] = vertex[2];
-		
+
 		if (md.mesh.classname() == 'mesh3dsurface') {
-			texcoords[texcoords.length] = degrees(Math.atan2(y[i], x[i])) / 360 + 0.5;
-			texcoords[texcoords.length] = degrees(Math.asin(z[i] / magnitude)) / 180 + 0.5;
+			//Scale vertices
+			xyz = vec3.fromValues(x[i], y[i], z[i]);
+			magnitude = vec3.length(xyz) + md.geometry.surface[i] * vertexscale;
+			vec3.normalize(direction, xyz);
+			vec3.scale(vertex, direction, magnitude);
+			vertices[vertices.length] = vertex[0];
+			vertices[vertices.length] = vertex[1];
+			vertices[vertices.length] = vertex[2];
+			
+			texcoords[texcoords.length] = degrees(Math.atan2(vertex[1], vertex[0])) / 360 + 0.5;
+			texcoords[texcoords.length] = degrees(Math.asin(vertex[2] / magnitude)) / 180 + 0.5;
 		}
 		else {
+			//Scale vertices
+			xyz = vec3.fromValues(x[i], y[i], z[i]);
+			magnitude = vec3.length(xyz);
+			vec3.normalize(direction, xyz);
+			vec3.scale(vertex, direction, magnitude);
+			vertices[vertices.length] = vertex[0];
+			vertices[vertices.length] = vertex[1];
+			vertices[vertices.length] = vertex[2];
+			
 			texcoords[texcoords.length] = (x[i] - modelxlim[0]) / xrange;
 			texcoords[texcoords.length] = (y[i] - modelylim[0]) / yrange;
Index: /issm/trunk-jpl/src/m/plot/plot_quiver.js
===================================================================
--- /issm/trunk-jpl/src/m/plot/plot_quiver.js	(revision 20564)
+++ /issm/trunk-jpl/src/m/plot/plot_quiver.js	(revision 20565)
@@ -14,5 +14,5 @@
 	var ymin,ymax;
 	var zmin,zmax;
-	var scale,zscale,surfacescale;
+	var scale,matrixscale,vertexscale;
 	
 	//Process data and model
@@ -27,10 +27,11 @@
 	var vy = md.initialization.vy; 
 		
+	//Compue scaling through matrices for 2d meshes and vertices for 3d meshes
 	if (!md.geometry.surface) {
 		md.geometry.surface=NewArrayFill(md.mesh.x.length,0);
 	}
 	if (md.mesh.classname() == 'mesh3dsurface') {
-		zscale = 1;
-		surfacescale = options.getfieldvalue('heightscale',1);
+		matrixscale = 1;
+		vertexscale = options.getfieldvalue('heightscale',1);
 	}
 	else {
@@ -38,6 +39,6 @@
 			z=md.geometry.surface;
 		}	
-		zscale = options.getfieldvalue('heightscale',1);
-		surfacescale = 0;
+		matrixscale = options.getfieldvalue('heightscale',1);
+		vertexscale = 0;
 	}
 	//}}}
@@ -57,9 +58,9 @@
 	zmax = zlim[1];
 
-	//Compute scaling: 
+	//Compute gl variables:
 	var scale = 1 / (xmax - xmin);
 	node["shaderName"] = "colored";
 	node["shader"] = gl["shaders"][node["shaderName"]]["program"];
-	node["scale"] = [scale, scale, scale * zscale];
+	node["scale"] = [scale, scale, scale * matrixscale];
 	node["translation"] = [(xmin + xmax) / (-2 / scale), (ymin + ymax) / (-2 / scale), (zmin + zmax) / (2 / scale)];
 	node["modelMatrix"] = recalculateModelMatrix(node);
@@ -96,5 +97,5 @@
 			//Scale vertices
 			xyz1 = vec3.fromValues(x[i], y[i], z[i]);
-			magnitude = vec3.length(xyz1) + md.geometry.surface[i] * surfacescale;
+			magnitude = vec3.length(xyz1) + md.geometry.surface[i] * vertexscale;
 			vec3.normalize(direction, xyz1);
 			vec3.scale(vertex, direction, magnitude);
Index: /issm/trunk-jpl/src/m/plot/plot_unit.js
===================================================================
--- /issm/trunk-jpl/src/m/plot/plot_unit.js	(revision 20564)
+++ /issm/trunk-jpl/src/m/plot/plot_unit.js	(revision 20565)
@@ -16,5 +16,5 @@
 	var zmin,zmax;
 	var datamin,datamax,datadelta;
-	var scale,zscale,surfacescale;
+	var scale,matrixscale,vertexscale;
 
 	//Process data and model
@@ -31,10 +31,11 @@
 	var	datatype = dataresults[1];
 
+	//Compue scaling through matrices for 2d meshes and vertices for 3d meshes
 	if (!md.geometry.surface) {
 		md.geometry.surface=NewArrayFill(md.mesh.x.length,0);
 	}
 	if (md.mesh.classname() == 'mesh3dsurface') {
-		zscale = 1;
-		surfacescale = options.getfieldvalue('heightscale',1);
+		matrixscale = 1;
+		vertexscale = options.getfieldvalue('heightscale',1);
 	}
 	else {
@@ -42,6 +43,6 @@
 			z=md.geometry.surface;
 		}	
-		zscale = options.getfieldvalue('heightscale',1);
-		surfacescale = 0;
+		matrixscale = options.getfieldvalue('heightscale',1);
+		vertexscale = 0;
 	}
 	//}}}
@@ -62,9 +63,9 @@
 	var caxis;
 	
-	//Compute scaling: 
+	//Compute gl variables:
 	scale = 1 / (xmax - xmin);
 	node["shaderName"] = "unlit_textured";
 	node["shader"] = gl["shaders"][node["shaderName"]]["program"];
-	node["scale"] = [scale, scale, scale * zscale];
+	node["scale"] = [scale, scale, scale * matrixscale];
 	node["translation"] = [(xmin + xmax) / (-2 / scale), (ymin + ymax) / (-2 / scale), (zmin + zmax) / (2 / scale)];
 	node["modelMatrix"] = recalculateModelMatrix(node);
@@ -120,5 +121,5 @@
 					//Scale vertices
 					xyz = vec3.fromValues(x[i], y[i], z[i]);
-					magnitude = vec3.length(xyz) + md.geometry.surface[i] * surfacescale;
+					magnitude = vec3.length(xyz) + md.geometry.surface[i] * vertexscale;
 					vec3.normalize(direction, xyz);
 					vec3.scale(vertex, direction, magnitude);
@@ -183,5 +184,5 @@
 					//Scale vertices
 					xyz = vec3.fromValues(x[i], y[i], z[i]);
-					magnitude = vec3.length(xyz) + md.geometry.surface[i] * surfacescale;
+					magnitude = vec3.length(xyz) + md.geometry.surface[i] * vertexscale;
 					vec3.normalize(direction, xyz);
 					vec3.scale(vertex, direction, magnitude);
