Index: /issm/trunk/src/m/solutions/flaim.m
===================================================================
--- /issm/trunk/src/m/solutions/flaim.m	(revision 9433)
+++ /issm/trunk/src/m/solutions/flaim.m	(revision 9434)
@@ -41,5 +41,10 @@
 ext='.log';
 filelog=fullfile(pathstr,[name ext versn]);
-filesol='solution_best.kml';
+if ~isempty(md.fm_solution)
+	[pathstr,name,ext,versn] = fileparts(md.fm_solution);
+	filesol=fullfile('',[name '' '']);
+else
+	filesol='solution_best';
+end
 
 %  calculate latitude and longitude, if necessary 
@@ -97,6 +102,11 @@
 
 display(['Post-processing the flaim output in the ''' options.fmdir ''' sub-directory.']);
-if exist(filesol,'file')
+if exist('solution_best.kml','file')
+	if ~strcmp(filesol,'solution_best')
+		system(['mv solution_best.kml ' filesol '.kml']);
+	end
 	md.results.FlaimSolution.solution=[options.fmdir '/' filesol];
+else
+	md.results.FlaimSolution.solution='';
 end
 if exist(filelog,'file')
@@ -109,7 +119,21 @@
 		md.results.FlaimSolution.quality =NaN;
 	end
-end
-if ~exist(md.results.FlaimSolution.solution,'file')
-	md.results.FlaimSolution.solution='';
+	fidi=fopen(filelog,'r');
+	while true
+		fline=fgetl(fidi);
+		if ~ischar(fline) || strncmp(fline,'........',8)
+			break
+		end
+	end
+	fido=fopen([filesol '.log'],'w');
+	while true
+		fline=fgetl(fidi);
+		if ~ischar(fline)
+			break
+		end
+		fprintf(fido,'%s\n',fline);
+	end
+	fclose(fidi);
+	fclose(fido);
 end
 display(md.results.FlaimSolution);
@@ -117,4 +141,6 @@
 cd ..
 if ~strncmpi(options.keep,'y',1)
+	system(['mv ' options.fmdir '/' filesol '.kml .']);
+	system(['mv ' options.fmdir '/' filesol '.log .']);
 	system(['rm -rf ' options.fmdir]);
 end
