Index: /issm/trunk/src/c/EnumDefinitions/Synchronize.sh
===================================================================
--- /issm/trunk/src/c/EnumDefinitions/Synchronize.sh	(revision 9380)
+++ /issm/trunk/src/c/EnumDefinitions/Synchronize.sh	(revision 9381)
@@ -3,5 +3,5 @@
 
 #Get all lines of EnumDefinitions2.h which hold Enum | remove all comas | add line number in the first column > put everything in file temp
-cat EnumDefinitions.h | grep -e "[0-9]Enum" -e "[a-zA-Z]Enum" | grep -v include | sed -e "s/,//g" | awk '{ printf "%s %s\n", NR, $0 }' > temp
+cat EnumDefinitions.h | grep -e "[0-9]Enum," -e "[a-zA-Z]Enum," | grep -v include | sed -e "s/,//g" | awk '{ printf "%s %s\n", NR, $0 }' > temp
 
 #Removed existing files
Index: /issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp
===================================================================
--- /issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp	(revision 9380)
+++ /issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp	(revision 9381)
@@ -494,5 +494,4 @@
 		case HydrologyWaterVyEnum : return "HydrologyWaterVy";
 		case SpcDynamicEnum : return "SpcDynamic";
-		case MaximumNumberOfEnums : return "MaximumNumberOfE";
 		default : return "unknown";
 
Index: /issm/trunk/src/c/modules/ModelProcessorx/Qmu/CreateParametersQmu.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Qmu/CreateParametersQmu.cpp	(revision 9380)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Qmu/CreateParametersQmu.cpp	(revision 9381)
@@ -211,7 +211,9 @@
 		xfree((void**)&qmuerrname);
 		xfree((void**)&qmuoutname);
-		xfree((void**)&name);
 		/*}}}*/
 	} //if(qmu_analysis)
+
+	/*Free data*/
+	xfree((void**)&name);
 
 	/*Assign output pointer: */
Index: /issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp
===================================================================
--- /issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp	(revision 9380)
+++ /issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp	(revision 9381)
@@ -492,5 +492,4 @@
 	else if (strcmp(name,"HydrologyWaterVy")==0) return HydrologyWaterVyEnum;
 	else if (strcmp(name,"SpcDynamic")==0) return SpcDynamicEnum;
-	else if (strcmp(name,"MaximumNumberOfE")==0) return MaximumNumberOfEnums;
 	else _error_("Enum %s not found",name);
 
Index: /issm/trunk/src/c/objects/IoModel.cpp
===================================================================
--- /issm/trunk/src/c/objects/IoModel.cpp	(revision 9380)
+++ /issm/trunk/src/c/objects/IoModel.cpp	(revision 9381)
@@ -625,4 +625,7 @@
 						/*Add string to parameters: */
 						parameters->AddObject(new StringParam(record_enum,string));
+
+						/*Free string*/
+						xfree((void**)&string);
 
 						break;
Index: /issm/trunk/src/m/classes/model.m
===================================================================
--- /issm/trunk/src/m/classes/model.m	(revision 9380)
+++ /issm/trunk/src/m/classes/model.m	(revision 9381)
@@ -93,5 +93,5 @@
 		 riftinfo             = {NaN,true,'DoubleMat',3};
 		 riftproperties       = {NaN,false};
-		 numrifts             = {0,false};
+		 numrifts             = {0,true,'Integer'};
 
 		 %Projections
@@ -245,6 +245,5 @@
 		 strainrate                          = {NaN,false};
 		 %Debugging
-		 verbose                             = {0,false};
-		 verbose_binary                      = {0,true,'Integer'};
+		 verbose                             = {0,true,'Integer'};
 		 element_debug                       = {0,false};
 		 element_debugid                     = {NaN,false};
Index: /issm/trunk/src/m/model/marshall.m
===================================================================
--- /issm/trunk/src/m/model/marshall.m	(revision 9380)
+++ /issm/trunk/src/m/model/marshall.m	(revision 9381)
@@ -23,7 +23,14 @@
 	marshall=template.(field){2};
 	if marshall,
