Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 24341)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 24342)
@@ -3267,6 +3267,10 @@
 				if(xIsInf<IssmDouble>(values[i])) _error_("Inf found in vector");
 			}
-			//this->inputs->AddInput(new TriaInput(name,values,this->element_type));
-			_error_("not implemented");
+			if(this->element_type==P1Enum){
+				inputs2->SetTriaInput(name,P1Enum,NUMVERTICES,lidlist,values);
+			}
+			else{
+				inputs2->SetTriaInput(name,this->element_type,this->lid,numnodes,values);
+			}
 			break;
 
Index: /issm/trunk-jpl/src/c/classes/FemModel.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 24341)
+++ /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 24342)
@@ -5141,16 +5141,6 @@
 
 	for(int i=0;i<numoutputs;i++){
-		if(transientinput_enum[i]<0){
-			_error_("Can't deal with non enum fields for result Stack");
-		}
-		else{
-			_error_("not implemented with inputs2");
-			for(int j=0;j<elements->Size();j++){
-				/*Intermediaries*/
-				TransientInput* transient_input = new TransientInput(transientinput_enum[i]);
-				Element* element=xDynamicCast<Element*>(elements->GetObjectByOffset(j));
-				element->inputs->AddInput(transient_input);
-			}
-		}
+		this->inputs2->DeleteInput(transientinput_enum[i]);
+		this->inputs2->SetTransientInput(transientinput_enum[i],NULL,0);
 	}
 }
@@ -5165,4 +5155,5 @@
 			for(int j=0;j<elements->Size();j++){
 				/*Intermediaries*/
+				_error_("TODO");
 				Element* element=xDynamicCast<Element*>(elements->GetObjectByOffset(j));
 				Input* input=element->inputs->GetInput(transientinput_enum[i]); _assert_(input); //this is the enum stack
Index: /issm/trunk-jpl/src/c/classes/Inputs2/TransientInput2.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs2/TransientInput2.cpp	(revision 24341)
+++ /issm/trunk-jpl/src/c/classes/Inputs2/TransientInput2.cpp	(revision 24342)
@@ -37,13 +37,18 @@
 
 	/*Allocate values and timesteps, and copy: */
-	_assert_(N>0 && N<1e6);
+	_assert_(N>=0 && N<1e6);
 	this->numtimesteps=N;
-	this->timesteps=xNew<IssmDouble>(N);
-	xMemCpy(this->timesteps,timesin,N);
-
-	this->inputs     = xNew<Input2*>(N);
-	for(int i=0;i<N;i++) this->inputs[i] = NULL;
+	if(N>0){
+		this->timesteps=xNew<IssmDouble>(N);
+		xMemCpy(this->timesteps,timesin,N);
+
+		this->inputs     = xNew<Input2*>(N);
+		for(int i=0;i<N;i++) this->inputs[i] = NULL;
+	}
+	else{
+		this->timesteps=0;
+		this->inputs   =0;
+	}
 	this->parameters = NULL;
-
 	this->current_input=NULL;
 	this->current_step=-1;
