Index: /issm/trunk-jpl/src/m/solve/WriteData.m
===================================================================
--- /issm/trunk-jpl/src/m/solve/WriteData.m	(revision 21703)
+++ /issm/trunk-jpl/src/m/solve/WriteData.m	(revision 21704)
@@ -174,7 +174,6 @@
 	s=size(data);
 
-	if s(1)==1 | s(2)==1,
-		%No need to use Compressed format
-		error('Not needed (should call WriteData with DoubleMat)');
+	if (s(1)==1 & s(2)==1 & isnan(data)),
+		s(1)=0; s(2)=0;
 	end
 
@@ -192,17 +191,25 @@
 	fwrite(fid,s(2),'int'); 
 
-	%Write offset and range
-	A = data(1:end-1,:);
-	offset = min(A(:));
-	range = max(A(:)) - offset;
-	fwrite(fid,offset,'double'); 
-	fwrite(fid,range,'double'); 
-
-	%Convert data to uint8 and write it
-	A=uint8((A-offset)/range*255);
-	fwrite(fid,A','uint8'); %get to the "c" convention, hence the transpose
-
-	%Write last row as double (time)
-	fwrite(fid,data(end,:),'double'); 
+	if s(1)*s(2),
+
+		%Write offset and range
+		A = data(1:end-1,:);
+		offset = min(A(:));
+		range = max(A(:)) - offset;
+		fwrite(fid,offset,'double');
+		fwrite(fid,range,'double');
+
+		%Convert data to uint8 and write it
+		A=uint8((A-offset)/range*255);
+		fwrite(fid,A','uint8'); %get to the "c" convention, hence the transpose
+
+		%Write last row as double (time)
+		fwrite(fid,data(end,:),'double'); 
+	else
+
+		%Write empty offset and range
+		fwrite(fid,0,'double');
+		fwrite(fid,0,'double');
+	end
 	% }}}
 elseif strcmpi(format,'MatArray'), % {{{
