Index: /issm/trunk/src/m/classes/public/QueueJobPeekGeneric.m
===================================================================
--- /issm/trunk/src/m/classes/public/QueueJobPeekGeneric.m	(revision 2616)
+++ /issm/trunk/src/m/classes/public/QueueJobPeekGeneric.m	(revision 2617)
@@ -11,6 +11,6 @@
 
 %read log files onto  fields
-md.errlog=readfile([md.name '.errlog']);
-md.outlog=readfile([md.name '.outlog']);
+md.errlog=char(textread([md.name '.errlog'],'%s','delimiter','\n'));
+md.outlog=char(textread([md.name '.outlog'],'%s','delimiter','\n'));
 
 %cat those two files
Index: /issm/trunk/src/m/classes/public/geography.m
===================================================================
--- /issm/trunk/src/m/classes/public/geography.m	(revision 2616)
+++ /issm/trunk/src/m/classes/public/geography.m	(revision 2617)
@@ -16,9 +16,9 @@
 %some checks on list of arguments
 if ((nargin~=3) | (nargout~=1)),
-	geographyusage();
+	help geography
 	error('geography error message');
 end
 if ((~ischar(iceshelfname)) | (~ischar(icesheetname))  )
-	geographyusage();
+	help geography
 	error('geography error message');
 end
@@ -26,13 +26,7 @@
 if md.counter>=2,
 	choice=input('This model already has a geometry. Are you sure you want to go ahead? (y/n)','s');
-	if ~strcmp(choice,'y')
-		error('no geometry done ... exiting');
-	end
+	if ~strcmp(choice,'y'), error('no geometry done ... exiting'); end
 else
-	if (md.counter~=1)
-		error('geography error message: you need to run mesh.m first on this model');
-	else
-		md.counter=2;
-	end
+	if (md.counter~=1), error('geography error message: you need to run mesh.m first on this model'); end
 end
 
@@ -42,7 +36,6 @@
 elements=md.elements;
 
+%Fist recover arrays of ice shelf grids and elements, and ice sheet grids and elements.
 invert=0;
-
-%Fist recover arrays of ice shelf grids and elements, and ice sheet grids and elements.
 if strcmp(iceshelfname,''), %no iceshelf contour file, we are dealing with a pure ice sheet.
 	gridoniceshelf=zeros(md.numberofgrids,1);
@@ -78,4 +71,6 @@
 
 %Return: 
+md.counter=2;
+
 md.elementoniceshelf=elementoniceshelf;
 md.gridoniceshelf=gridoniceshelf;
@@ -88,12 +83,12 @@
 
 %Keep track of input files
-%if strcmp(iceshelfname,''), md.iceshelfoutline=''; elseif strcmp(iceshelfname,'all'), md.iceshelfoutline='all'; else md.iceshelfoutline=readfile(iceshelfname); end
-%if strcmp(icesheetname,''), md.icesheetoutline=''; elseif strcmp(icesheetname,'all'), md.icesheetoutline='all'; else md.icesheetoutline=readfile(icesheetname); end
-
-function geographyusage(),
-disp('INPUT md=geography(md,iceshelfname,icesheetname)');
-disp('geography:  establish boundaries between grounded and floating ice.');
-disp('     By default, ice is considered grounded. The contour iceshelfname defines grids ');
-disp('     for which ice is floting. The contour icesheetname defines grids inside an iceshelf, ');
-disp('     that are grounded (ie: ice rises, islands, etc ...)');
-disp('     All input files are in the Argus format (extension .exp');
+if (strcmp(iceshelfname,'') | strcmp(iceshelfname,'all')),
+	md.iceshelfoutline=iceshelfname;
+else 
+	md.iceshelfoutline=char(textread(iceshelfname,'%s','delimiter','\n'));
+end
+if (strcmp(icesheetname,'') | strcmp(icesheetname,'all')),
+	md.icesheetoutline=icesheetname;
+else 
+	md.icesheetoutline=char(textread(icesheetname,'%s','delimiter','\n'));
+end
Index: /issm/trunk/src/m/classes/public/loadresultsfromcluster.m
===================================================================
--- /issm/trunk/src/m/classes/public/loadresultsfromcluster.m	(revision 2616)
+++ /issm/trunk/src/m/classes/public/loadresultsfromcluster.m	(revision 2617)
@@ -27,6 +27,6 @@
 
 %read log files onto  fields
-md.errlog=readfile([md.name '.errlog']);
-md.outlog=readfile([md.name '.outlog']);
+md.errlog=char(textread([md.name '.errlog'],'%s','delimiter','\n'));
+md.outlog=char(textread([md.name '.outlog'],'%s','delimiter','\n'));
 
 if ~isempty(md.errlog),
Index: /issm/trunk/src/m/classes/public/mesh/mesh.m
===================================================================
--- /issm/trunk/src/m/classes/public/mesh/mesh.m	(revision 2616)
+++ /issm/trunk/src/m/classes/public/mesh/mesh.m	(revision 2617)
@@ -83,9 +83,9 @@
 
 %outline names
-md.domainoutline=readfile(domainname);
+md.domainoutline=char(textread(domainname,'%s','delimiter','\n'));
 if strcmp(riftname,''),
 	md.riftoutline='';
 else
-	md.riftoutline=readfile(riftname);
+	md.riftoutline=char(textread(riftname,'%s','delimiter','\n'));
 end
 
Index: /issm/trunk/src/m/classes/public/parameterize.m
===================================================================
--- /issm/trunk/src/m/classes/public/parameterize.m	(revision 2616)
+++ /issm/trunk/src/m/classes/public/parameterize.m	(revision 2617)
@@ -63,5 +63,5 @@
 
 %Keep track of parameter file
-md.parameterfile=readfile(parametername);
+md.parameterfile=char(textread(parametername,'%s','delimiter','\n'));
 
 %Name and notes
Index: /issm/trunk/src/m/classes/public/postsolveparallel.m
===================================================================
--- /issm/trunk/src/m/classes/public/postsolveparallel.m	(revision 2616)
+++ /issm/trunk/src/m/classes/public/postsolveparallel.m	(revision 2617)
@@ -26,5 +26,5 @@
 
 	%reread onto md.errlog
-	md.errlog=readfile([md.name '.errlog']);
+	md.errlog=char(textread([md.name '.errlog'],'%s','delimiter','\n'));
 	md.memoryleaks=memoryleaks;
 
Index: sm/trunk/src/m/utils/Exp/readwrite/readfile.m
===================================================================
--- /issm/trunk/src/m/utils/Exp/readwrite/readfile.m	(revision 2616)
+++ 	(revision )
@@ -1,14 +1,0 @@
-function string=readfile(filename)
-%READFILE - ???
-%
-%   Usage:
-%      string=readfile(filename)
-
-string='';
-fid=fopen(filename);
-while(1),
-	tline=fgets(fid);
-	if ~ischar(tline), break, end
-	string=[string  tline];
-end
-fclose(fid);
