Index: /issm/trunk-jpl/src/c/classes/Elements/Element.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 24375)
+++ /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 24376)
@@ -707,16 +707,10 @@
 	switch(this->ObjectEnum()){
 	case TriaEnum:
-		this->inputs->AddInput(new TriaInput(SmbMassBalanceSubstepEnum,&smb[0],P1Enum));
-		this->inputs->AddInput(new TriaInput(SmbRunoffSubstepEnum,&runoff[0],P1Enum));
+		this->AddInput2(SmbMassBalanceSubstepEnum,&smb[0],P1Enum);
+		this->AddInput2(SmbRunoffSubstepEnum,&runoff[0],P1Enum);
 		break;
 	case PentaEnum:
-		this->inputs->AddInput(new PentaInput(SmbMassBalanceSubstepEnum,&smb[0],P1Enum));
-		this->inputs->AddInput(new PentaInput(SmbRunoffSubstepEnum,&runoff[0],P1Enum));
-		this->InputExtrude(SmbMassBalanceSubstepEnum,-1);
-		this->InputExtrude(SmbRunoffSubstepEnum,-1);
-		break;
-	case TetraEnum:
-		this->inputs->AddInput(new TetraInput(SmbMassBalanceSubstepEnum,&smb[0],P1Enum));
-		this->inputs->AddInput(new TetraInput(SmbRunoffSubstepEnum,&runoff[0],P1Enum));
+		this->AddInput2(SmbMassBalanceSubstepEnum,&smb[0],P1Enum);
+		this->AddInput2(SmbRunoffSubstepEnum,&runoff[0],P1Enum);
 		this->InputExtrude(SmbMassBalanceSubstepEnum,-1);
 		this->InputExtrude(SmbRunoffSubstepEnum,-1);
@@ -1914,5 +1908,5 @@
 			}
 		}
-		this->inputs->AddInput(new ControlInput(input_enum,TransientInputEnum,values_input,mins_input,maxs_input,grad_input,P1Enum,id));
+		//this->inputs->AddInput(new ControlInput(input_enum,TransientInputEnum,values_input,mins_input,maxs_input,grad_input,P1Enum,id));
 		xDelete<IssmDouble>(times);
 	}
@@ -2027,5 +2021,4 @@
 				}
 			}
-			//datasetinput->AddInput(transientinput,input_id);
 			xDelete<IssmDouble>(times);
 		}
@@ -2041,5 +2034,4 @@
 			for(t=0;t<N;t++) layers[t] = vector[N*this->Sid()+t];
 			DoubleArrayInput* arrayinput=new DoubleArrayInput(input_enum,layers,N);
-			//datasetinput->AddInput(arrayinput,input_id);
 			xDelete<IssmDouble>(layers);
 		}
Index: /issm/trunk-jpl/src/c/classes/Elements/Element.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Element.h	(revision 24375)
+++ /issm/trunk-jpl/src/c/classes/Elements/Element.h	(revision 24376)
@@ -221,6 +221,4 @@
 
 		/*Virtual functions*/
-		virtual void       AddBasalInput(int input_enum, IssmDouble* values, int interpolation_enum)=0;
-		virtual void       AddInput(int input_enum, IssmDouble* values, int interpolation_enum)=0;
 		virtual void       AddBasalInput2(int input_enum, IssmDouble* values, int interpolation_enum){_error_("not implemented");};
 		virtual void       AddInput2(int input_enum, IssmDouble* values, int interpolation_enum){_error_("not implemented");};
Index: /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 24375)
+++ /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 24376)
@@ -209,36 +209,4 @@
 }
 /*}}}*/
