function data = marshallcostfunctions(cost_functions)
	pos=find(cost_functions==101); data(pos)=SurfaceAbsVelMisfitEnum();
	pos=find(cost_functions==102); data(pos)=SurfaceRelVelMisfitEnum();
	pos=find(cost_functions==103); data(pos)=SurfaceLogVelMisfitEnum();
	pos=find(cost_functions==104); data(pos)=SurfaceLogVxVyMisfitEnum();
	pos=find(cost_functions==105); data(pos)=SurfaceAverageVelMisfitEnum();
	pos=find(cost_functions==201); data(pos)=ThicknessAbsMisfitEnum();
	pos=find(cost_functions==501); data(pos)=DragCoefficientAbsGradientEnum();
	pos=find(cost_functions==502); data(pos)=RheologyBbarAbsGradientEnum();
	pos=find(cost_functions==503); data(pos)=ThicknessAbsGradientEnum();
	pos=find(cost_functions==504); data(pos)=ThicknessAlongGradientEnum();
	pos=find(cost_functions==505); data(pos)=ThicknessAcrossGradientEnum();
	pos=find(cost_functions==506); data(pos)=BalancethicknessMisfitEnum();
	pos=find(cost_functions==507); data(pos)=RheologyBAbsGradientEnum();
	pos=find(cost_functions==510); data(pos)=ThicknessPositiveEnum();
	pos=find(cost_functions==601); data(pos)=SurfaceAbsMisfitEnum();
