Index: /issm/trunk-jpl/src/c/classes/Elements/ElementHook.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/ElementHook.cpp	(revision 17513)
+++ /issm/trunk-jpl/src/c/classes/Elements/ElementHook.cpp	(revision 17514)
@@ -89,44 +89,4 @@
 /*}}}*/
 /*FUNCTION ElementHook::SpawnTriaHook{{{*/
-void ElementHook::SpawnTriaHook(ElementHook* triahook,int location){
-
-	/*Create arrow of indices depending on location (0=base 1=surface)*/
-	int indices[3];
-	switch(location){
-		case 0:
-			indices[0] = 0;
-			indices[1] = 1;
-			indices[2] = 2;
-			break;
-		case 1:
-			indices[0] = 3;
-			indices[1] = 4;
-			indices[2] = 5;
-			break;
-		default:
-			_error_("case "<<location<<" not supported");
-	}
-
-	triahook->numanalyses=this->numanalyses;
-
-	/*Spawn nodes hook*/
-	triahook->hnodes=new Hook*[this->numanalyses];
-	for(int i=0;i<this->numanalyses;i++){
-		/*Do not do anything if Hook is empty*/
-		if (!this->hnodes[i] || this->hnodes[i]->GetNum()==0){
-			triahook->hnodes[i]=NULL;
-		}
-		else{
-			triahook->hnodes[i]=this->hnodes[i]->Spawn(indices,3);
-		}
-	}
-
-	/*do not spawn hmaterial. material will be taken care of by Penta*/
-	triahook->hmaterial=NULL;
-	triahook->hvertices=(Hook*)this->hvertices->Spawn(indices,3);
-	triahook->hmatpar=(Hook*)this->hmatpar->copy();
-}
-/*}}}*/
-/*FUNCTION ElementHook::SpawnTriaHook{{{*/
 void ElementHook::SpawnTriaHook(ElementHook* triahook,int index1,int index2,int index3){
 
Index: /issm/trunk-jpl/src/c/classes/Elements/ElementHook.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/ElementHook.h	(revision 17513)
+++ /issm/trunk-jpl/src/c/classes/Elements/ElementHook.h	(revision 17514)
@@ -25,5 +25,4 @@
 
 		void SetHookNodes(int* node_ids,int numnodes,int analysis_counter);
-		void SpawnTriaHook(ElementHook* triahook,int location); //3d only TO BE REMOVED (replaced by the one below)
 		void SpawnTriaHook(ElementHook* triahook,int index1,int index2,int index3); //3d only
 		void SpawnSegHook(ElementHook* triahook,int ndex1,int index2); //2d only
Index: /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 17513)
+++ /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 17514)
@@ -2144,5 +2144,5 @@
 /*}}}*/
 /*FUNCTION Penta::SpawnTria {{{*/
