Index: /issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 9471)
+++ /issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 9472)
@@ -25,11 +25,4 @@
 	parameters = iomodel->CopyConstants();
 
-	/*Convert some parameters to Enums*/
-	iomodel->Constant(&rheology_law,RheologyLawEnum);
-	if      (strcmp(rheology_law,"none")==0)      parameters->SetParam(RheologyLawEnum,NoneEnum);
-	else if (strcmp(rheology_law,"paterson")==0)  parameters->SetParam(RheologyLawEnum,PatersonEnum);
-	else if (strcmp(rheology_law,"arrhenius")==0) parameters->SetParam(RheologyLawEnum,ArrheniusEnum);
-	else _error_("rheology law %s not supported",rheology_law);
-
 	/*some parameters that did not come with the iomodel: */
 	parameters->AddObject(new IntParam(SolutionTypeEnum,solution_type));
Index: /issm/trunk/src/m/model/marshall.m
===================================================================
--- /issm/trunk/src/m/model/marshall.m	(revision 9471)
+++ /issm/trunk/src/m/model/marshall.m	(revision 9472)
@@ -25,4 +25,14 @@
 		if strcmpi(field,'verbose'),
 			WriteData(fid,field,VerboseToBinary(md.verbose),{'Integer'});
+		elseif strcmpi(field,'rheology_law'),
+			if strcmpi(md.rheology_law,'none'),
+				WriteData(fid,field,NoneEnum,{'Integer'});
+			elseif strcmpi(md.rheology_law,'paterson'),
+				WriteData(fid,field,PatersonEnum,{'Integer'});
+			elseif strcmpi(md.rheology_law,'arrhenius'),
+				WriteData(fid,field,ArrheniusEnum,{'Integer'});
+			else
+				error('unkown value');
+			end
 		else
 			WriteData(fid,field,md.(field),template.(field)(3:end));
