Index: /issm/trunk-jpl/src/m/plot/plot_unit.js
===================================================================
--- /issm/trunk-jpl/src/m/plot/plot_unit.js	(revision 19885)
+++ /issm/trunk-jpl/src/m/plot/plot_unit.js	(revision 19886)
@@ -19,11 +19,5 @@
 
 	//Process data and model
-	var meshresults;
-	if (data["1"] instanceof Float64Array) {
-		meshresults = processmesh(md,data["1"],options);
-	}
-	else {
-		meshresults = processmesh(md,data,options);
-	}
+	var meshresults = processmesh(md,data,options);
 	var x = meshresults[0]; 
 	var y = meshresults[1]; 
@@ -33,15 +27,7 @@
 	var isplanet = meshresults[5];
 	
-	var dataresults, data2, datatype;
-	if (data["1"] instanceof Float64Array) {
-		dataresults = processdata(md,data["1"],options);
-		data2 = dataresults[0]; 
-		datatype = dataresults[1];
-	}
-	else {
-		dataresults = processdata(md,data,options);
-		data2 = dataresults[0]; 
-		datatype = dataresults[1];
-	}
+	var	dataresults = processdata(md,data,options);
+	var	data2 = dataresults[0]; 
+	var	datatype = dataresults[1];
 	//}}}
 
@@ -126,5 +112,5 @@
 				var cmap=options.getfieldvalue('cmap','jet');
 				//If handling movie data, compute vertices once and texcoords for each movie frame
-				if (data["1"] instanceof Float64Array) {
+				if (data[0] instanceof Float64Array) {
 					for(var i = 0; i < x.length; i++){
 						vertices[vertices.length] = x[i];
@@ -132,14 +118,17 @@
 						vertices[vertices.length] = z[i];
 					}	
-
-					var datasubarray;
+					//Transpose data to obtain column addressable data matrix
+					data = data[0].map(function(col, i) { 
+						return data.map(function(row) { 
+							return row[i]
+						})
+					});
 					for(var i = 0; i < data.length-1; i++){
 						//Prevent evaluation of datasubarray min/max if caxis exists
-						datasubarray = data[String(i+1)];
 						if (options.exist('caxis')) {
 							caxis = options.getfieldvalue('caxis');
 						}
 						else {
-							caxis = [ArrayMin(datasubarray),ArrayMax(datasubarray)];
+							caxis = [ArrayMin(data[i]),ArrayMax(data[i])];
 						}
 						datamin = caxis[0];
@@ -152,5 +141,5 @@
 						for(var j = 0; j < x.length; j++){
 							texcoords[i][texcoords[i].length] = 0.5;
-							texcoords[i][texcoords[i].length] = (datasubarray[j] - datamin) / datadelta;
+							texcoords[i][texcoords[i].length] = (data[i][j] - datamin) / datadelta;
 						}
 					}
@@ -158,5 +147,5 @@
 					//Initialize movie loop
 					node["movieInterval"] = 1000 / options.getfieldvalue('moviefps',5);
-					node["movieLength"] = data.length;
+					node["movieLength"] = data[0].length;
 					node["movieFrame"] = 0;
 					node["movieHandler"] = function () {
@@ -210,5 +199,5 @@
 	
 	/*Initalize buffers: */
-	if (data["1"] instanceof Float64Array) {
+	if (data[0] instanceof Float64Array) {
 		node["arrays"] = [vertices, texcoords, indices];
 		node["buffers"] = initBuffers(gl,[node["arrays"][0],node["arrays"][1][0],node["arrays"][2]]);
Index: /issm/trunk-jpl/src/m/plot/webgl.js
===================================================================
--- /issm/trunk-jpl/src/m/plot/webgl.js	(revision 19885)
+++ /issm/trunk-jpl/src/m/plot/webgl.js	(revision 19886)
@@ -357,5 +357,4 @@
 } //}}}
 function draw(gl,options,canvas,nodes) { //{{{
-
 	// Set clear color to black, fully opaque
 	var backgroundcolor=new RGBColor(options.getfieldvalue('backgroundcolor','white'));
@@ -370,4 +369,5 @@
 	window.requestAnimationFrame(function(time) {draw(gl,options,canvas,nodes)});
 	updateCameraMatrix(canvas);
+	
 	var drawPassNumber = 2;
 	for (var i = drawPassNumber - 1; i >= 0; i--) {