-void       Penta::AddBasalInput(int input_enum,IssmDouble* values, int interpolation_enum){/*{{{*/
-
-	_assert_(this->inputs);
-	if(!IsOnBase()) return;
-	else{
-		if(interpolation_enum==P1Enum){
-			int        i;
-			IssmDouble extrudedvalues[NUMVERTICES];
-			Penta*     penta=NULL;
-
-			for(i=0;i<NUMVERTICES2D;i++){
-				extrudedvalues[i]=values[i];
-				extrudedvalues[i+NUMVERTICES2D]=values[i];
-			}
-			penta=this;
-			for(;;){
-				penta->inputs->AddInput(new PentaInput(input_enum,&extrudedvalues[0],P1Enum));
-				if (penta->IsOnSurface()) break;
-				penta=penta->GetUpperPenta(); _assert_(penta->Id()!=this->id);
-			}
-		}
-		else _error_("not implemented yet");
-	}
-}
-/*}}}*/
-void       Penta::AddInput(int input_enum,IssmDouble* values, int interpolation_enum){/*{{{*/
-
-	_assert_(this->inputs);
-	printf("-------------- file: Penta.cpp line: %i\n",__LINE__); 
-	this->inputs->AddInput(new PentaInput(input_enum,values,interpolation_enum));
-}
-/*}}}*/
 void       Penta::AddControlInput(int input_enum,Inputs2* inputs2,IoModel* iomodel,IssmDouble* values,IssmDouble* values_min,IssmDouble* values_max, int interpolation_enum,int id){/*{{{*/
 
@@ -280,9 +248,10 @@
 	for(int i=0;i<num_inputs;i++){
 		for(int j=0;j<NUMVERTICES;j++)nodeinputs[j]=array[(penta_vertex_ids[j]-1)*N+i];
-		datasetinput->AddInput(new PentaInput(input_enum,nodeinputs,P1Enum),individual_enums[i]);
+		_error_("not supported");
+		//datasetinput->AddInput(new PentaInput(input_enum,nodeinputs,P1Enum),individual_enums[i]);
 	}
 
 	/*Add datasetinput to element inputs*/
-	this->inputs->AddInput(datasetinput);
+	//this->inputs->AddInput(datasetinput);
 }
 /*}}}*/
Index: /issm/trunk-jpl/src/c/classes/Elements/Penta.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Penta.h	(revision 24375)
+++ /issm/trunk-jpl/src/c/classes/Elements/Penta.h	(revision 24376)
@@ -44,7 +44,5 @@
 		/*}}}*/
 		/*Penta routines:{{{*/
-		void           AddBasalInput(int input_enum, IssmDouble* values, int interpolation_enum);
 		void           AddBasalInput2(int input_enum, IssmDouble* values, int interpolation_enum);
-		void           AddInput(int input_enum, IssmDouble* values, int interpolation_enum);
 		void           AddInput2(int input_enum, IssmDouble* values, int interpolation_enum);
 		void           AddControlInput(int input_enum,Inputs2* inputs2,IoModel* iomodel,IssmDouble* values,IssmDouble* values_min,IssmDouble* values_max, int interpolation_enum,int id);
Index: /issm/trunk-jpl/src/c/classes/Elements/Seg.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Seg.h	(revision 24375)
+++ /issm/trunk-jpl/src/c/classes/Elements/Seg.h	(revision 24376)
@@ -42,6 +42,4 @@
 		/*}}}*/
 		/*Element virtual functions definitions: {{{*/
-		void        AddBasalInput(int input_enum, IssmDouble* values, int interpolation_enum){_error_("not implemented yet");};
-		void        AddInput(int input_enum, IssmDouble* values, int interpolation_enum){_error_("not implemented yet");};
 		void        AverageOntoPartition(Vector<IssmDouble>* partition_contributions,Vector<IssmDouble>* partition_areas,IssmDouble* vertex_response,IssmDouble* qmu_part){_error_("not implemented yet");};
 		void        CalvingRateLevermann(void){_error_("not implemented yet");};
Index: /issm/trunk-jpl/src/c/classes/Elements/Tetra.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tetra.cpp	(revision 24375)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tetra.cpp	(revision 24376)
@@ -140,11 +140,4 @@
 /*}}}*/
 
