Index: /issm/trunk/src/c/objects/Loads/Icefront.cpp
===================================================================
--- /issm/trunk/src/c/objects/Loads/Icefront.cpp	(revision 9512)
+++ /issm/trunk/src/c/objects/Loads/Icefront.cpp	(revision 9513)
@@ -89,10 +89,5 @@
 
 	/*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]);
-	}
+	icefront_fill=(int)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 9512)
+++ /issm/trunk/src/m/classes/model.m	(revision 9513)
@@ -140,5 +140,5 @@
 		 %Boundary conditions
 		 nodeonboundary = modelfield('default',NaN,'marshall',false);
-		 pressureload   = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',3);
+		 pressureload   = modelfield('default',NaN,'marshall',true,'preprocess','marshallpressureload','format','DoubleMat','mattype',3);
 		 spcvx          = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1);
 		 spcvy          = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1);
Index: /issm/trunk/src/m/model/marshall.m
===================================================================
--- /issm/trunk/src/m/model/marshall.m	(revision 9512)
+++ /issm/trunk/src/m/model/marshall.m	(revision 9513)
@@ -340,2 +340,7 @@
 function out=marshallverbose(in)
 	out = VerboseToBinary(in);
+function out=marshallpressureload(in)
+	out=in;
+	pos=find(in(:,end)==0); out(pos,end)=AirEnum;
+	pos=find(in(:,end)==1); out(pos,end)=WaterEnum;
+	pos=find(in(:,end)==2); out(pos,end)=IceEnum;