-		WriteData(md,fid,template,field);
-	end
-end
+		if strcmpi(field,'verbose'),
+			WriteData(fid,field,VerboseToBinary(md.verbose),{'Integer'});
+		else
+			WriteData(fid,field,md.(field),template.(field)(3:end));
+		end
+	end
+end
+
+%Quick fix: add some fields needed by parameters
+WriteData(fid,'numberofvertices',md.numberofnodes,{'Integer'});
 
 %close file
@@ -33,17 +40,17 @@
 end
 
-function WriteData(md,fid,template,field) % {{{
+function WriteData(fid,fieldname,fieldvalue,fieldtype) % {{{
 %WRITEDATA - write model field in binary file
 %
 %   Usage:
-%      WriteData(md,fid,template,field)
+%      WriteData(fid,fieldname,fieldvalue,fieldtype)
 %
 %   Example:
-%     WriteData(md,fid,template,'thickness')
+%     WriteData(fid,'thickness',md.thickness,{'DoubleMat',1})
 
 %first recover data, enum of the data and type of data
-data=md.(field);
-enum=BuildEnum(field);
-data_type=template.(field){3};
+data=fieldvalue;
+enum=BuildEnum(fieldname);
+data_type=fieldtype{1};
 
 if issparse(data),
@@ -105,5 +112,5 @@
 
 	%matrix type:
-	mattype=template.(field){4};
+	mattype=fieldtype{2};
 
 	%Get size
@@ -113,5 +120,5 @@
 		s(1)=0; s(2)=0;
 	end
-	
+
 	%first write length of record
 	fwrite(fid,4+4+8*s(1)*s(2)+4+4,'int');  %2 integers (32 bits) + the double matrix + code + matrix type
@@ -131,5 +138,5 @@
 
 	%matrix type:
-	mattype=template.(field){4};
+	mattype=fieldtype{2};
 
 	%Get size
@@ -139,5 +146,5 @@
 		s(1)=0; s(2)=0;
 	end
-	
+
 	%first write length of record
 	fwrite(fid,4+4+8*s(1)*s(2)+4+4,'int');  %2 integers (32 bits) + the double matrix + code + matrix type
@@ -157,5 +164,5 @@
 
 	%matrix type:
-	mattype=template.(field){4};
+	mattype=fieldtype{2};
 
 	%Get size
@@ -165,5 +172,5 @@
 		s(1)=0; s(2)=0;
 	end
-	
+
 	%first write length of record
 	fwrite(fid,4+4+8*s(1)*s(2)+4+4,'int');  %2 integers (32 bits) + the double matrix + code + matrix type
@@ -183,5 +190,5 @@
 
 	numrecords=numel(data);
-	
+
 	%first get length of record
 	recordlength=4+4; %number of records + code
@@ -190,5 +197,5 @@
 		s=size(matrix);
 		recordlength=recordlength+4*2+... %row and col of matrix
-					 s(1)*s(2)*8; %matrix of doubles
+			s(1)*s(2)*8; %matrix of doubles
 	end
 
@@ -201,5 +208,5 @@
 	%write data, first number of records
 	fwrite(fid,numrecords,'int'); 
-	
+
 	%write each matrix: 
 	for i=1:numrecords,
@@ -230,5 +237,5 @@
 	%now write length of string array
 	fwrite(fid,num,'int'); 
-	
+
 	%now write the strings
 	for i=1:num,
Index: /issm/trunk/src/m/model/parseresultsfromdisk.m
===================================================================
--- /issm/trunk/src/m/model/parseresultsfromdisk.m	(revision 9380)
+++ /issm/trunk/src/m/model/parseresultsfromdisk.m	(revision 9381)
@@ -49,5 +49,5 @@
 fclose(fid);
 % }}}
-function results=parseresultsfromdisk(filename) % {{{
+function results=parseresultsfromdiskiosplit(filename) % {{{
 %PARSERESULTSFROMDISKIOSPLIT - ...
 %
Index: /issm/trunk/src/m/model/presolve.m
===================================================================
--- /issm/trunk/src/m/model/presolve.m	(revision 9380)
+++ /issm/trunk/src/m/model/presolve.m	(revision 9381)
@@ -35,8 +35,4 @@
 end
 
-
-%resolve some fields at solution time
-md.verbose_binary=VerboseToBinary(md.verbose);
-
 %Control methods
 md.num_control_type=numel(md.control_type);