-void     Tetra::AddInput(int input_enum,IssmDouble* values, int interpolation_enum){/*{{{*/
-
-	/*Call inputs method*/
-	_assert_(this->inputs);
-	this->inputs->AddInput(new TetraInput(input_enum,values,interpolation_enum));
-}
-/*}}}*/
 void     Tetra::Configure(Elements* elementsin, Loads* loadsin, Nodes* nodesin,Vertices* verticesin, Materials* materialsin, Parameters* parametersin,Inputs2* inputs2in){/*{{{*/
 
@@ -417,5 +410,5 @@
 
 	/*Add input to the element: */
-	this->inputs->AddInput(new TetraInput(enum_type,values,this->element_type));
+	this->AddInput2(enum_type,values,this->element_type);
 
 	/*Free ressources:*/
Index: /issm/trunk-jpl/src/c/classes/Elements/Tetra.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tetra.h	(revision 24375)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tetra.h	(revision 24376)
@@ -40,6 +40,4 @@
 		/*}}}*/
 		/*Element virtual functions definitions: {{{*/
-		void        AddBasalInput(int input_enum, IssmDouble* values, int interpolation_enum){_error_("not implemented yet");};
-		void        AddInput(int input_enum, IssmDouble* values, int interpolation_enum);
 		void        AverageOntoPartition(Vector<IssmDouble>* partition_contributions,Vector<IssmDouble>* partition_areas,IssmDouble* vertex_response,IssmDouble* qmu_part){_error_("not implemented yet");};
 		void        CalvingRateLevermann(void){_error_("not implemented yet");};
Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 24375)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 24376)
@@ -213,43 +213,4 @@
 }
 /*}}}*/
-void       Tria::AddBasalInput(int input_enum,IssmDouble* values, int interpolation_enum){/*{{{*/
-
-	/*Call inputs method*/
-	_assert_(this->inputs);
-
-	int domaintype;
-	parameters->FindParam(&domaintype,DomainTypeEnum);
-	switch(domaintype){
-		case Domain2DhorizontalEnum:
-			this->inputs->AddInput(new TriaInput(input_enum,values,interpolation_enum));
-			break;
-		case Domain2DverticalEnum:{
-			if(interpolation_enum==P1Enum){
-				IssmDouble values2[NUMVERTICES]={0.};
-				int        numindices;
-				int       *indices = NULL;
-				int        index = this->EdgeOnBaseIndex();
-				NodeOnEdgeIndices(&numindices,&indices,index,this->FiniteElement());
-				for(int i=0;i<numindices;i++){
-					values2[indices[i]] = values[i];
-				}
-				this->inputs->AddInput(new TriaInput(input_enum,values2,interpolation_enum));
-				xDelete<int>(indices);
-			}
-			else _error_("not implemented yet");
-			}
-			break;
-		default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet");
-	}
-
-}
-/*}}}*/
-void       Tria::AddInput(int input_enum,IssmDouble* values, int interpolation_enum){/*{{{*/
-
-	/*Call inputs method*/
-	_assert_(this->inputs);
-	this->inputs->AddInput(new TriaInput(input_enum,values,interpolation_enum));
-}
-/*}}}*/
 void       Tria::AddControlInput(int input_enum,Inputs2* inputs2,IoModel* iomodel,IssmDouble* values,IssmDouble* values_min,IssmDouble* values_max, int interpolation_enum,int id){/*{{{*/
 
@@ -281,6 +242,5 @@
 	if(N!=num_inputs) _error_("sizes are not consistent");
 
-
-	int        tria_vertex_ids[3];
+	int  tria_vertex_ids[3];
 
 	for(int k=0;k<3;k++){
@@ -291,9 +251,10 @@
 	for(int i=0;i<num_inputs;i++){
 		for(int j=0;j<NUMVERTICES;j++)nodeinputs[j]=array[(tria_vertex_ids[j]-1)*N+i];
-		datasetinput->AddInput(new TriaInput(input_enum,nodeinputs,P1Enum),individual_enums[i]);
+		_error_("not supported");
+		//datasetinput->AddInput(new TriaInput(input_enum,nodeinputs,P1Enum),individual_enums[i]);
 	}
 
 	/*Add datasetinput to element inputs*/
-	this->inputs->AddInput(datasetinput);
+	//this->inputs->AddInput(datasetinput);
 }
 /*}}}*/
@@ -3183,123 +3144,4 @@
 		tria_vertex_ids[i]=reCast<int>(iomodel->elements[3*index+i]); //ids for vertices are in the elements array from Matlab
 	}