-Tria*  Penta::SpawnTria(int location){
+Tria*  Penta::SpawnTria(int index1,int index2,int index3){
 
 	int analysis_counter;
@@ -2154,8 +2154,8 @@
 	Tria* tria=new Tria();
 	tria->id=this->id;
-	tria->inputs=(Inputs*)this->inputs->SpawnTriaInputs(location);
+	tria->inputs=(Inputs*)this->inputs->SpawnTriaInputs(index1,index2,index3);
 	tria->parameters=this->parameters;
 	tria->element_type=P1Enum; //Only P1 CG for now (TO BE CHANGED)
-	this->SpawnTriaHook(dynamic_cast<ElementHook*>(tria),location);
+	this->SpawnTriaHook(dynamic_cast<ElementHook*>(tria),index1,index2,index3);
 
 	/*Spawn material*/
@@ -2180,5 +2180,5 @@
 	if(this->inputs->GetInput(VxEnum)) this->InputDepthAverageAtBase(VxEnum,VxAverageEnum);
 	if(this->inputs->GetInput(VyEnum)) this->InputDepthAverageAtBase(VyEnum,VyAverageEnum);
-	Tria* tria=(Tria*)SpawnTria(0); //lower face is 0, upper face is 1.
+	Tria* tria=(Tria*)SpawnTria(0,1,2);
 	this->inputs->DeleteInput(MaterialsRheologyBbarEnum);
 	this->inputs->DeleteInput(DamageDbarEnum);
@@ -2194,5 +2194,5 @@
 	_assert_(this->IsOnSurface());
 
-	Tria* tria=(Tria*)SpawnTria(1); //lower face is 0, upper face is 1.
+	Tria* tria=(Tria*)SpawnTria(3,4,5);
 
 	return tria;
@@ -2268,5 +2268,5 @@
 		/*This element should be collapsed into a tria element at its base. Create this tria element, 
 		 * and compute SurfaceArea*/
-		tria=(Tria*)SpawnTria(0); //lower face is 0, upper face is 1.
+		tria=(Tria*)SpawnTria(0,1,2);
 		S=tria->SurfaceArea();
 		delete tria->material; delete tria;
@@ -2275,5 +2275,5 @@
 	else{
 
-		tria=(Tria*)SpawnTria(1); //lower face is 0, upper face is 1.
+		tria=(Tria*)SpawnTria(3,4,5);
 		S=tria->SurfaceArea();
 		delete tria->material; delete tria;
@@ -2892,5 +2892,5 @@
 
 	/*Spawn Tria element from the base of the Penta: */
-	Tria* tria=(Tria*)SpawnTria(0); //lower face is 0, upper face is 1.
+	Tria* tria=(Tria*)SpawnTria(0,1,2);
 	mass_flux=tria->MassFlux(segment);
 	delete tria->material; delete tria;
@@ -2916,5 +2916,5 @@
 
 	/*Spawn Tria element from the base of the Penta: */
-	Tria* tria=(Tria*)SpawnTria(0); //lower face is 0, upper face is 1.
+	Tria* tria=(Tria*)SpawnTria(0,1,2);
 	mass_flux=tria->MassFlux(x1,y1,x2,y2,segment_id);
 	delete tria->material; delete tria;
@@ -3268,5 +3268,5 @@
 		case DragCoefficientAbsGradientEnum:
 			if(IsOnBed()){
-				tria=(Tria*)SpawnTria(0); //lower face is 0, upper face is 1.
+				tria=(Tria*)SpawnTria(0,1,2);
 				tria->GradjDragGradient(gradient,control_index);
 				delete tria->material; delete tria;
@@ -3275,5 +3275,5 @@
 		case RheologyBbarAbsGradientEnum:
 			if(IsOnBed()){
-				tria=(Tria*)SpawnTria(0); //lower face is 0, upper face is 1.
+				tria=(Tria*)SpawnTria(0,1,2);
 				tria->GradjBGradient(gradient,control_index);
 				delete tria->material; delete tria;
@@ -3293,5 +3293,5 @@
 
 	/*Spawn tria*/
-	Tria* tria=(Tria*)SpawnTria(0); //lower face is 0, upper face is 1.
+	Tria* tria=(Tria*)SpawnTria(0,1,2);
 	tria->GradjDragSSA(gradient,control_index);
 	delete tria->material; delete tria;
@@ -3472,5 +3472,5 @@
 
 	/*Collapse element to the base*/
-	Tria* tria=(Tria*)SpawnTria(0); //lower face is 0, upper face is 1.
+	Tria* tria=(Tria*)SpawnTria(0,1,2);
 	tria->GradjBSSA(gradient,control_index);
 	delete tria->material; delete tria;
@@ -3492,5 +3492,5 @@
 
 	/*Collapse element to the base*/
-	Tria* tria=(Tria*)SpawnTria(0);
+	Tria* tria=(Tria*)SpawnTria(0,1,2);
 	tria->GradjBSSA(gradient,control_index);    //We use SSA as an estimate for now
 	delete tria->material; delete tria;
@@ -3511,5 +3511,5 @@
 
 	/*Collapse element to the base*/
-	Tria* tria=(Tria*)SpawnTria(0);
+	Tria* tria=(Tria*)SpawnTria(0,1,2);
 	tria->GradjBSSA(gradient,control_index);    //We use SSA as an estimate for now
 	delete tria->material; delete tria;
@@ -3586,5 +3586,5 @@
 		/*This element should be collapsed into a tria element at its base. Create this tria element, 
 		 * and compute SurfaceAverageVelMisfit*/
-		tria=(Tria*)SpawnTria(0); //lower face is 0, upper face is 1.
+		tria=(Tria*)SpawnTria(0,1,2);
 		J=tria->SurfaceAverageVelMisfit();
 		delete tria->material; delete tria;
@@ -3593,5 +3593,5 @@
 	else{
 
-		tria=(Tria*)SpawnTria(1); //lower face is 0, upper face is 1.
+		tria=(Tria*)SpawnTria(3,4,5);
 		J=tria->SurfaceAverageVelMisfit();
 		delete tria->material; delete tria;
@@ -3623,5 +3623,5 @@
 		/*This element should be collapsed into a tria element at its base. Create this tria element, 
 		 * and compute SurfaceAbsVelMisfit*/
-		tria=(Tria*)SpawnTria(0); //lower face is 0, upper face is 1.
+		tria=(Tria*)SpawnTria(0,1,2);
 		J=tria->SurfaceAbsVelMisfit();
 		delete tria->material; delete tria;
@@ -3630,5 +3630,5 @@
 	else{
 
-		tria=(Tria*)SpawnTria(1); //lower face is 0, upper face is 1.
+		tria=(Tria*)SpawnTria(3,4,5);
 		J=tria->SurfaceAbsVelMisfit();
 		delete tria->material; delete tria;
@@ -3660,5 +3660,5 @@
 		/*This element should be collapsed into a tria element at its base. Create this tria element, 
 		 * and compute SurfaceLogVelMisfit*/
-		tria=(Tria*)SpawnTria(0); //lower face is 0, upper face is 1.
+		tria=(Tria*)SpawnTria(0,1,2); //lower face is 0, upper face is 1.
 		J=tria->SurfaceLogVelMisfit();
 		delete tria->material; delete tria;
@@ -3667,5 +3667,5 @@
 	else{
 
-		tria=(Tria*)SpawnTria(1); //lower face is 0, upper face is 1.
+		tria=(Tria*)SpawnTria(3,4,5); //lower face is 0, upper face is 1.
 		J=tria->SurfaceLogVelMisfit();
 		delete tria->material; delete tria;
@@ -3699,5 +3699,5 @@
 		/*This element should be collapsed into a tria element at its base. Create this tria element, 
 		 * and compute SurfaceLogVxVyMisfit*/
-		tria=(Tria*)SpawnTria(0); //lower face is 0, upper face is 1.
+		tria=(Tria*)SpawnTria(0,1,2);
 		J=tria->SurfaceLogVxVyMisfit();
 		delete tria->material; delete tria;
@@ -3706,5 +3706,5 @@
 	else{
 
-		tria=(Tria*)SpawnTria(1); //lower face is 0, upper face is 1.
+		tria=(Tria*)SpawnTria(3,4,5);
 		J=tria->SurfaceLogVxVyMisfit();
 		delete tria->material; delete tria;
@@ -3736,5 +3736,5 @@
 		/*This element should be collapsed into a tria element at its base. Create this tria element, 
 		 * and compute SurfaceRelVelMisfit*/
-		tria=(Tria*)SpawnTria(0); //lower face is 0, upper face is 1.
+		tria=(Tria*)SpawnTria(0,1,2);
 		J=tria->SurfaceRelVelMisfit();
 		delete tria->material; delete tria;
@@ -3743,5 +3743,5 @@
 	else{
 
-		tria=(Tria*)SpawnTria(1); //lower face is 0, upper face is 1.
+		tria=(Tria*)SpawnTria(3,4,5);
 		J=tria->SurfaceRelVelMisfit();
 		delete tria->material; delete tria;
@@ -3770,5 +3770,5 @@
 	_error_("Not implemented yet");
 
-	tria=(Tria*)SpawnTria(0);
+	tria=(Tria*)SpawnTria(0,1,2);
 	J=tria->ThicknessAbsMisfit();
 	delete tria->material; delete tria;
@@ -3785,5 +3785,5 @@
 	if(!IsIceInElement()|| IsFloating() || !IsOnBed()) return 0;
 
-	tria=(Tria*)SpawnTria(0); //lower face is 0, upper face is 1
+	tria=(Tria*)SpawnTria(0,1,2); //lower face is 0, upper face is 1
 	J=tria->DragCoefficientAbsGradient();
 	delete tria->material; delete tria;
@@ -3800,5 +3800,5 @@
 	if(!IsIceInElement() || !IsOnBed()) return 0;
 
-	tria=(Tria*)SpawnTria(0); //lower face is 0, upper face is 1
+	tria=(Tria*)SpawnTria(0,1,2);
 	J=tria->RheologyBbarAbsGradient();
 	delete tria->material; delete tria;
Index: /issm/trunk-jpl/src/c/classes/Elements/Penta.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Penta.h	(revision 17513)
+++ /issm/trunk-jpl/src/c/classes/Elements/Penta.h	(revision 17514)
@@ -227,5 +227,5 @@
 		IssmDouble     MinEdgeLength(IssmDouble* xyz_list);
 		void	         SetClone(int* minranks);
-		Tria*	         SpawnTria(int location);
+		Tria*	         SpawnTria(int index1,int index2,int index3);
 		IssmDouble     StabilizationParameter(IssmDouble u, IssmDouble v, IssmDouble w, IssmDouble diameter, IssmDouble kappa);
 
Index: /issm/trunk-jpl/src/c/classes/Inputs/BoolInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/BoolInput.cpp	(revision 17513)
+++ /issm/trunk-jpl/src/c/classes/Inputs/BoolInput.cpp	(revision 17514)
@@ -66,19 +66,4 @@
 
 	return this->enum_type;
-
-}
-/*}}}*/
-/*FUNCTION BoolInput::SpawnTriaInput{{{*/
-Input* BoolInput::SpawnTriaInput(int location){
-
-		/*output*/
-		BoolInput* outinput=new BoolInput();
-
-		/*only copy current value*/
-		outinput->enum_type=this->enum_type;
-		outinput->value=this->value;
-
-		/*Assign output*/
-		return outinput;
 
 }
Index: /issm/trunk-jpl/src/c/classes/Inputs/BoolInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/BoolInput.h	(revision 17513)
+++ /issm/trunk-jpl/src/c/classes/Inputs/BoolInput.h	(revision 17514)
@@ -30,5 +30,4 @@
 		/*BoolInput management: {{{*/
 		int   InstanceEnum();
-		Input* SpawnTriaInput(int location);
 		Input* SpawnTriaInput(int index1,int index2,int index3);
 		Input* SpawnSegInput(int index1,int index2);
Index: /issm/trunk-jpl/src/c/classes/Inputs/ControlInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/ControlInput.cpp	(revision 17513)
+++ /issm/trunk-jpl/src/c/classes/Inputs/ControlInput.cpp	(revision 17514)
@@ -193,8 +193,4 @@
 }/*}}}*/
 /*FUNCTION ControlInput::SpawnTriaInput{{{*/
-Input* ControlInput::SpawnTriaInput(int location){
-	return values->SpawnTriaInput(location);
-}/*}}}*/
-/*FUNCTION ControlInput::SpawnTriaInput{{{*/
 Input* ControlInput::SpawnTriaInput(int index1,int index2,int index3){
 	return values->SpawnTriaInput(index1,index2,index3);
Index: /issm/trunk-jpl/src/c/classes/Inputs/ControlInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/ControlInput.h	(revision 17513)
+++ /issm/trunk-jpl/src/c/classes/Inputs/ControlInput.h	(revision 17514)
@@ -38,5 +38,4 @@
 		/*ControlInput management: {{{*/
 		int    InstanceEnum();
-		Input* SpawnTriaInput(int location);
 		Input* SpawnTriaInput(int index1,int index2,int index3);
 		Input* SpawnSegInput(int index1,int index2);
Index: /issm/trunk-jpl/src/c/classes/Inputs/DatasetInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/DatasetInput.cpp	(revision 17513)
+++ /issm/trunk-jpl/src/c/classes/Inputs/DatasetInput.cpp	(revision 17514)
@@ -76,22 +76,4 @@
 
 	return output;
-}
-/*}}}*/
-/*FUNCTION DatasetInput::SpawnTriaInput{{{*/
-Input* DatasetInput::SpawnTriaInput(int location){
-
-	/*output*/
-	DatasetInput* outinput=NULL;
-
-	/*Create new Datasetinput (copy of current input)*/
-	outinput=new DatasetInput();
-	outinput->enum_type=this->enum_type;
-	outinput->inputs=dynamic_cast<Inputs*>(this->inputs->SpawnTriaInputs(location));
-	outinput->numids=this->numids;
-	outinput->ids=xNew<int>(this->numids);
-	xMemCpy(outinput->ids,this->ids,this->numids);
-
-	/*Assign output*/
-	return outinput;
 }
 /*}}}*/
Index: /issm/trunk-jpl/src/c/classes/Inputs/DatasetInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/DatasetInput.h	(revision 17513)
+++ /issm/trunk-jpl/src/c/classes/Inputs/DatasetInput.h	(revision 17514)
@@ -36,5 +36,4 @@
 		void   AddInput(Input* input,int id);
 		int    InstanceEnum();
-		Input* SpawnTriaInput(int location);
 		Input* SpawnTriaInput(int index1,int index2,int index3);
 		Input* SpawnSegInput(int index1,int index2);
Index: /issm/trunk-jpl/src/c/classes/Inputs/DoubleInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/DoubleInput.cpp	(revision 17513)
+++ /issm/trunk-jpl/src/c/classes/Inputs/DoubleInput.cpp	(revision 17514)
@@ -70,19 +70,4 @@
 /*}}}*/
 /*FUNCTION DoubleInput::SpawnTriaInput{{{*/
-Input* DoubleInput::SpawnTriaInput(int location){
-
-	/*output*/
-	DoubleInput* outinput=new DoubleInput();
-
-	/*only copy current value*/
-	outinput->enum_type=this->enum_type;
-	outinput->value=this->value;
-
-	/*Assign output*/
-	return outinput;
-
-}
-/*}}}*/
-/*FUNCTION DoubleInput::SpawnTriaInput{{{*/
 Input* DoubleInput::SpawnTriaInput(int index1,int index2,int index3){
 
Index: /issm/trunk-jpl/src/c/classes/Inputs/DoubleInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/DoubleInput.h	(revision 17513)
+++ /issm/trunk-jpl/src/c/classes/Inputs/DoubleInput.h	(revision 17514)
@@ -33,5 +33,4 @@
 		/*DoubleInput management: {{{*/
 		int   InstanceEnum();
-		Input* SpawnTriaInput(int location);
 		Input* SpawnTriaInput(int index1,int index2,int index3);
 		Input* SpawnSegInput(int index1,int index2);
Index: /issm/trunk-jpl/src/c/classes/Inputs/Input.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/Input.h	(revision 17513)
+++ /issm/trunk-jpl/src/c/classes/Inputs/Input.h	(revision 17514)
@@ -54,5 +54,4 @@
 		virtual void   GetVectorFromInputs(Vector<IssmDouble>* vector,int* doflist)=0;
 
-		virtual Input* SpawnTriaInput(int location)=0;
 		virtual Input* SpawnTriaInput(int index1,int index2,int index3)=0;
 		virtual Input* SpawnSegInput(int index1,int index2)=0;
Index: /issm/trunk-jpl/src/c/classes/Inputs/Inputs.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/Inputs.cpp	(revision 17513)
+++ /issm/trunk-jpl/src/c/classes/Inputs/Inputs.cpp	(revision 17514)
@@ -370,30 +370,4 @@
 /*}}}*/
 /*FUNCTION Inputs::SpawnTriaInputs{{{*/
-Inputs* Inputs::SpawnTriaInputs(int location){
-
-	/*Intermediary*/
-	vector<Object*>::iterator object;
-	Input* inputin=NULL;
-	Input* inputout=NULL;
-
-	/*Output*/
-	Inputs* newinputs=new Inputs();
-
-	/*Go through inputs and call Spawn function*/
-	for ( object=objects.begin() ; object < objects.end(); object++ ){
-
-		/*Create new input*/
-		inputin=dynamic_cast<Input*>(*object);
-		inputout=inputin->SpawnTriaInput(location);
-
-		/*Add input to new inputs*/
-		newinputs->AddObject(inputout);
-	}
-
-	/*Assign output pointer*/
-	return newinputs;
-}
-/*}}}*/
-/*FUNCTION Inputs::SpawnTriaInputs{{{*/
 Inputs* Inputs::SpawnTriaInputs(int index1,int index2,int index3){
 
Index: /issm/trunk-jpl/src/c/classes/Inputs/IntInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/IntInput.cpp	(revision 17513)
+++ /issm/trunk-jpl/src/c/classes/Inputs/IntInput.cpp	(revision 17514)
@@ -67,18 +67,4 @@
 	return this->enum_type;
 
-}
-/*}}}*/
-/*FUNCTION IntInput::SpawnTriaInput{{{*/
-Input* IntInput::SpawnTriaInput(int location){
-
-	/*output*/
-	IntInput* outinput=new IntInput();
-
-	/*only copy current value*/
-	outinput->enum_type=this->enum_type;
-	outinput->value=this->value;
-
-	/*Assign output*/
-	return outinput;
 }
 /*}}}*/
Index: /issm/trunk-jpl/src/c/classes/Inputs/IntInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/IntInput.h	(revision 17513)
+++ /issm/trunk-jpl/src/c/classes/Inputs/IntInput.h	(revision 17514)
@@ -34,5 +34,4 @@
 		/*IntInput management: {{{*/
 		int   InstanceEnum();
-		Input* SpawnTriaInput(int location);
 		Input* SpawnTriaInput(int index1,int index2,int index3);
 		Input* SpawnSegInput(int index1,int index2);
Index: /issm/trunk-jpl/src/c/classes/Inputs/PentaInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/PentaInput.cpp	(revision 17513)
+++ /issm/trunk-jpl/src/c/classes/Inputs/PentaInput.cpp	(revision 17514)
@@ -79,46 +79,4 @@
 	return this->enum_type;
 
-}
-/*}}}*/
-/*FUNCTION PentaInput::SpawnTriaInput{{{*/
-Input* PentaInput::SpawnTriaInput(int location){
-
-	/*output*/
-	TriaInput* outinput=NULL;
-
-	if(this->element_type==P0Enum){ 
-		outinput=new TriaInput(this->enum_type,&this->values[0],P0Enum);
-	}
-	else{
-		/*Assume P1 interpolation only for now*/
-		IssmDouble newvalues[3]; 
-
-		/*Create array of indices depending on location (0=base 1=surface)*/
-		int indices[3];
-		switch(location){
-			case 0:
-				indices[0] = 0;
-				indices[1] = 1;
-				indices[2] = 2;
-				break;
-			case 1:
-				indices[0] = 3;
-				indices[1] = 4;
-				indices[2] = 5;
-				break;
-			default:
-				_error_("case "<<location<<" not supported");
-		}
-
-		/*Create new input*/
-		for(int i=0;i<3;i++){
-			_assert_(indices[i]>=0 && indices[i]<6);
-			newvalues[i]=this->values[indices[i]];
-		}
-		outinput=new TriaInput(this->enum_type,&newvalues[0],P1Enum);
-	}
-
-	/*Assign output*/
-	return outinput;
 }
 /*}}}*/
Index: /issm/trunk-jpl/src/c/classes/Inputs/PentaInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/PentaInput.h	(revision 17513)
+++ /issm/trunk-jpl/src/c/classes/Inputs/PentaInput.h	(revision 17514)
@@ -34,5 +34,4 @@
 		/*PentaInput management*/
 		int   InstanceEnum();
-		Input* SpawnTriaInput(int location);
 		Input* SpawnTriaInput(int index1,int index2,int index3);
 		Input* SpawnSegInput(int index1,int index2);
Index: /issm/trunk-jpl/src/c/classes/Inputs/SegInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/SegInput.h	(revision 17513)
+++ /issm/trunk-jpl/src/c/classes/Inputs/SegInput.h	(revision 17514)
@@ -34,5 +34,4 @@
 		/*SegInput management:*/
 		int    InstanceEnum();
-		Input* SpawnTriaInput(int location){_error_("not supported yet");};
 		Input* SpawnTriaInput(int index1,int index2,int index3){_error_("not supported yet");};
 		Input* SpawnSegInput(int index1,int index2){_error_("not implemented yet");};
Index: /issm/trunk-jpl/src/c/classes/Inputs/TetraInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/TetraInput.h	(revision 17513)
+++ /issm/trunk-jpl/src/c/classes/Inputs/TetraInput.h	(revision 17514)
@@ -34,5 +34,4 @@
 		/*TetraInput management:*/
 		int    InstanceEnum();
-		Input* SpawnTriaInput(int location){_error_("not supported yet");};
 		Input* SpawnTriaInput(int index1,int index2,int index3);
 		Input* SpawnSegInput(int index1,int index2){_error_("not supported yet");};
Index: /issm/trunk-jpl/src/c/classes/Inputs/TransientInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/TransientInput.cpp	(revision 17513)
+++ /issm/trunk-jpl/src/c/classes/Inputs/TransientInput.cpp	(revision 17514)
@@ -119,24 +119,4 @@
 
 	return this->enum_type;
-
-}
-/*}}}*/
-/*FUNCTION TransientInput::SpawnTriaInput{{{*/
-Input* TransientInput::SpawnTriaInput(int location){
-
-	/*output*/
-	TransientInput* outinput=NULL;
-
-	/*Create new Transientinput (copy of current input)*/
-	outinput=new TransientInput();
-	outinput->enum_type=this->enum_type;
-	outinput->numtimesteps=this->numtimesteps;
-	outinput->timesteps=xNew<IssmDouble>(this->numtimesteps);
-	xMemCpy(outinput->timesteps,this->timesteps,this->numtimesteps);
-	outinput->inputs=(Inputs*)this->inputs->SpawnTriaInputs(location);
-	outinput->parameters=this->parameters;
-
-	/*Assign output*/
-	return outinput;
 
 }
Index: /issm/trunk-jpl/src/c/classes/Inputs/TransientInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/TransientInput.h	(revision 17513)
+++ /issm/trunk-jpl/src/c/classes/Inputs/TransientInput.h	(revision 17514)
@@ -40,5 +40,4 @@
 		/*TransientInput management: {{{*/
 		int    InstanceEnum();
-		Input* SpawnTriaInput(int location);
 		Input* SpawnTriaInput(int index1,int index2,int index3);
 		Input* SpawnSegInput(int index1,int index2);
Index: /issm/trunk-jpl/src/c/classes/Inputs/TriaInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/TriaInput.cpp	(revision 17513)
+++ /issm/trunk-jpl/src/c/classes/Inputs/TriaInput.cpp	(revision 17514)
@@ -82,18 +82,4 @@
 /*}}}*/
 /*FUNCTION TriaInput::SpawnTriaInput{{{*/
-Input* TriaInput::SpawnTriaInput(int location){
-
-	/*output*/
-	TriaInput* outinput=NULL;
-
-	/*Create new Tria input (copy of current input)*/
-	outinput=new TriaInput(this->enum_type,&this->values[0],this->element_type);
-
-	/*Assign output*/
-	return outinput;
-
-}
-/*}}}*/
-/*FUNCTION TriaInput::SpawnTriaInput{{{*/
 Input* TriaInput::SpawnTriaInput(int index1,int index2,int index3){
 
Index: /issm/trunk-jpl/src/c/classes/Inputs/TriaInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/TriaInput.h	(revision 17513)
+++ /issm/trunk-jpl/src/c/classes/Inputs/TriaInput.h	(revision 17514)
@@ -34,5 +34,4 @@
 		/*TriaInput management:*/
 		int    InstanceEnum();
-		Input* SpawnTriaInput(int location);
 		Input* SpawnTriaInput(int index1,int index2,int index3);
 		Input* SpawnSegInput(int index1,int index2);
