Index: /issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 9464)
+++ /issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 9465)
@@ -18,4 +18,5 @@
 	Parameters *parameters       = NULL;
 	double     *requestedoutputs = NULL;
+	char       *rheology_law     = NULL;
 	
 	if(*pparameters)return; //do not create parameters twice!
@@ -23,4 +24,11 @@
 	/*Initialize dataset: */
 	parameters = iomodel->CopyConstants();
+
+	/*Convert some parameters to Enums*/
+	iomodel->FetchData(&rheology_law,RheologyLawEnum);
+	if      (strcmp(rheology_law,"none")==0)      parameters->AddObject(new IntParam(RheologyLawEnum,NoneEnum));
+	else if (strcmp(rheology_law,"paterson")==0)  parameters->AddObject(new IntParam(RheologyLawEnum,PatersonEnum));
+	else if (strcmp(rheology_law,"arrhenius")==0) parameters->AddObject(new IntParam(RheologyLawEnum,ArrheniusEnum));
+	else _error_("rheology law %s not supported",rheology_law);
 
 	/*some parameters that did not come with the iomodel: */
Index: /issm/trunk/src/c/objects/Loads/Icefront.cpp
===================================================================
--- /issm/trunk/src/c/objects/Loads/Icefront.cpp	(revision 9464)
+++ /issm/trunk/src/c/objects/Loads/Icefront.cpp	(revision 9465)
@@ -83,7 +83,16 @@
 	else _error_("in_icefront_type %s not supported yet!",EnumToStringx(in_icefront_type));
 
-	if (in_icefront_type==PattynIceFrontEnum || in_icefront_type==StokesIceFrontEnum) num_nodes=4;
-	else num_nodes=2;
-	icefront_fill=(int)*(iomodel->Data(PressureloadEnum)+segment_width*i+segment_width-1); 
+	if (in_icefront_type==PattynIceFrontEnum || in_icefront_type==StokesIceFrontEnum)
+	 num_nodes=4;
+	else 
+	 num_nodes=2;
+
+	/*Fill*/
+	switch((int)iomodel->Data(PressureloadEnum)[segment_width*i+segment_width-1]){
+		case 0: icefront_fill=AirEnum; break;
+		case 1: icefront_fill=WaterEnum; break;
+		case 2: icefront_fill=IceEnum; break;
+		default: _error_("Fill %i not supported",iomodel->Data(PressureloadEnum)[segment_width*i+segment_width-1]);
+	}
 	
 	/*Ok, we have everything to build the object: */
Index: /issm/trunk/src/m/classes/model.m
===================================================================
--- /issm/trunk/src/m/classes/model.m	(revision 9464)
+++ /issm/trunk/src/m/classes/model.m	(revision 9465)
@@ -123,5 +123,5 @@
 		 rheology_B       = {NaN,true,'DoubleMat',1};
 		 rheology_n       = {NaN,true,'DoubleMat',2};
-		 rheology_law     = {0,true,'Integer'};
+		 rheology_law     = {'',true,'String'};
 
 		 %Geometrical parameters
@@ -448,6 +448,5 @@
 			 if isfield(structmd,'gridonboundary'), md.nodeonboundary=structmd.gridonboundary; end
 
-			 %Field class change
-
+			 %Field changes
 			 if (isfield(structmd,'type') & ischar(structmd.type)), 
 				 if strcmpi(structmd.type,'2d'), md.dim=2; end
@@ -473,8 +472,13 @@
 				 pos=find(structmd.spcvelocity(:,3)); md.spcvz(pos)=structmd.spcvelocity(pos,6); 
 			 end
-			 if ismember(structmd.pressureload(end,end),[AirEnum() WaterEnum() IceEnum()]),
-				 pos=find(md.pressureload(:,end)==AirEnum);   md.pressureload(pos,end)=0;
-				 pos=find(md.pressureload(:,end)==WaterEnum); md.pressureload(pos,end)=1;
-				 pos=find(md.pressureload(:,end)==IceEnum);   md.pressureload(pos,end)=2;
+			 if ismember(structmd.pressureload(end,end),[118 119 120]),
+				 pos=find(structmd.pressureload(:,end)==120); md.pressureload(pos,end)=0;
+				 pos=find(structmd.pressureload(:,end)==118); md.pressureload(pos,end)=1;
+				 pos=find(structmd.pressureload(:,end)==119); md.pressureload(pos,end)=2;
+			 end
+			 if isnumeric(structmd.rheology_law),
+				 if (structmd.rheology_law==272), md.rheology_law='none';      end
+				 if (structmd.rheology_law==368), md.rheology_law='paterson';  end
+				 if (structmd.rheology_law==369), md.rheology_law='arrhenius'; end
 			 end
 
@@ -717,6 +721,6 @@
 
 			 %Rheology law: what is the temperature dependence of B with T
-			 %available: None, Paterson and Arrhenius
-			 md.rheology_law=PatersonEnum;
+			 %available: none, paterson and arrhenius
+			 md.rheology_law='paterson';
 
 			 %i/o:
Index: /issm/trunk/src/m/model/display/displaymaterials.m
===================================================================
--- /issm/trunk/src/m/model/display/displaymaterials.m	(revision 9464)
+++ /issm/trunk/src/m/model/display/displaymaterials.m	(revision 9465)
@@ -15,5 +15,5 @@
 fielddisplay(md,'rheology_B','flow law parameter [Pa/s^(1/n)]');
 fielddisplay(md,'rheology_n','Glen''s flow law exponent');
-fielddisplay(md,'rheology_law','law for the temperature dependance of the rheology: NoneEnum, PatersonEnum or Arrhenius');
+fielddisplay(md,'rheology_law','law for the temperature dependance of the rheology: ''none'', ''paterson'' or ''arrhenius''');
 fielddisplay(md,'heatcapacity','heat capacity [J/kg/K]');
 fielddisplay(md,'thermalconductivity','ice thermal conductivity [W/m/K]');
Index: /issm/trunk/src/m/model/ismodelselfconsistent.m
===================================================================
--- /issm/trunk/src/m/model/ismodelselfconsistent.m	(revision 9464)
+++ /issm/trunk/src/m/model/ismodelselfconsistent.m	(revision 9465)
@@ -176,6 +176,6 @@
 	message(['model not consistent: model ' md.name ' hydrostatic_adjustment field should be AbsoluteEnum or IncrementalEnum']);
 end
-if ~ismember(md.rheology_law,[NoneEnum PatersonEnum ArrheniusEnum]),
-	message(['model not consistent: model ' md.name ' rheology_law field should be NoneEnum, PatersonEnum or ArrheniusEnum']);
+if ~ismember({md.rheology_law},{'none' 'paterson' 'arrhenius']),
+	message(['model not consistent: model ' md.name ' rheology_law field should be ''none'' ''paterson'' or ''arrhenius''']);
 end
 %}}}
Index: /issm/trunk/test/Par/ISMIPF.par
===================================================================
--- /issm/trunk/test/Par/ISMIPF.par	(revision 9464)
+++ /issm/trunk/test/Par/ISMIPF.par	(revision 9465)
@@ -17,5 +17,5 @@
 md.rheology_B=1.4734*10^14*ones(md.numberofnodes,1);
 md.rheology_n=1*ones(md.numberofelements,1);
-md.rheology_law=NoneEnum;
+md.rheology_law='none';
 
 disp('      boundary conditions for diagnostic model');