-
-//	/*Control Inputs*/
-//	if (control_analysis && !ad_analysis){
-//		if(!ad_analysis)iomodel->FindConstant(&controls,NULL,"md.inversion.control_parameters");
-//		if(ad_analysis)iomodel->FindConstant(&controls,NULL,"md.autodiff.independent_object_names");
-//
-//		for(i=0;i<num_control_type;i++){
-//			_assert_(controls[i]);
-//			int control = StringToEnumx(controls[i]);
-//			switch(control){
-//				case BalancethicknessThickeningRateEnum:
-//					if (iomodel->Data("md.balancethickness.thickening_rate")){
-//						for(j=0;j<NUMVERTICES;j++)nodeinputs[j]=iomodel->Data("md.balancethickness.thickening_rate")[tria_vertex_ids[j]-1];
-//						for(j=0;j<NUMVERTICES;j++)cmmininputs[j]=iomodel->Data("md.inversion.min_parameters")[(tria_vertex_ids[j]-1)*num_control_type+i]/yts;
-//						for(j=0;j<NUMVERTICES;j++)cmmaxinputs[j]=iomodel->Data("md.inversion.max_parameters")[(tria_vertex_ids[j]-1)*num_control_type+i]/yts;
-//						this->inputs->AddInput(new ControlInput(BalancethicknessThickeningRateEnum,TriaInputEnum,nodeinputs,cmmininputs,cmmaxinputs,P1Enum,i+1));
-//					}
-//					break;
-//				case VxEnum:
-//					if (iomodel->Data("md.initialization.vx")){
-//						for(j=0;j<NUMVERTICES;j++)nodeinputs[j]=iomodel->Data("md.initialization.vx")[tria_vertex_ids[j]-1];
-//						for(j=0;j<NUMVERTICES;j++)cmmininputs[j]=iomodel->Data("md.inversion.min_parameters")[(tria_vertex_ids[j]-1)*num_control_type+i]/yts;
-//						for(j=0;j<NUMVERTICES;j++)cmmaxinputs[j]=iomodel->Data("md.inversion.max_parameters")[(tria_vertex_ids[j]-1)*num_control_type+i]/yts;
-//						this->inputs->AddInput(new ControlInput(VxEnum,TriaInputEnum,nodeinputs,cmmininputs,cmmaxinputs,P1Enum,i+1));
-//					}
-//					break;
-//				case VyEnum:
-//					if (iomodel->Data("md.initialization.vy")){
-//						for(j=0;j<NUMVERTICES;j++)nodeinputs[j]=iomodel->Data("md.initialization.vy")[tria_vertex_ids[j]-1];
-//						for(j=0;j<NUMVERTICES;j++)cmmininputs[j]=iomodel->Data("md.inversion.min_parameters")[(tria_vertex_ids[j]-1)*num_control_type+i]/yts;
-//						for(j=0;j<NUMVERTICES;j++)cmmaxinputs[j]=iomodel->Data("md.inversion.max_parameters")[(tria_vertex_ids[j]-1)*num_control_type+i]/yts;
-//						this->inputs->AddInput(new ControlInput(VyEnum,TriaInputEnum,nodeinputs,cmmininputs,cmmaxinputs,P1Enum,i+1));
-//					}
-//					break;
-//				case ThicknessEnum:
-//					if(iomodel->Data("md.geometry.thickness")){
-//						for(j=0;j<NUMVERTICES;j++) nodeinputs[j]=iomodel->Data("md.geometry.thickness")[tria_vertex_ids[j]-1];
-//						for(j=0;j<NUMVERTICES;j++)cmmininputs[j]=iomodel->Data("md.inversion.min_parameters")[(tria_vertex_ids[j]-1)*num_control_type+i];
-//						for(j=0;j<NUMVERTICES;j++)cmmaxinputs[j]=iomodel->Data("md.inversion.max_parameters")[(tria_vertex_ids[j]-1)*num_control_type+i];
-//						this->inputs->AddInput(new ControlInput(ThicknessEnum,TriaInputEnum,nodeinputs,cmmininputs,cmmaxinputs,P1Enum,i+1));
-//					}
-//					break;
-//				case BalancethicknessSpcthicknessEnum:
-//					if(iomodel->Data("md.balancethickness.spcthickness")){
-//						for(j=0;j<NUMVERTICES;j++) nodeinputs[j]=iomodel->Data("md.balancethickness.spcthickness")[tria_vertex_ids[j]-1];
-//						for(j=0;j<NUMVERTICES;j++)cmmininputs[j]=iomodel->Data("md.inversion.min_parameters")[(tria_vertex_ids[j]-1)*num_control_type+i];
-//						for(j=0;j<NUMVERTICES;j++)cmmaxinputs[j]=iomodel->Data("md.inversion.max_parameters")[(tria_vertex_ids[j]-1)*num_control_type+i];
-//						this->inputs->AddInput(new ControlInput(BalancethicknessSpcthicknessEnum,TriaInputEnum,nodeinputs,cmmininputs,cmmaxinputs,P1Enum,i+1));
-//					}
-//					break;
-//				case BalancethicknessOmegaEnum:
-//					if(iomodel->Data("md.balancethickness.omega")){
-//						for(j=0;j<NUMVERTICES;j++) nodeinputs[j]=iomodel->Data("md.balancethickness.omega")[tria_vertex_ids[j]-1];
-//						for(j=0;j<NUMVERTICES;j++)cmmininputs[j]=iomodel->Data("md.inversion.min_parameters")[(tria_vertex_ids[j]-1)*num_control_type+i];
-//						for(j=0;j<NUMVERTICES;j++)cmmaxinputs[j]=iomodel->Data("md.inversion.max_parameters")[(tria_vertex_ids[j]-1)*num_control_type+i];
-//						this->inputs->AddInput(new ControlInput(BalancethicknessOmegaEnum,TriaInputEnum,nodeinputs,cmmininputs,cmmaxinputs,P1Enum,i+1));
-//					}
-//					break;
-//				case FrictionCoefficientEnum:
-//					if (iomodel->Data("md.friction.coefficient")){
-//						for(j=0;j<NUMVERTICES;j++)nodeinputs[j]=iomodel->Data("md.friction.coefficient")[tria_vertex_ids[j]-1];
-//						for(j=0;j<NUMVERTICES;j++)cmmininputs[j]=iomodel->Data("md.inversion.min_parameters")[(tria_vertex_ids[j]-1)*num_control_type+i];
-//						for(j=0;j<NUMVERTICES;j++)cmmaxinputs[j]=iomodel->Data("md.inversion.max_parameters")[(tria_vertex_ids[j]-1)*num_control_type+i];
-//						this->inputs->AddInput(new ControlInput(FrictionCoefficientEnum,TriaInputEnum,nodeinputs,cmmininputs,cmmaxinputs,P1Enum,i+1));
-//					}
-//					break;
-//				case MaterialsRheologyBbarEnum:
-//					if(iomodel->Data("md.materials.rheology_B")){
-//						for(j=0;j<NUMVERTICES;j++) nodeinputs[j]=iomodel->Data("md.materials.rheology_B")[tria_vertex_ids[j]-1];
-//						for(j=0;j<NUMVERTICES;j++)cmmininputs[j]=iomodel->Data("md.inversion.min_parameters")[(tria_vertex_ids[j]-1)*num_control_type+i];
-//						for(j=0;j<NUMVERTICES;j++)cmmaxinputs[j]=iomodel->Data("md.inversion.max_parameters")[(tria_vertex_ids[j]-1)*num_control_type+i];
-//						this->inputs->AddInput(new ControlInput(MaterialsRheologyBbarEnum,TriaInputEnum,nodeinputs,cmmininputs,cmmaxinputs,P1Enum,i+1));
-//					}
-//					break;
-//				case DamageDbarEnum:
-//					if(iomodel->Data("md.damage.D")){
-//						for(j=0;j<NUMVERTICES;j++) nodeinputs[j]=iomodel->Data("md.damage.D")[tria_vertex_ids[j]-1];
-//						for(j=0;j<NUMVERTICES;j++)cmmininputs[j]=iomodel->Data("md.inversion.min_parameters")[(tria_vertex_ids[j]-1)*num_control_type+i];
-//						for(j=0;j<NUMVERTICES;j++)cmmaxinputs[j]=iomodel->Data("md.inversion.max_parameters")[(tria_vertex_ids[j]-1)*num_control_type+i];
-//						this->inputs->AddInput(new ControlInput(DamageDbarEnum,TriaInputEnum,nodeinputs,cmmininputs,cmmaxinputs,P1Enum,i+1));
-//					}
-//					break;
-//				default:
-//					_error_("Control " << EnumToStringx(control) << " not implemented yet");
-//			}
-//		}
-//		for(i=0;i<num_control_type;i++) xDelete<char>(controls[i]);
-//		xDelete<char*>(controls);
-//	}
-//
-//	/*DatasetInputs*/
-//	if (control_analysis && iomodel->Data("md.inversion.cost_functions_coefficients")){
-//
-//		/*Generate cost functions associated with the iomodel*/
-//		char**   cost_functions       = NULL;
-//		int*     cost_functions_enums = NULL;
-//		int      num_cost_functions;
-//
-//		iomodel->FindConstant(&num_cost_functions,"md.inversion.num_cost_functions");
-//		iomodel->FindConstant(&cost_functions,&num_cost_functions,"md.inversion.cost_functions");
-//		if(num_cost_functions<1) _error_("No cost functions found");
-//		cost_functions_enums=xNew<int>(num_cost_functions);
-//		for(j=0;j<num_cost_functions;j++){ cost_functions_enums[j]=StringToEnumx(cost_functions[j]); }
-//
-//		/*Create inputs and add to DataSetInput*/
-//		DatasetInput* datasetinput=new DatasetInput(InversionCostFunctionsCoefficientsEnum);
-//		for(i=0;i<num_responses;i++){
-//			for(j=0;j<3;j++)nodeinputs[j]=iomodel->Data("md.inversion.cost_functions_coefficients")[(tria_vertex_ids[j]-1)*num_responses+i];
-//			datasetinput->AddInput(new TriaInput(InversionCostFunctionsCoefficientsEnum,nodeinputs,P1Enum),cost_functions_enums[i]);
-//		}
-//
-//		/*Add datasetinput to element inputs*/
-//		this->inputs->AddInput(datasetinput);
-//
-//		/*Clean up cost functions*/
-//		xDelete<int>(cost_functions_enums);
-//		for(int j=0;j<num_cost_functions;j++) xDelete<char>(cost_functions[j]);
-//		xDelete<char*>(cost_functions);
-//	}
 }
 /*}}}*/
Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.h	(revision 24375)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.h	(revision 24376)
@@ -170,6 +170,4 @@
 		/*}}}*/
 		/*Tria specific routines:{{{*/
