Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/Control/CreateParametersControl.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/Control/CreateParametersControl.cpp	(revision 14163)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/Control/CreateParametersControl.cpp	(revision 14164)
@@ -15,5 +15,5 @@
 
 	Parameters *parameters       = NULL;
-	bool        control_analysis;
+	bool        control_analysis,tao_analysis;
 	int         nsteps;
 	int         num_control_type;
@@ -30,4 +30,5 @@
 	/*retrieve some parameters: */
 	iomodel->Constant(&control_analysis,InversionIscontrolEnum);
+	iomodel->Constant(&tao_analysis,InversionTaoEnum);
 
 	if(control_analysis){
@@ -37,7 +38,9 @@
 		parameters->AddObject(iomodel->CopyConstantObject(InversionNumCostFunctionsEnum));
 		parameters->AddObject(iomodel->CopyConstantObject(InversionNstepsEnum));
-		parameters->AddObject(iomodel->CopyConstantObject(InversionCostFunctionThresholdEnum));
-		parameters->AddObject(iomodel->CopyConstantObject(InversionGradientOnlyEnum));
 		parameters->AddObject(iomodel->CopyConstantObject(InversionIncompleteAdjointEnum));
+		if(!tao_analysis){
+			parameters->AddObject(iomodel->CopyConstantObject(InversionCostFunctionThresholdEnum));
+			parameters->AddObject(iomodel->CopyConstantObject(InversionGradientOnlyEnum));
+		}
 
 		/*What solution type?*/
@@ -52,13 +55,21 @@
 		iomodel->FetchData(&control_type,NULL,&num_control_type,InversionControlParametersEnum);
 		iomodel->FetchData(&cm_responses,&nsteps,&num_cm_responses,InversionCostFunctionsEnum);
-		iomodel->FetchData(&cm_jump,&nsteps,NULL,InversionStepThresholdEnum);
-		iomodel->FetchData(&optscal,NULL,NULL,InversionGradientScalingEnum);
-		iomodel->FetchData(&maxiter,NULL,NULL,InversionMaxiterPerStepEnum);
+		if(!tao_analysis){
+			iomodel->FetchData(&cm_jump,&nsteps,NULL,InversionStepThresholdEnum);
+			iomodel->FetchData(&optscal,NULL,NULL,InversionGradientScalingEnum);
+			iomodel->FetchData(&maxiter,NULL,NULL,InversionMaxiterPerStepEnum);
+		}
 
-		parameters->AddObject(new IntVecParam(InversionControlParametersEnum,control_type,num_control_type));
-		parameters->AddObject(new DoubleMatParam(InversionGradientScalingEnum,optscal,nsteps,num_control_type));
-		parameters->AddObject(new DoubleMatParam(InversionCostFunctionsEnum,cm_responses,nsteps,num_cm_responses));
-		parameters->AddObject(new DoubleVecParam(InversionStepThresholdEnum,cm_jump,nsteps));
-		parameters->AddObject(new DoubleVecParam(InversionMaxiterPerStepEnum,maxiter,nsteps));
+		if(tao_analysis){
+			parameters->AddObject(new IntVecParam(InversionControlParametersEnum,control_type,num_control_type));
+			parameters->AddObject(new DoubleVecParam(InversionCostFunctionsEnum,cm_responses,num_cm_responses));
+		}
+		else{
+			parameters->AddObject(new IntVecParam(InversionControlParametersEnum,control_type,num_control_type));
+			parameters->AddObject(new DoubleMatParam(InversionGradientScalingEnum,optscal,nsteps,num_control_type));
+			parameters->AddObject(new DoubleMatParam(InversionCostFunctionsEnum,cm_responses,nsteps,num_cm_responses));
+			parameters->AddObject(new DoubleVecParam(InversionStepThresholdEnum,cm_jump,nsteps));
+			parameters->AddObject(new DoubleVecParam(InversionMaxiterPerStepEnum,maxiter,nsteps));
+		}
 
 		xDelete<int>(control_type);
Index: /issm/trunk-jpl/src/c/solutions/controltao_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/solutions/controltao_core.cpp	(revision 14163)
+++ /issm/trunk-jpl/src/c/solutions/controltao_core.cpp	(revision 14164)
@@ -49,7 +49,6 @@
 	femmodel->parameters->FindParam(&control_list,NULL,InversionControlParametersEnum);
 	femmodel->parameters->FindParam(&nsteps,InversionNstepsEnum);
-	femmodel->parameters->FindParam(&dummy,NULL,NULL,InversionMaxiterPerStepEnum);
 	femmodel->parameters->SetParam(false,SaveResultsEnum);
-	maxiter=nsteps*(int)dummy[0]; xDelete<IssmDouble>(dummy);
+	maxiter=nsteps*10;
 
 	/*Initialize TAO*/
