Index: /issm/trunk-jpl/src/m/model/plot/applyoptions.m
===================================================================
--- /issm/trunk-jpl/src/m/model/plot/applyoptions.m	(revision 12389)
+++ /issm/trunk-jpl/src/m/model/plot/applyoptions.m	(revision 12390)
@@ -31,20 +31,16 @@
 end
 
-%xlabel
+%xlabel, ylabel and zlabel
 if exist(options,'xlabel');
 	xlabel(getfieldvalue(options,'xlabel'),'FontSize',fontsize,'FontWeight',fontweight);
 end
-
-%ylabel
 if exist(options,'ylabel');
 	ylabel(getfieldvalue(options,'ylabel'),'FontSize',fontsize,'FontWeight',fontweight);
 end
-
-%zlabel
 if exist(options,'zlabel');
 	zlabel(getfieldvalue(options,'zlabel'),'FontSize',fontsize,'FontWeight',fontweight);
 end
 
-%xtikcs
+%xticks, yticks and zticks
 if exist(options,'xtick'), set(gca,'XTick',getfieldvalue(options,'xtick')); end
 if exist(options,'ytick'), set(gca,'YTick',getfieldvalue(options,'ytick')); end
@@ -75,12 +71,13 @@
 end
 
-%xlim
+%xlim, ylim and zlim
 if exist(options,'xlim');
 	xlim(getfieldvalue(options,'xlim'));
 end
-
-%ylim
 if exist(options,'ylim');
 	ylim(getfieldvalue(options,'ylim'));
+end
+if exist(options,'zlim');
+	zlim(getfieldvalue(options,'zlim'));
 end
 
@@ -92,10 +89,4 @@
 end
 
-
-%zlim
-if exist(options,'zlim');
-	zlim(getfieldvalue(options,'zlim'));
-end
-
 %Basinzoom
 if exist(options,'basin');
@@ -107,5 +98,4 @@
 	showbasins(options);
 end
-
 
 %Caxis
@@ -133,11 +123,4 @@
 		c = c (32:end,:);
 	elseif strcmpi(cname,'redblue'),
-		%m = 30;
-		%n = fix(0.5*m);
-		%r = [(0:1:n-1)/n,ones(1,n)];
-		%g = [(0:n-1)/n, (n-1:-1:0)/n];
-		%b = [ones(1,n),(n-1:-1:0)/n];
-		%c = [r(:), g(:), b(:)]; 
-
 		c = hsv(64);
 		c = rgb2hsv(c);
@@ -146,25 +129,26 @@
 		c(33:end,1) = 1;
 		c = hsv2rgb(c);
-
 	elseif strcmpi(cname,'Rignot'),
-		c = hsv;
-
-		%adjust saturation
+		c = hsv(252);
 		c = rgb2hsv(c);
 		alpha=getfieldvalue(options,'alpha',1);
 		c(:,2) = max(min( (0.1+c(:,1)).^(1/alpha) ,1),0);
 		c = hsv2rgb(c);
-
 	elseif strcmpi(cname,'Rignot2'),
-		c = hsv;
-
-		%adjust saturation
+		c = hsv(252);
 		c = rgb2hsv(c);
 		alpha=getfieldvalue(options,'alpha',1);
 		c(:,2) = max(min( (0.1+c(:,1)).^(1/alpha) ,1),0);
 		c = hsv2rgb(c);
-
 		c=flipud(c);
-
+	elseif strcmpi(cname,'Seroussi'),
+		c = hsv(252);
+		c = flipud(c);
+		c = c(1:floor(0.7*size(c,1)),:);
+		c = rgb2hsv(c);
+		alpha=getfieldvalue(options,'alpha',1);
+		c(:,2) = max(min( (0.1+c(:,1)).^(1/alpha) ,1),0);
+		c = hsv2rgb(c);
+		%c = flipud(c);
 	else
 		c = cname;
Index: /issm/trunk-jpl/src/m/model/plot/plot_overlay.m
===================================================================
--- /issm/trunk-jpl/src/m/model/plot/plot_overlay.m	(revision 12389)
+++ /issm/trunk-jpl/src/m/model/plot/plot_overlay.m	(revision 12390)
@@ -77,45 +77,63 @@
 
 colorm=getfieldvalue(options,'colormap','Rignot');