-		void           AddBasalInput(int input_enum, IssmDouble* values, int interpolation_enum);
-		void           AddInput(int input_enum, IssmDouble* values, int interpolation_enum);
 		void           AddBasalInput2(int input_enum, IssmDouble* values, int interpolation_enum);
 		void           AddInput2(int input_enum, IssmDouble* values, int interpolation_enum);
Index: /issm/trunk-jpl/src/c/classes/Radar.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Radar.cpp	(revision 24375)
+++ /issm/trunk-jpl/src/c/classes/Radar.cpp	(revision 24376)
@@ -270,6 +270,6 @@
 
 	    /*Add power results into inputs*/
-			element->AddInput(RadarPowerMacGregorEnum,&power_M07[0],P1Enum);
-			element->AddInput(RadarPowerWolffEnum,&power_W97[0],P1Enum);
+			element->AddInput2(RadarPowerMacGregorEnum,&power_M07[0],P1Enum);
+			element->AddInput2(RadarPowerWolffEnum,&power_W97[0],P1Enum);
 
 		/*Clean up and return*/
Index: /issm/trunk-jpl/src/c/modules/KillIcebergsx/KillIcebergsx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/KillIcebergsx/KillIcebergsx.cpp	(revision 24375)
+++ /issm/trunk-jpl/src/c/modules/KillIcebergsx/KillIcebergsx.cpp	(revision 24376)
@@ -114,5 +114,5 @@
 				IssmDouble* values = xNew<IssmDouble>(numvertices);
 				for(int j=0;j<numvertices;j++) values[j] = 1.; /*Anything >0 = no ice*/
-				element->AddInput(MaskIceLevelsetEnum,values,P1Enum);
+				element->AddInput2(MaskIceLevelsetEnum,values,P1Enum);
 				xDelete<IssmDouble>(values);
 			}
