Index: /issm/trunk/src/m/classes/public/bamg.m
===================================================================
--- /issm/trunk/src/m/classes/public/bamg.m	(revision 3292)
+++ /issm/trunk/src/m/classes/public/bamg.m	(revision 3293)
@@ -194,5 +194,5 @@
 if (~exist(options,'domain') & md.numberofgrids~=0 & strcmpi(md.type,'2d')),
 
-	if isstruct(md.bamg),%TEST
+	if isstruct(md.bamg),
 		bamg_mesh=bamgmesh(md.bamg.mesh);
 	else
Index: sm/trunk/src/m/classes/public/buildoverlaycolorbar.m
===================================================================
--- /issm/trunk/src/m/classes/public/buildoverlaycolorbar.m	(revision 3292)
+++ 	(revision )
@@ -1,38 +1,0 @@
-function colorbar_rgb=buildoverlaycolorbar(md,data,transparency);
-%BUILDOVERLAYCOLORBAR - creates the colorbar associated with an averlay plot option
-%
-%   creates a color bar assotiated with the RGB image created be BUILDOVERLAY
-%   that uses RGB colors
-%
-%   Usage:
-%      colorbar_rgb=buildoverlaycolorbar(md,data,transparency);
-%
-%   Example:
-%      colorbar_rgb=buildoverlaycolorbar(md,md.vel,0.5);
-%
-%   See also: RADARPOWER, PLOTMODEL, BUILDOVERLAY
-
-%recover results
-results=max(1.5,min(data)):(max(data)-min(data))/256:max(data);
-
-%Build hsv color image from radar and results
-%intensity
-v=ones(size(results,1),1);
-
-%hue
-%cut results under 1.5, and log
-%results(find(results<1.5))=1.5;
-h=bytscl(results)/(255+1); %1 offset on colormap
-
-%saturation
-s=(0.5+results/125)/transparency;s(find(s>1))=1;s(find(s<0))=0;
-s(find(results==1.5))=0;
-
-%Transform hsv to rgb
-colorbar_hsv=zeros(size(results,2),size(results,1),3);
-colorbar_hsv(:,:,1)=h;
-colorbar_hsv(:,:,2)=s;
-colorbar_hsv(:,:,3)=v;
-
-%Transform rgb to hsv
-colorbar_rgb=hsv2rgb(colorbar_hsv);
Index: /issm/trunk/src/m/classes/public/plot/checkplotoptions.m
===================================================================
--- /issm/trunk/src/m/classes/public/plot/checkplotoptions.m	(revision 3292)
+++ /issm/trunk/src/m/classes/public/plot/checkplotoptions.m	(revision 3293)
@@ -61,5 +61,4 @@
 	end
 end
-
 
 %Colorbar;
@@ -201,2 +200,10 @@
 	end
 end
