Index: /issm/trunk-jpl/src/m/plot/applyoptions.py
===================================================================
--- /issm/trunk-jpl/src/m/plot/applyoptions.py	(revision 19423)
+++ /issm/trunk-jpl/src/m/plot/applyoptions.py	(revision 19424)
@@ -2,4 +2,5 @@
 from cmaptools import truncate_colormap
 from plot_contour import plot_contour
+from expdisp import expdisp
 
 try:
@@ -234,11 +235,27 @@
 				cb.set_label(options.getfieldvalue('colorbartitle'),fontsize=fontsize)
 		cb.ax.tick_params(labelsize=fontsize)
+                cb.solids.set_rasterized(True)
 		cb.update_ticks()
+                cb.set_alpha(1)
+                cb.draw_all()
 		plt.sca(ax) # return to original axes control
 	#}}}
 
+        #expdisp {{{
+        if options.exist('expdisp'):
+            filename=options.getfieldvalue('expdisp')
+            style=options.getfieldvalue('expstyle','k')
+            linewidth=options.getfieldvalue('explinewidth',1)
+            for i in xrange(len(filename)):
+                filenamei=filename[i]
+                stylei=style[i]
+                if type(linewidth)==list:
+                    linewidthi=linewidth[i]
+                else:
+                    linewidthi=linewidth
+                expdisp(filenamei,ax,linestyle=stylei,linewidth=linewidthi,unitmultiplier=options.getfieldvalue('unit',1))
+        #}}}
+
 	#area
-
-	#expdisp
 
 	#text {{{
Index: /issm/trunk-jpl/src/m/plot/plot_manager.py
===================================================================
--- /issm/trunk-jpl/src/m/plot/plot_manager.py	(revision 19423)
+++ /issm/trunk-jpl/src/m/plot/plot_manager.py	(revision 19424)
@@ -29,5 +29,5 @@
 
 	'ax' is a handle to the axes instance created by plotmodel.  This is
-	currently generated using matplotlib's AxesGrid toolki.
+	currently generated using matplotlib's AxesGrid toolkit.
 
 	Usage:
Index: /issm/trunk-jpl/src/m/plot/plot_overlay.py
===================================================================
--- /issm/trunk-jpl/src/m/plot/plot_overlay.py	(revision 19423)
+++ /issm/trunk-jpl/src/m/plot/plot_overlay.py	(revision 19424)
@@ -2,11 +2,15 @@
 from processmesh import processmesh
 from processdata import processdata
+from xy2ll import xy2ll
 import matplotlib.pyplot as plt
 import matplotlib as mpl
+from mpl_toolkits.basemap import Basemap
 import os
+
 try:
-	from osgeo import gdal
+        from osgeo import gdal
 except ImportError:
 	print 'osgeo/gdal for python not installed, plot_overlay is disabled'
+
 
 def plot_overlay(md,data,options,ax):
@@ -78,4 +82,5 @@
 		plt.hist(arr.flatten(),bins=256,range=(0.,1.))
 		plt.title('histogram of overlay image, use for setting overlaylims')
+                plt.show()
 		plt.sca(ax) # return to original axes/figure
 		
@@ -92,18 +97,33 @@
 	yarr=npy.arange(ymin,ymax,-dy) # -dy since origin='upper' (not sure how robust this is)
 	xg,yg=npy.meshgrid(xarr,yarr)
-	if options.exist('basemap'):
-		# TODO get handle to or create basemap instance 
-		# create coordinate grid in map projection units (for plotting)
-		lats,lons=xy2ll(xg,yg,-1,0,71)
-		xgmap,ygmap=m(lons,lats) # map projection units returned by basemap instance
-	else:
-		xgmap=xg
-		ygmap=yg
-	
 	overlaylims=options.getfieldvalue('overlaylims',[min(arr.ravel()),max(arr.ravel())])
-
 	norm=mpl.colors.Normalize(vmin=overlaylims[0],vmax=overlaylims[1])
 
-	pc=ax.pcolormesh(xgmap, ygmap, npy.flipud(arr), cmap=mpl.cm.Greys, norm=norm)
+	if options.exist('basemap'):
+		# create coordinate grid in map projection units (for plotting)
+		lat,lon=xy2ll(xlim,ylim,-1,0,71)
+                #plt.sca(ax)
+                width=xmax-xmin
+                height=ymax-ymin
+                lat_0,lon_0=xy2ll(xmin+width/2.,ymin+height/2.,-1,0,71)
+	        m=Basemap(projection='spstere',
+                        llcrnrlon=lon[0],llcrnrlat=lat[0],urcrnrlon=lon[1],urcrnrlat=lat[1],
+                        epsg=3031,
+                        resolution='c')
+                        #width=width,height=height,lon_0=lon_0,lat_0=lat_0,
+                        #lat_0=-90,lon_0=0,lat_ts=-71,
+                        #llcrnrx=x0,llcrnry=y0,urcrnrx=x1,urcrnry=y1)
+                #test
+                #m.ax=ax
+	        meridians=npy.arange(-180.,181.,1.)
+	        parallels=npy.arange(-80.,80.,1.)
+	        m.drawparallels(parallels,labels=[0,0,1,1]) # labels=[left,right,top,bottom]
+	        m.drawmeridians(meridians,labels=[1,1,0,0])
+                m.drawcoastlines()
+	        pc=m.pcolormesh(xg, yg, npy.flipud(arr), cmap=mpl.cm.Greys, norm=norm, ax=ax)
+
+	else:
+	        pc=ax.pcolormesh(xg, yg, npy.flipud(arr), cmap=mpl.cm.Greys, norm=norm)
+        
 	#rasterization? 
 	if options.getfieldvalue('rasterized',0):
Index: /issm/trunk-jpl/src/m/plot/plotmodel.py
===================================================================
--- /issm/trunk-jpl/src/m/plot/plotmodel.py	(revision 19423)
+++ /issm/trunk-jpl/src/m/plot/plotmodel.py	(revision 19424)
@@ -5,5 +5,5 @@
 	import pylab as p
 	import matplotlib.pyplot as plt
-	from mpl_toolkits.axes_grid1 import ImageGrid
+	from mpl_toolkits.axes_grid1 import ImageGrid, AxesGrid
 except ImportError:
 	print "could not import pylab, matplotlib has not been installed, no plotting capabilities enabled"
