Index: /issm/trunk-jpl/src/m/solve/loadresultsfrombuffer.js
===================================================================
--- /issm/trunk-jpl/src/m/solve/loadresultsfrombuffer.js	(revision 20899)
+++ /issm/trunk-jpl/src/m/solve/loadresultsfrombuffer.js	(revision 20900)
@@ -14,5 +14,5 @@
 
 		//load results: 
-		structure=parseresultsfrombuffer(buffer,buffersize);
+		structure=parseresultsfrombuffer(md,buffer,buffersize);
 
 		//load structure onto results: 
Index: /issm/trunk-jpl/src/m/solve/loadresultsfromdisk.m
===================================================================
--- /issm/trunk-jpl/src/m/solve/loadresultsfromdisk.m	(revision 20899)
+++ /issm/trunk-jpl/src/m/solve/loadresultsfromdisk.m	(revision 20900)
@@ -31,5 +31,5 @@
 
 	%load results onto model
-	structure=parseresultsfromdisk(filename,~md.settings.io_gather);
+	structure=parseresultsfromdisk(md,filename,~md.settings.io_gather);
 	if isempty(fieldnames(structure)),
 		error(['No result found in binary file ' filename '. Check for solution crash.']);
Index: /issm/trunk-jpl/src/m/solve/loadresultsfromdisk.py
===================================================================
--- /issm/trunk-jpl/src/m/solve/loadresultsfromdisk.py	(revision 20899)
+++ /issm/trunk-jpl/src/m/solve/loadresultsfromdisk.py	(revision 20900)
@@ -28,5 +28,5 @@
 
 		#load results onto model
-		structure=parseresultsfromdisk(filename,not md.settings.io_gather)
+		structure=parseresultsfromdisk(md,filename,not md.settings.io_gather)
 		if not len(structure):
 			raise RuntimeError("No result found in binary file '%s'. Check for solution crash." % filename)
Index: /issm/trunk-jpl/src/m/solve/parseresultsfrombuffer.js
===================================================================
--- /issm/trunk-jpl/src/m/solve/parseresultsfrombuffer.js	(revision 20899)
+++ /issm/trunk-jpl/src/m/solve/parseresultsfrombuffer.js	(revision 20900)
@@ -1,7 +1,3 @@
-function parseresultsfrombuffer(buffer,buffersize){ //{{{
-//PARSERESULTSFROMDISK - ...
-//
-//   Usage:
-//      results=parseresultsfrombuffer(buffer,buffersize);
+function parseresultsfrombuffer(md,buffer,buffersize){ //{{{
 
 	//Open file
@@ -11,5 +7,5 @@
 
 	//Read fields until the end of the file.
-	result  = ReadData(fid);
+	result  = ReadData(fid,md);
 
 	if (MapIsEmpty(result))throw Error('no results found in binary memory buffer');
@@ -57,13 +53,13 @@
 
 		//read next result
-		result  = ReadData(fid);
+		result  = ReadData(fid,md);
 	}
 	return results;
 } // }}}
