Index: /issm/trunk-jpl/src/m/plot/applyoptions.js
===================================================================
--- /issm/trunk-jpl/src/m/plot/applyoptions.js	(revision 20747)
+++ /issm/trunk-jpl/src/m/plot/applyoptions.js	(revision 20748)
@@ -1,4 +1,4 @@
 function applyoptions(md,data,datatype,options,canvas,gl,node){
-	//APPLYOPTIONS - apply the options to current plot
+	//APPLYOPTIONS - apply colobar, text, cloud, and expdisp options to current plot
 	//
 	//   Usage:
@@ -16,7 +16,4 @@
 			//Variable options initialization {{{
 			var caxis = options.getfieldvalue('caxis',[ArrayMin(data),ArrayMax(data)]);
-			var canvassize = options.getfieldvalue('canvassize',480);
-
-			var ccontext,ccanvas,ccanvasid,ccanvashtml,cheight,cwidth,color,y,x;
 			var colorbarorientiation = options.getfieldvalue('colorbarorientation','vertical');
 			var cheightoffset = options.getfieldvalue('colorbarfontsize',18);
@@ -24,4 +21,5 @@
 			var cwidthscale = 0.5; //Default size of actual colorbar width, relative to canvas width (range [0,1])
 			var cheightscale = 0.875; //Default size of actual colorbar height, relative to canvas height (range [0,1])
+			var ccontext,ccanvas,ccanvasid,ccanvashtml,cheight,cwidth,color,y,x;
 			//}}}
 			//Set colorbar lables {{{
@@ -31,12 +29,11 @@
 			var clabelitem;
 			var precision = options.getfieldvalue('colorbarprecision',3);
-			
 			if (options.getfieldvalue('log','off')!='off') {
-				for (var i = cdivisions; i >= 0; i--) {
+				for (var i=cdivisions; i >= 0; i--) {
 					var scale = (Math.log10(caxis[1])-Math.log10(caxis[0]))/Math.log10(options.getfieldvalue('log',10));
 					labels[i] = (Math.pow(options.getfieldvalue('log',10),Math.log10(caxis[0])/Math.log10(options.getfieldvalue('log',10))+scale*(cdivisions-i)/cdivisions)).toPrecision(precision);
 				}
 			} else {
-				for (var i = cdivisions; i >= 0; i--) {
+				for (var i=cdivisions; i >= 0; i--) {
 					labels[i] = (caxisdelta*(cdivisions-i)/cdivisions+caxis[0]).toPrecision(precision);
 				}
@@ -52,9 +49,9 @@
 				ccontext.clearRect(0,0, ccanvashtml.width, ccanvashtml.height);
 				ccontext.beginPath();
-				
+
 				var cgradient = ccontext.createLinearGradient(0,cheightoffset/2,0,cheight);
 				var cmap = options.getfieldvalue('cmap','jet');
 				var colorbar = colorbars[cmap];
-				for (var i = 0; i < colorbar.length; i++) {
+				for (var i=0; i < colorbar.length; i++) {
 					color = colorbar[colorbar.length-i-1];
 					color = [Math.round(color[0]*255),Math.round(color[1]*255),Math.round(color[2]*255)];	
@@ -67,9 +64,9 @@
 				ccontext.beginPath();
 				ccontext.lineWidth='1';
-				ccontext.strokeStyle='black';
+				ccontext.strokeStyle=options.getfieldvalue('colorbarfontcolor','black');
 				ccontext.rect(0,cheightoffset*3/2,cwidth,cheight);
 				ccontext.stroke();
 				
-				for (var i = 0; i <= cdivisions; i++) {
+				for (var i=0; i <= cdivisions; i++) {
 					y = i/cdivisions*cheight+cheightoffset/2;
 					x = 0.2*cwidth;
@@ -81,5 +78,5 @@
 					ccontext.stroke();
 					ccontext.font=String(options.getfieldvalue('colorbarfontsize',18))+'px "Lato",Helvetica,Arial,sans-serif';
-					ccontext.fillStyle='black';
+					ccontext.fillStyle=options.getfieldvalue('colorbarfontcolor','black');
 					ccontext.textAlign='left';
 					ccontext.fillText(labels[i],cwidth+x,y+cheightoffset*3/2);
@@ -87,5 +84,5 @@
 				if (options.exist('colorbartitle')) {
 					ccontext.font=String(options.getfieldvalue('colorbarfontsize',18))+'px "Lato",Helvetica,Arial,sans-serif';
-					ccontext.fillStyle='black';
+					ccontext.fillStyle=options.getfieldvalue('colorbarfontcolor','black');
 					ccontext.textAlign='left';
 					ccontext.textBaseline='bottom';
@@ -94,12 +91,9 @@
 			} //}}}
 			else { //colorbarorientiation=='horizontal' {{{
-				cheight = options.getfieldvalue('colorbarheight',canvassize/20);
-				cwidth = options.getfieldvalue('colorbarwidth',0.95)*canvassize;
 				ccanvasid = options.getfieldvalue('colorbarcanvasid',options.getfieldvalue('canvasid')+'_colorbar');
 				ccanvashtml = document.getElementById(ccanvasid);
-				
+				cwidth = ccanvashtml.width*0.7*options.getfieldvalue('colorbarwidth',1);
+				cheight = ccanvashtml.height*0.4*options.getfieldvalue('colorbarheight',1);
 				ccanvas = $('#'+ccanvasid);
-				cwidth = ccanvashtml.clientWidth;
-				cheight = ccanvashtml.clientHeight;	
 				ccontext = ccanvas[0].getContext('2d');
 				ccontext.clearRect(0,0, ccanvashtml.width, ccanvashtml.height);
@@ -109,5 +103,5 @@
 				var cmap = options.getfieldvalue('cmap','jet');
 				var colorbar = colorbars[cmap];
-				for (var i = 0; i < colorbar.length; i++) {
+				for (var i=0; i < colorbar.length; i++) {
 					color = colorbar[colorbar.length-i-1];
 					color = [Math.round(color[0]*255),Math.round(color[1]*255),Math.round(color[2]*255)];	
@@ -120,9 +114,9 @@
 				ccontext.beginPath();
 				ccontext.lineWidth='1';
-				ccontext.strokeStyle='black';
+				ccontext.strokeStyle=options.getfieldvalue('colorbarfontcolor','black');
 				ccontext.rect(cwidthoffset,cheightoffset,cwidth,cheight);
 				ccontext.stroke();
 				
-				for (var i = 0; i <= cdivisions; i++) {
+				for (var i=0; i <= cdivisions; i++) {
 					y = 0.2*cheight;
 					x = i/cdivisions*cwidth;
@@ -134,5 +128,5 @@
 					ccontext.stroke();
 					ccontext.font=String(options.getfieldvalue('colorbarfontsize',18))+'px "Lato",Helvetica,Arial,sans-serif';
-					ccontext.fillStyle='black';
+					ccontext.fillStyle=options.getfieldvalue('colorbarfontcolor','black');
 					ccontext.textAlign='center';
 					ccontext.fillText(labels[cdivisions-i],x+cwidthoffset,cheight+cheightoffset*2);
@@ -140,5 +134,5 @@
 				if (options.exist('colorbartitle')) {
 					ccontext.font=String(options.getfieldvalue('colorbarfontsize',18))+'px "Lato",Helvetica,Arial,sans-serif';
-					ccontext.fillStyle='black';
+					ccontext.fillStyle=options.getfieldvalue('colorbarfontcolor','black');
 					ccontext.textAlign='center';
 					ccontext.textBaseline='bottom';
@@ -167,5 +161,5 @@
 	var cmap = options.getfieldvalue('cmap','jet');
 	var colorbar = colorbars[cmap];
-	for (var i = 0; i < colorbar.length; i++) {
+	for (var i=0; i < colorbar.length; i++) {
 		color = colorbar[colorbar.length-i-1];
 		color = [Math.round(color[0]*255),Math.round(color[1]*255),Math.round(color[2]*255)];	
@@ -239,5 +233,5 @@
 
 		vertices.itemSize = 3;
-		for(var i = 0; i < x.length; i++){
+		for(var i=0; i < x.length; i++){
 			vertices[vertices.length] = x[i];
 			vertices[vertices.length] = y[i];
@@ -317,5 +311,5 @@
 
 		vertices.itemSize = 3;
-		for(var i = 0; i < x.length; i++){
+		for(var i=0; i < x.length; i++){
 			vertices[vertices.length] = x[i];
 			vertices[vertices.length] = y[i];
@@ -368,6 +362,6 @@
 				textcoordinates = [(textposition[0]+1.0)/2.0*textcanvaswidth, (-textposition[1]+1.0)/2.0*textcanvasheight]; //NDC to screenspace
 				textcontext.font = String(options.getfieldvalue('colorbarfontsize',18))+'px "Lato",Helvetica,Arial,sans-serif';
-				textcontext.fillStyle = 'black';
-				textcontext.strokeStyle = 'black';
+				textcontext.fillStyle = options.getfieldvalue('colorbarfontcolor','black');
+				textcontext.strokeStyle = options.getfieldvalue('colorbarfontcolor','black');
 				textcontext.textAlign = 'center';
 				textcontext.textBaseline = 'middle';
Index: /issm/trunk-jpl/src/m/plot/gauge.js
===================================================================
--- /issm/trunk-jpl/src/m/plot/gauge.js	(revision 20747)
+++ /issm/trunk-jpl/src/m/plot/gauge.js	(revision 20748)
@@ -1,8 +1,8 @@
-//GAGUE - create a gague and label that display a value
-//
-//   Usage:
-//      gauge=gauge(); TODO: Expand
-
 function gauge() {
+	//GAGUE - create a gague and label that display a value with unit label
+	//
+	//   Usage:
+	//      gaugeslr = gauge('gaugediv','slr-controldiv','label','m');
+	
 	//Convert arguments to options
 	var args = Array.prototype.slice.call(arguments);
Index: /issm/trunk-jpl/src/m/plot/plot_manager.js
===================================================================
--- /issm/trunk-jpl/src/m/plot/plot_manager.js	(revision 20747)
+++ /issm/trunk-jpl/src/m/plot/plot_manager.js	(revision 20748)
@@ -1,12 +1,13 @@
 function plot_manager(md,options,subplotwidth,nlines,ncols,i){
-//PLOT__MANAGER - distribute the plots, called by plotmodel
-//
-//   Usage:
-//      plot_manager(md,options,subplotwidth,i);
-//
-//   See also: PLOTMODEL, PLOT_UNIT
+	//PLOT__MANAGER - distribute the plots, called by plotmodel
+	//
+	//   Usage:
+	//      plot_manager(md,options,subplotwidth,i);
+	//
+	//   See also: PLOTMODEL, PLOT_UNIT
 			
 	//parse options and get a structure of options. 
 	checkplotoptions(md,options);
+	
 	//get data to be displayed
 	var data = options.getfieldvalue('data');
Index: /issm/trunk-jpl/src/m/plot/plot_mesh.js
===================================================================
--- /issm/trunk-jpl/src/m/plot/plot_mesh.js	(revision 20747)
+++ /issm/trunk-jpl/src/m/plot/plot_mesh.js	(revision 20748)
@@ -1,7 +1,9 @@
 function plot_mesh(md,options,canvas) {
+	//PLOT_MESH - Function for plotting wireframe mesh.
+	//
 	//   Usage:
 	//      plot_mesh(md,options,canvas);
 	//
-	//   See also: PLOTMODEL
+	//   See also: PLOTMODEL, PLOT_MANAGER
 
 	//declare variables:  {{{
Index: /issm/trunk-jpl/src/m/plot/plot_overlay.js
===================================================================
--- /issm/trunk-jpl/src/m/plot/plot_overlay.js	(revision 20747)
+++ /issm/trunk-jpl/src/m/plot/plot_overlay.js	(revision 20748)
@@ -1,5 +1,4 @@
 function plot_overlay(md,data,options,canvas){
 	//PLOT_OVERLAY - Function for plotting a georeferenced image.  
-	//This function is called from within the plotmodel code.
 	//
 	//   Usage:
Index: /issm/trunk-jpl/src/m/plot/plot_quiver.js
===================================================================
--- /issm/trunk-jpl/src/m/plot/plot_quiver.js	(revision 20747)
+++ /issm/trunk-jpl/src/m/plot/plot_quiver.js	(revision 20748)
@@ -5,4 +5,5 @@
 	//      plot_quiver(md,options,canvas)
 	//
+	//   See also: PLOTMODEL, PLOT_MANAGER
 
 	//declare variables:  {{{
Index: /issm/trunk-jpl/src/m/plot/slider.js
===================================================================
--- /issm/trunk-jpl/src/m/plot/slider.js	(revision 20747)
+++ /issm/trunk-jpl/src/m/plot/slider.js	(revision 20748)
@@ -1,8 +1,8 @@
-//SLIDER - create a slider bar to set a value
-//
-//   Usage:
-//      slider=slider(); TODO: Expand
+function slider() {
+	//SLIDER - Slider bar with initial value, callback on change, unique name, min/max value range, description message, fill color, widht/height, value precision, value step, and the id of the div to create the slider in.
+	//
+	//   Usage:
+	// 		slider('value',0,'callback',function(value){PlotGreenland(value,0);PlotSlr()},'name','greenland','min',0,'max',100,'message',['Remove ice: ','%'],'color','#BBBBBB','width','100%','height','24px','precision',2,'step',5,'slidersdiv','greenland-sliders');
 
-function slider() {
 	//Convert arguments to options
 	var args = Array.prototype.slice.call(arguments);
@@ -59,10 +59,12 @@
 }
 
-//PROGRESS - create a progress bar to display a value
-//
-//   Usage:
-//      progress=progress(); TODO: Expand
-
 function progress() {
+	//PROGRESS - Progress bar with initial value, unique name, width/height, and the id of the div to create the slider in. One progress per canvas, value/label updated by node transient runs in plot_unit.
+	//
+	//   Usage:
+	//		progress('value',0,'name','hma','width','100%','height',sliderheight,'progressdiv','hma-progressdiv');
+	//
+	//   See also: PLOT_UNIT
+	
 	//Convert arguments to options
 	var args = Array.prototype.slice.call(arguments);
Index: /issm/trunk-jpl/src/m/plot/tooltips.js
===================================================================
--- /issm/trunk-jpl/src/m/plot/tooltips.js	(revision 20747)
+++ /issm/trunk-jpl/src/m/plot/tooltips.js	(revision 20748)
@@ -1,8 +1,8 @@
-//TOOLTIP - create a hidden toolip that shows html formatted info on hover
-//
-//   Usage:
-//      tooltip=tooltip(); TODO: Expand
+function tooltip() {
+	//TOOLTIP - create a hidden toolip with value text that shows html formatted info on hover over the tooltipdiv.
+	//
+	//   Usage:
+	//      tooltip('value','<h4>HAIG Glacier (Canadian Rocky Mountains) 30 year transient simulation</h4>','tooltipdiv','info-tooltipdiv');
 
-function tooltip() {
 	//Convert arguments to options
 	var args = Array.prototype.slice.call(arguments);
