Index: /issm/trunk-jpl/src/m/classes/inversion.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/inversion.py	(revision 17779)
+++ /issm/trunk-jpl/src/m/classes/inversion.py	(revision 17780)
@@ -173,15 +173,26 @@
 		num_cost_functions=numpy.size(self.cost_functions)
 		data=copy.deepcopy(self.cost_functions)
-		data=[SurfaceAbsVelMisfitEnum()        if x==101 else x for x in self.cost_functions]
-		data=[SurfaceRelVelMisfitEnum()        if x==102 else x for x in self.cost_functions]
-		data=[SurfaceLogVelMisfitEnum()        if x==103 else x for x in self.cost_functions]
-		data=[SurfaceLogVxVyMisfitEnum()       if x==104 else x for x in self.cost_functions]
-		data=[SurfaceAverageVelMisfitEnum()    if x==105 else x for x in self.cost_functions]
-		data=[ThicknessAbsMisfitEnum()         if x==201 else x for x in self.cost_functions]
-		data=[DragCoefficientAbsGradientEnum() if x==501 else x for x in self.cost_functions]
-		data=[RheologyBbarAbsGradientEnum()    if x==502 else x for x in self.cost_functions]
-		data=[ThicknessAbsGradientEnum()       if x==503 else x for x in self.cost_functions]
-		data=[ThicknessAlongGradientEnum()     if x==504 else x for x in self.cost_functions]
-		data=[ThicknessAcrossGradientEnum()    if x==505 else x for x in self.cost_functions]
+		pos=[i for i,x in enumerate(self.cost_functions) if x==101];
+		for i in pos: data[i]=SurfaceAbsVelMisfitEnum()        
+		pos=[i for i,x in enumerate(self.cost_functions) if x==102];
+		for i in pos: data[i]=SurfaceRelVelMisfitEnum()        
+		pos=[i for i,x in enumerate(self.cost_functions) if x==103];
+		for i in pos: data[i]=SurfaceLogVelMisfitEnum()        
+		pos=[i for i,x in enumerate(self.cost_functions) if x==104];
+		for i in pos: data[i]=SurfaceLogVxVyMisfitEnum()       
+		pos=[i for i,x in enumerate(self.cost_functions) if x==105];
+		for i in pos: data[i]=SurfaceAverageVelMisfitEnum()    
+		pos=[i for i,x in enumerate(self.cost_functions) if x==201];
+		for i in pos: data[i]=ThicknessAbsMisfitEnum()         
+		pos=[i for i,x in enumerate(self.cost_functions) if x==501];
+		for i in pos: data[i]=DragCoefficientAbsGradientEnum() 
+		pos=[i for i,x in enumerate(self.cost_functions) if x==502];
+		for i in pos: data[i]=RheologyBbarAbsGradientEnum()    
+		pos=[i for i,x in enumerate(self.cost_functions) if x==503];
+		for i in pos: data[i]=ThicknessAbsGradientEnum()       
+		pos=[i for i,x in enumerate(self.cost_functions) if x==504];
+		for i in pos: data[i]=ThicknessAlongGradientEnum()     
+		pos=[i for i,x in enumerate(self.cost_functions) if x==505];
+		for i in pos: data[i]=ThicknessAcrossGradientEnum()    
 		WriteData(fid,'data',numpy.array(data).reshape(1,-1),'enum',InversionCostFunctionsEnum(),'format','DoubleMat','mattype',3)
 		WriteData(fid,'data',num_cost_functions,'enum',InversionNumCostFunctionsEnum(),'format','Integer')