+
+%Log scale (LOTS of changes to be performed
+if exist(options,'log'),
+	if exist(options,'caxis')
+		options=changefieldvalue(options,'caxis',log(getfieldvalueerr(options,'caxis'))/log(getfieldvalueerr(options,'log')));
+	end
+	options=changefieldvalue(options,'cutoff',log(getfieldvalue(options,'cutoff',1.5))/log(getfieldvalueerr(options,'log')));
+end
Index: /issm/trunk/src/m/classes/public/plot/plot_overlay.m
===================================================================
--- /issm/trunk/src/m/classes/public/plot/plot_overlay.m	(revision 3292)
+++ /issm/trunk/src/m/classes/public/plot/plot_overlay.m	(revision 3293)
@@ -19,22 +19,16 @@
 end
 
-%get xlim and ylim
-xlim=getfieldvalue(options,'xlim',[min(x) max(x)])/getfieldvalue(options,'unit',1);
-ylim=getfieldvalue(options,'ylim',[min(y) max(y)])/getfieldvalue(options,'unit',1);
-
-%radar power
+% radar power {{{1
 if ~any(isnan(md.sarxm)) & ~any(isnan(md.sarym)) & ~any(isnan(md.sarpwr)),
 	disp('plot_overlay info: the radar image held by the model is being used');
 else
 	t1=clock; fprintf('%s','Extracting radar image...');
+	xlim=getfieldvalue(options,'xlim',[min(x) max(x)])/getfieldvalue(options,'unit',1);
+	ylim=getfieldvalue(options,'ylim',[min(y) max(y)])/getfieldvalue(options,'unit',1);
 	md=radarpower(md,getfieldvalue(options,'hem','s'),xlim,ylim,getfieldvalue(options,'highres',0));
 	t2=clock;fprintf('%s\n',[' done (' num2str(etime(t2,t1)) ' seconds)']);
-end
+end%}}}
 
-
-xlim=getfieldvalue(options,'xlim',[min(x) max(x)]);
-ylim=getfieldvalue(options,'ylim',[min(y) max(y)]);
-
-%mesh2grid
+% InterpFromMeshToGrid -> data_grid {{{1
 redo=1;
 if (ischar(data) & isstruct(md.mesh2grid_parameters) & ismember(data,mesh2grid_parameters)),
@@ -57,4 +51,6 @@
 
 	%use InterpFromMeshToGrid to get an gridded data to display using imagesc
+	xlim=getfieldvalue(options,'xlim',[min(x) max(x)]);
+	ylim=getfieldvalue(options,'ylim',[min(y) max(y)]);
 	cornereast =min(xlim);
 	cornernorth=max(ylim);
@@ -66,34 +62,42 @@
 	[x_m y_m data_grid]=InterpFromMeshToGrid(elements,x,y,data,cornereast,cornernorth,xspacing,yspacing,nlines,ncols,0);
 	t2=clock;fprintf('%s\n',[' done (' num2str(etime(t2,t1)) ' seconds)']);
-end
+end%}}}
 
-%Ok, we have two images, double format: 
-radar=md.sarpwr;
+%Generate RGB image{{{1
 
 %Build hsv color image from radar and results
+radar=md.sarpwr;
 transparency=getfieldvalue(options,'alpha',1.5);  %Rignot's setting: 1.5
-border=getfieldvalue(options,'border',0);
+cutoff=getfieldvalue(options,'cutoff',1.5);       %Rignot's setting: 1.5
 
 %intensity
-v=radar/max(radar(:));
+v_data=radar/max(radar(:)); %For the principla image, use radar power as intensity
+v_coba=ones(256,1);         %For the colorbar: maximal intensity
 
 %hue
-%cut results under 1.5, and log
-data_grid(find(data_grid<1.5))=1.5;
-h=bytscl(log(data_grid))/(255+1); %1 offset on colormap
+data_coba=linspace(min(data),max(data),256);%prepare colorbar (256 values between min and max)
+data_grid(find(data_grid<cutoff))=cutoff;   %cut all values below cutoff
+data_coba(find(data_grid<cutoff))=cutoff;   %cut all values below cutoff
+h_data=bytscl(data_grid)/(255+1);      %scale between 0 and 1 (log applied in processdata)
+h_coba=bytscl(data_coba)/(255+1);           %scale between 0 and 1
 
 %saturation
-s=(0.5+data_grid/125)/transparency;s(find(s>1))=1;s(find(s<0))=0;
-s(find(data_grid==1.5))=0;
-
-%Include border
-%v((1:border),:)=0;  v((end-border+1:end),:)=0; v(:,1:border)=0;v(:,(end-border+1:end))=0;
+s_data=(0.5+10.^data_grid/125)/transparency;s_data(find(s_data>1))=1;s_data(find(s_data<0))=0;
+s_coba=(0.5+10.^data_coba/125)/transparency;s_coba(find(s_coba>1))=1;s_coba(find(s_coba<0))=0;
+s_data(find(data_grid==cutoff))=0;
+s_coba(find(data_coba==cutoff))=0;
 
 %Transform hsv to rgb
 image_hsv=zeros(size(data_grid,1),size(data_grid,2),3);
-image_hsv(:,:,1)=h;
-image_hsv(:,:,2)=s;
-image_hsv(:,:,3)=v;
+image_hsv(:,:,1)=h_data;
+image_hsv(:,:,2)=s_data;
+image_hsv(:,:,3)=v_data;
 image_rgb=hsv2rgb(image_hsv);
+colorbar_hsv=zeros(size(data_coba,2),size(data_coba,1),3);
+colorbar_hsv(:,:,1)=h_coba;
+colorbar_hsv(:,:,2)=s_coba;
+colorbar_hsv(:,:,3)=v_coba;
+colorbar_rgb=hsv2rgb(colorbar_hsv);
+%}}}
 
 %Select plot area 
@@ -113,4 +117,5 @@
 end
 
+%Apply options {{{1
 %Apply options, without colorbar and without grid
 iscolorbar=getfieldvalue(options,'colorbar',1);
@@ -124,5 +129,5 @@
 
 	%create colorbar with correct colors and position
-	colorbar_rgb=buildoverlaycolorbar(md,data,getfieldvalue(options,'aplha',1.5));
+	%colorbar_rgb=buildoverlaycolorbar(md,data,getfieldvalue(options,'aplha',1.5));
 	colorbar_handle=colorbar; 
 	colorbar_image_handle=get(colorbar_handle,'Children'); 
@@ -136,11 +141,16 @@
 
 	scalestring=[];
-	scaleminmax=[max(min(data),1.5) max(data)];
+	scaleminmax=[max(min(data),cutoff) max(data)];
 	for i=1:numvalues,
 		fraction=(i-1)/(numvalues-1);
 		scalevalues(i)=round_ice(scaleminmax(1)+(scaleminmax(2)-scaleminmax(1))*fraction,2);
-		scalestring=[scalestring; sprintf('%8.4g',scalevalues(i))];
+		if exist(options,'log'),
+			logvalue=getfieldvalue(options,'log');
+			scalestring=[scalestring; sprintf('%8.4g',logvalue^scalevalues(i))];
+		else
+			scalestring=[scalestring; sprintf('%8.4g',scalevalues(i))];
+		end
 	end
 	set(colorbar_handle,'YTickLabel',scalestring);
 	set(colorbar_handle,'YColor','y');
-end
+end%}}}
Index: /issm/trunk/src/m/classes/public/plot/plotdoc.m
===================================================================
--- /issm/trunk/src/m/classes/public/plot/plotdoc.m	(revision 3292)
+++ /issm/trunk/src/m/classes/public/plot/plotdoc.m	(revision 3293)
@@ -92,4 +92,5 @@
 disp('       ''yticklabel'': specifiy yticklabel');
 disp('       ''overlay'': yes or no. This will overlay a radar amplitude image behind');
+disp('       ''cutoff'': all values below cutoff will be taken as cutoff (default is 1.5)');
 disp('       ''highres'': resolution of overlayed radar amplitude image (default is 0, high resolution is 1).');
 disp('       ''hem'': specify hemisphere ''n'' or ''s'' (default is ''s'').');