-if strcmpi(colorm,'Rignot'),
-	%hue (H)
-	h_data=(data_grid-data_min)/(data_max-data_min+eps);
-	if radaronly, h_data(:)=0; end
-	%saturation (S)
-	s_data=max(min((0.1+h_data).^(1/transparency),1),0);
-elseif strcmpi(colorm,'Seroussi'),
-	%hue (H)
-	h_data=1-(data_grid-data_min)/(data_max-data_min+eps)*0.7;
-	%h_data=(data_grid-data_min)/(data_max-data_min)*2/3;
-	if radaronly, h_data(:)=0; end
-	%saturation (S)
-	s_data=max(min((0.1+h_data).^(1/transparency),1),0);
-elseif strcmpi(colorm,'redblue')
-	data_mean=data_min+(data_max-data_min)/2;
-	%hue (H)
-	%h_data=0.7*ones(size(data_grid));
-	%h_data(find(data_grid>data_mean))=1;
-	h_data=1*ones(size(data_grid));
-	h_data(find(data_grid<data_mean))=0.7;
-	%saturation (S)
-	s_data=max(min(abs(data_grid-data_mean)/(data_max-data_mean) ,1),0);
+
+%Special colormaps that require hsv treatment
+if strcmpi(colorm,'Rignot') | strcmpi(colorm,'Seroussi') | strcmpi(colorm,'redblue')
+	if strcmpi(colorm,'Rignot'),
+		h=(data_grid-data_min)/(data_max-data_min+eps);
+		if radaronly, h(:)=0; end
+		s=max(min((0.1+h).^(1/transparency),1),0);
+	elseif strcmpi(colorm,'Seroussi'),
+		h=1-(data_grid-data_min)/(data_max-data_min+eps)*0.7;
+		if radaronly, h(:)=0; end
+		s=max(min((0.1+h).^(1/transparency),1),0);
+	elseif strcmpi(colorm,'redblue')
+		data_mean=data_min+(data_max-data_min)/2;
+		h=1*ones(size(data_grid));
+		h(find(data_grid<data_mean))=0.7;
+		s=max(min(abs(data_grid-data_mean)/(data_max-data_mean) ,1),0);
+	else
+		error('colormap not supported yet. (''Rignot'' and ''redblue'' are the only cupported colormaps)');
+	end
+
+	%(S) Saturation is 0 in NaNs
+	s(data_nan)=0;
+
+	%(V) intensity is based on radar image
+	radar=(md.radaroverlay.pwr).^(contrast);
+	v=radar/max(radar(:)); %use radar power as intensity
+	%pos=find(v==0);v(pos)=1; %Change background from black to white
+
+	%Transform HSV to RGB
+	image_hsv=zeros(size(data_grid,1),size(data_grid,2),3);
+	image_hsv(:,:,1)=h; clear h;
+	image_hsv(:,:,2)=s; clear s;
+	image_hsv(:,:,3)=v; clear v;
+	image_rgb=hsv2rgb(image_hsv);
 else
-	error('colormap not supported yet. (''Rignot'' and ''redblue'' are the only cupported colormaps)');
+	if ischar(colorm),
+		eval(['colorm = ' colorm ';']);
+	end
+	len = size(colorm,1);
+
+	ind = floor((len-1)*(data_grid-data_min)/(data_max - data_min + eps) +1);
+	image_rgb=zeros(size(data_grid,1),size(data_grid,2),3);
+	r=colorm(:,1); image_rgb(:,:,1)=r(ind); clear r;
+	g=colorm(:,2); image_rgb(:,:,2)=g(ind); clear g;
+	b=colorm(:,3); image_rgb(:,:,3)=b(ind); clear b;
+
+	%Now add radarmap
+	image_hsv=rgb2hsv(image_rgb);
+	radar = (md.radaroverlay.pwr).^(contrast);
+	h=radar/max(radar(:));
+	image_hsv(:,:,3)=h;
+	s=image_hsv(:,:,2);
+	s(data_nan)=0;
+	image_hsv(:,:,2)=s;
+	v=image_hsv(:,:,3);
+	%pos=find(v==0);v(pos)=1; %Change background from black to white
+	image_hsv(:,:,3)=v;
+	image_rgb=hsv2rgb(image_hsv);
 end
-
-%Saturation is 0 in NaNs
-s_data(data_nan)=0;
-%intensity (V)
-radar=(md.radaroverlay.pwr).^(contrast);
-v_data=radar/max(radar(:)); %use radar power as intensity
-
-%Change background from black to white
-%pos=find(v_data==0);v_data(pos)=1;
-
-%Transform HSV to RGB
-image_hsv=zeros(size(data_grid,1),size(data_grid,2),3);
-image_hsv(:,:,1)=h_data;
-image_hsv(:,:,2)=s_data;
-image_hsv(:,:,3)=v_data;
-image_rgb=hsv2rgb(image_hsv);
 
 %Select plot area 
Index: /issm/trunk-jpl/src/m/model/plot/plotmodel.m
===================================================================
--- /issm/trunk-jpl/src/m/model/plot/plotmodel.m	(revision 12389)
+++ /issm/trunk-jpl/src/m/model/plot/plotmodel.m	(revision 12390)
@@ -48,5 +48,5 @@
 		for i=1:numberofplots,
 			plot_manager(getfieldvalue(options.list{i},'model',md),options.list{i},subplotwidth,nlines,ncols,i);
-			%cbfreeze;
+
 		end
 	catch me,