-function ReadData(fid){ //{{{
+function ReadData(fid,md){ //{{{
 //READDATA - ...
 //
 //   Usage:
-//      field=ReadData(fid)
+//      field=ReadData(fid,md)
 
 	//read field
@@ -88,5 +84,5 @@
 
 		//Process units here FIXME: this should not be done here!
-		var yts=365.0*24.0*3600.0;
+		var yts=md.constants.yts;
 		if (fieldname == 'BalancethicknessThickeningRate') for (var i=0;i<field.length;i++)field[i]= field[i]*yts;
 		else if (fieldname == 'HydrologyWaterVx') for (var i=0;i<field.length;i++)field[i]= field[i]*yts;
Index: /issm/trunk-jpl/src/m/solve/parseresultsfromdisk.m
===================================================================
--- /issm/trunk-jpl/src/m/solve/parseresultsfromdisk.m	(revision 20899)
+++ /issm/trunk-jpl/src/m/solve/parseresultsfromdisk.m	(revision 20900)
@@ -1,20 +1,12 @@
-function results=parseresultsfromdisk(filename,iosplit)
-%PARSERESULTSFROMDISK - ...
-%
-%   Usage:
-%      results=parseresultsfromdisk(filename,iosplit)
+function results=parseresultsfromdisk(md,filename,iosplit)
 
 if iosplit,
-	results=parseresultsfromdiskiosplit(filename);
+	results=parseresultsfromdiskiosplit(md,filename);
 else
-	results=parseresultsfromdiskioserial(filename);
-end
-
-
-function results=parseresultsfromdiskioserial(filename) % {{{
-%PARSERESULTSFROMDISK - ...
-%
-%   Usage:
-%      results=parseresultsfromdiskioserial(filename)
+	results=parseresultsfromdiskioserial(md,filename);
+end
+
+
+function results=parseresultsfromdiskioserial(md,filename) % {{{
 
 %Open file
@@ -26,5 +18,5 @@
 
 %Read fields until the end of the file.
-result  = ReadData(fid);
+result  = ReadData(fid,md);
 if isempty(result), error(['no results found in binary file ' filename]); end
 check_nomoresteps=0;
@@ -66,5 +58,5 @@
 	%read next result
 	try,
-		result  = ReadData(fid);
+		result  = ReadData(fid,md);
 	catch me,
 		disp('WARNING: file corrupted, trying partial recovery');
@@ -76,9 +68,5 @@
 fclose(fid);
 % }}}
-function results=parseresultsfromdiskiosplit(filename) % {{{
-%PARSERESULTSFROMDISKIOSPLIT - ...
-%
-%   Usage:
-%      results=parseresultsfromdiskiosplit(filename)
+function results=parseresultsfromdiskiosplit(md,filename) % {{{
 
 %Open file
@@ -117,5 +105,5 @@
 %third pass, this time to read the real information
 fseek(fid,0,-1); %rewind
-result=ReadData(fid);
+result=ReadData(fid,md);
 while ~isempty(result),
 
@@ -131,5 +119,5 @@
 	%read next result
 	try,
-		result=ReadData(fid);
+		result=ReadData(fid,md);
 	catch me,
 		disp('WARNING: file corrupted, results partial recovery');
@@ -142,9 +130,5 @@
 fclose(fid);
 	% }}}
-function result=ReadData(fid) % {{{
-%READDATA - ...
-%
-%   Usage:
-%      field=ReadData(fid)
+function result=ReadData(fid,md) % {{{
 
 %read field
@@ -175,5 +159,5 @@
 
 	%Process units here FIXME: this should not be done here!
-	yts=365.0*24.0*3600.0;
+	yts=md.constants.yts;
 	if strcmp(fieldname,'BalancethicknessThickeningRate'),
 		field = field*yts;
Index: /issm/trunk-jpl/src/m/solve/parseresultsfromdisk.py
===================================================================
--- /issm/trunk-jpl/src/m/solve/parseresultsfromdisk.py	(revision 20899)
+++ /issm/trunk-jpl/src/m/solve/parseresultsfromdisk.py	(revision 20900)
@@ -5,26 +5,13 @@
 import MatlabFuncs as m
 
-def parseresultsfromdisk(filename,iosplit):
-	"""
-	PARSERESULTSFROMDISK - ...
-
-	   Usage:
-	      results=parseresultsfromdisk(filename,iosplit)
-	"""
-
+def parseresultsfromdisk(md,filename,iosplit):
 	if iosplit:
-		results=parseresultsfromdiskiosplit(filename)
+		results=parseresultsfromdiskiosplit(md,filename)
 	else:
-		results=parseresultsfromdiskioserial(filename)
+		results=parseresultsfromdiskioserial(md,filename)
 
 	return results
 
-def parseresultsfromdiskioserial(filename):    # {{{
-	"""
-	PARSERESULTSFROMDISK - ...
-	 
-	    Usage:
-	       results=parseresultsfromdiskioserial(filename)
-	"""
+def parseresultsfromdiskioserial(md,filename):    # {{{
 
 	#Open file
@@ -39,5 +26,5 @@
 
 	#Read fields until the end of the file.
-	result=ReadData(fid)
+	result=ReadData(fid,md)
 
 	counter=0
@@ -90,5 +77,5 @@
 
 		#read next result
-		result=ReadData(fid)
+		result=ReadData(fid,md)
 
 	fid.close()
@@ -96,11 +83,5 @@
 	return results
 	# }}}
-def parseresultsfromdiskiosplit(filename):    # {{{
-	"""
-	PARSERESULTSFROMDISKIOSPLIT - ...
-	 
-	    Usage:
-	       results=parseresultsfromdiskiosplit(filename)
-	"""
+def parseresultsfromdiskiosplit(md,filename):    # {{{
 
 	#Open file
@@ -141,5 +122,5 @@
 	#third pass, this time to read the real information
 	fid.seek(0)    #rewind
-	result=ReadData(fid)
+	result=ReadData(fid,md)
 	while result:
 
@@ -156,5 +137,5 @@
 
 		#read next result
-		result=ReadData(fid)
+		result=ReadData(fid,md)
 
 	#close file
@@ -163,10 +144,10 @@
 	return results
 	# }}}
-def ReadData(fid):    # {{{
+def ReadData(fid,md):    # {{{
 	"""
 	READDATA - ...
 	 
 	    Usage:
-	       field=ReadData(fid)
+	       field=ReadData(fid,md)
 	"""
 
@@ -195,5 +176,5 @@
 
 		#Process units here FIXME: this should not be done here!
-		yts=365.0*24.0*3600.0
+		yts=md.constants.yts
 		if m.strcmp(fieldname,'BalancethicknessThickeningRate'):
 			field = field*yts
@@ -224,5 +205,4 @@
 		elif m.strcmp(fieldname,'CalvingCalvingrate'):
 			field = field*yts
-
 
 		result=OrderedDict()
