Index: /issm/trunk-jpl/src/m/plot/applyoptions.py
===================================================================
--- /issm/trunk-jpl/src/m/plot/applyoptions.py	(revision 17697)
+++ /issm/trunk-jpl/src/m/plot/applyoptions.py	(revision 17698)
@@ -1,3 +1,4 @@
 import numpy as npy
+from cmaptools import truncate_colormap
 
 try:
@@ -173,5 +174,7 @@
 
 	#colormap {{{
-	cmap=options.getfieldvalue('colormap',mpl.cm.gnuplot2)
+	# default sequential colormap
+	defaultmap=truncate_colormap(mpl.cm.gnuplot2,0.1,0.9,128)
+	cmap=options.getfieldvalue('colormap',defaultmap)
 	#}}}
 
Index: /issm/trunk-jpl/src/m/plot/plot_unit.py
===================================================================
--- /issm/trunk-jpl/src/m/plot/plot_unit.py	(revision 17697)
+++ /issm/trunk-jpl/src/m/plot/plot_unit.py	(revision 17698)
@@ -1,3 +1,3 @@
-
+from cmaptools import truncate_colormap
 try:
 	import pylab as p
@@ -7,69 +7,71 @@
 
 def plot_unit(x,y,z,elements,data,is2d,isplanet,datatype,options):
-   """
-   PLOT_UNIT - unit plot, display data
-   
-   	Usage:
-   		plot_unit(x,y,z,elements,data,is2d,isplanet,datatype,options)
-   
-   	See also: PLOTMODEL, PLOT_MANAGER
-   """
-
-   #edgecolor
-   edgecolor=options.getfieldvalue('edgecolor','None')
-   
-   #number of colorlevels for plots
-   colorlevels=options.getfieldvalue('colorlevels',256)
-
-   alpha=options.getfieldvalue('alpha',1)
-
-   #colormap
-   cmap=options.getfieldvalue('colormap',mpl.cm.gnuplot2)
-   if options.exist('cmap_set_over'):
-      over=options.getfieldvalue('cmap_set_over','0.5')
-      cmap.set_over(over)
-   if options.exist('cmap_set_under'):
-      under=options.getfieldvalue('cmap_set_under','0.5')
-      cmap.set_under(under)
-
-   #normalize colormap if clim/caxis specified
-   if options.exist('clim'):
-      lims=options.getfieldvalue('clim',[min(data),max(data)])
-   elif options.exist('caxis'):
-      lims=options.getfieldvalue('caxis',[min(data),max(data)])
-   else:
-      lims=[min(data),max(data)]
-   norm = mpl.colors.Normalize(vmin=lims[0], vmax=lims[1])
-   if datatype==1:
-      #element plot
-   	if is2d:
-   		p.tripcolor(x,y,elements,data,colorlevels,cmap=cmap,edgecolors=edgecolor)
-   	else:
-   		raise ValueError('plot_unit error: 3D element plot not supported yet')
-   	return
-   
-   elif datatype==2:
-   	#node plot
-   	if is2d:
-   		p.tricontourf(x,y,elements,data,colorlevels,cmap=cmap,norm=norm,alpha=alpha)
-   		if edgecolor != 'None':
-   			p.triplot(x,y,elements,color=edgecolor)
-   	else:
-   		raise ValueError('plot_unit error: 3D node plot not supported yet')
-   	return
-   
-   elif datatype==3:
-   	print 'plot_unit message: quiver plot not implemented yet'
-   	return
-   
-   elif datatype==4:
-   	#P1 patch plot
-   	print 'plot_unit message: P1 patch plot not implemented yet'
-   	return
-   
-   elif datatype==5:
-   	print 'plot_unit message: P0 patch plot not implemented yet'
-   	return
-   
-   else:
+	"""
+	PLOT_UNIT - unit plot, display data
+	
+		Usage:
+			plot_unit(x,y,z,elements,data,is2d,isplanet,datatype,options)
+	
+		See also: PLOTMODEL, PLOT_MANAGER
+	"""
+	
+	#edgecolor
+	edgecolor=options.getfieldvalue('edgecolor','None')
+	
+	#number of colorlevels for plots
+	colorlevels=options.getfieldvalue('colorlevels',256)
+	
+	alpha=options.getfieldvalue('alpha',1)
+	
+	#colormap
+	# default sequential colormap
+	defaultmap=truncate_colormap(mpl.cm.gnuplot2,0.1,0.9,128)
+	cmap=options.getfieldvalue('colormap',defaultmap)
+	if options.exist('cmap_set_over'):
+	   over=options.getfieldvalue('cmap_set_over','0.5')
+	   cmap.set_over(over)
+	if options.exist('cmap_set_under'):
+	   under=options.getfieldvalue('cmap_set_under','0.5')
+	   cmap.set_under(under)
+	
+	#normalize colormap if clim/caxis specified
+	if options.exist('clim'):
+	   lims=options.getfieldvalue('clim',[min(data),max(data)])
+	elif options.exist('caxis'):
+	   lims=options.getfieldvalue('caxis',[min(data),max(data)])
+	else:
+	   lims=[min(data),max(data)]
+	norm = mpl.colors.Normalize(vmin=lims[0], vmax=lims[1])
+	if datatype==1:
+	   #element plot
+		if is2d:
+			p.tripcolor(x,y,elements,data,colorlevels,cmap=cmap,edgecolors=edgecolor)
+		else:
+			raise ValueError('plot_unit error: 3D element plot not supported yet')
+		return
+	
+	elif datatype==2:
+		#node plot
+		if is2d:
+			p.tricontourf(x,y,elements,data,colorlevels,cmap=cmap,norm=norm,alpha=alpha)
+			if edgecolor != 'None':
+				p.triplot(x,y,elements,color=edgecolor)
+		else:
+			raise ValueError('plot_unit error: 3D node plot not supported yet')
+		return
+	
+	elif datatype==3:
+		print 'plot_unit message: quiver plot not implemented yet'
+		return
+	
+	elif datatype==4:
+		#P1 patch plot
+		print 'plot_unit message: P1 patch plot not implemented yet'
+		return
+	
+	elif datatype==5:
+		print 'plot_unit message: P0 patch plot not implemented yet'
+		return
+	
+	else:
 		raise ValueError('datatype=%d not supported' % datatype)
Index: /issm/trunk-jpl/src/m/plot/plotmodel.py
===================================================================
--- /issm/trunk-jpl/src/m/plot/plotmodel.py	(revision 17697)
+++ /issm/trunk-jpl/src/m/plot/plotmodel.py	(revision 17698)
@@ -55,5 +55,5 @@
 		#handling the 'visible' option will need some check on whether ipython is currently in interactive or non-interactive mode
 
-		if not hold:
+		if not hold: # TODO need to also check whether figurenumber is a new plot so that old plots are not mistakenly cleared
 			p.clf()
 
Index: /issm/trunk-jpl/src/m/plot/processdata.py
===================================================================
--- /issm/trunk-jpl/src/m/plot/processdata.py	(revision 17697)
+++ /issm/trunk-jpl/src/m/plot/processdata.py	(revision 17698)
@@ -46,4 +46,6 @@
 	if npy.any(npy.isnan(procdata)):
 		procdata[npy.isnan(procdata)]=nanfill
+		options.addfielddefault('cmap_set_under','1')
+		options.addfielddefault('clim',[min(data),max(data)])
 		print "WARNING: nan's treated as -9999 by default.  Change using pairoption 'nan',nan_fill_value in plotmodel call"
 
