Index: /issm/trunk-jpl/src/c/classes/ExternalResults/GenericExternalResult.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/ExternalResults/GenericExternalResult.h	(revision 17054)
+++ /issm/trunk-jpl/src/c/classes/ExternalResults/GenericExternalResult.h	(revision 17055)
@@ -83,4 +83,14 @@
 		}
 		/*}}}*/
+		GenericExternalResult(int in_id, int in_enum_type,ResultType in_value,int in_step){ /*{{{*/
+			id        = in_id;
+			value     = in_value;
+			step      = in_step;
+			time      = UNDEF;
+
+			/*Convert enum to name*/
+			EnumToStringx(&this->result_name,in_enum_type);
+		}
+		/*}}}*/
 		GenericExternalResult(int in_id,const char* in_result_name,ResultType in_value,int in_step, IssmDouble in_time){ /*{{{*/
 			id        = in_id;
@@ -207,4 +217,16 @@
 	step  = in_step;
 	time  = in_time;
+
+	/*Convert enum to name*/
+	EnumToStringx(&this->result_name,in_enum_type);
+
+} /*}}}*/
+template <> inline GenericExternalResult<char*>::GenericExternalResult(int in_id, int in_enum_type,char* in_value,int in_step){ /*{{{*/
+
+	id = in_id;
+	value = xNew<char>(strlen(in_value)+1);
+	xMemCpy<char>(value,in_value,(strlen(in_value)+1));
+	step  = in_step;
+	time  = UNDEF;
 
 	/*Convert enum to name*/
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 17054)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 17055)
@@ -117,6 +117,6 @@
 
 	iomodel->Constant(&time,TimesteppingStartTimeEnum);
-	parameters->AddObject(new DoubleParam(TimeEnum,time));  //start at time 0 by default for all solutions FIXME: to be deleted
-	parameters->AddObject(new IntParam(StepEnum,1));  //start at time 0 by default for all solutions FIXME: to be deleted
+	parameters->AddObject(new DoubleParam(TimeEnum,time));  
+	parameters->AddObject(new IntParam(StepEnum,1));  
 
 	/*By default, save all results*/
Index: /issm/trunk-jpl/src/c/modules/OutputResultsx/OutputResultsx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/OutputResultsx/OutputResultsx.cpp	(revision 17054)
+++ /issm/trunk-jpl/src/c/modules/OutputResultsx/OutputResultsx.cpp	(revision 17055)
@@ -42,5 +42,5 @@
 		femmodel->parameters->FindParam(&solutiontype,SolutionTypeEnum);
 		EnumToStringx(&solutiontypestring,solutiontype);
-		femmodel->results->AddResult(new GenericExternalResult<char*>(femmodel->results->Size()+1,SolutionTypeEnum,solutiontypestring,1,0));
+		femmodel->results->AddResult(new GenericExternalResult<char*>(femmodel->results->Size()+1,SolutionTypeEnum,solutiontypestring,1));
 		xDelete<char>(solutiontypestring);
 	}
Index: /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_newton.cpp
===================================================================
--- /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_newton.cpp	(revision 17054)
+++ /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_newton.cpp	(revision 17055)
@@ -86,16 +86,18 @@
 		delete Kff; delete pf;
 		if(converged==true){	
+			int step; IssmDouble time;
 			bool max_iteration_state=false;
-			int tempStep=1;
-			IssmDouble tempTime=1.0;
-			femmodel->results->AddObject(new GenericExternalResult<bool>(femmodel->results->Size()+1, MaxIterationConvergenceFlagEnum, max_iteration_state, tempStep, tempTime));
+			femmodel->parameters->FindParam(&time,TimeEnum);
+			femmodel->parameters->FindParam(&step,StepEnum);
+			femmodel->results->AddObject(new GenericExternalResult<bool>(femmodel->results->Size()+1, MaxIterationConvergenceFlagEnum, max_iteration_state, step,time));
 			break;
 		}
 		if(count>=max_nonlinear_iterations){
 			_printf0_("   maximum number of Newton iterations (" << max_nonlinear_iterations << ") exceeded\n"); 
+			int step; IssmDouble time;
 			bool max_iteration_state=true;
-			int tempStep=1;
-			IssmDouble tempTime=1.0;
-			femmodel->results->AddObject(new GenericExternalResult<bool>(femmodel->results->Size()+1, MaxIterationConvergenceFlagEnum, max_iteration_state, tempStep, tempTime));
+			femmodel->parameters->FindParam(&time,TimeEnum);
+			femmodel->parameters->FindParam(&step,StepEnum);
+			femmodel->results->AddObject(new GenericExternalResult<bool>(femmodel->results->Size()+1, MaxIterationConvergenceFlagEnum, max_iteration_state, step, time));
 			break;
 		}
Index: /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_nonlinear.cpp
===================================================================
--- /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_nonlinear.cpp	(revision 17054)
+++ /issm/trunk-jpl/src/c/solutionsequences/solutionsequence_nonlinear.cpp	(revision 17055)
@@ -85,7 +85,8 @@
 		if(converged==true){
 			bool max_iteration_state=false;
-			int tempStep=1;
-			IssmDouble tempTime=1.0;
-			femmodel->results->AddObject(new GenericExternalResult<bool>(femmodel->results->Size()+1, MaxIterationConvergenceFlagEnum, max_iteration_state, tempStep, tempTime));
+			int step; IssmDouble time;
+			femmodel->parameters->FindParam(&time,TimeEnum);
+			femmodel->parameters->FindParam(&step,StepEnum);
+			femmodel->results->AddObject(new GenericExternalResult<bool>(femmodel->results->Size()+1, MaxIterationConvergenceFlagEnum, max_iteration_state, step, time));
 			break;
 		}
@@ -96,7 +97,8 @@
 			InputUpdateFromSolutionx(femmodel,ug);		
 			bool max_iteration_state=true;
-			int tempStep=1;
-			IssmDouble tempTime=1.0;
-			femmodel->results->AddObject(new GenericExternalResult<bool>(femmodel->results->Size()+1, MaxIterationConvergenceFlagEnum, max_iteration_state, tempStep, tempTime));
+			int step; IssmDouble time;
+			femmodel->parameters->FindParam(&time,TimeEnum);
+			femmodel->parameters->FindParam(&step,StepEnum);
+			femmodel->results->AddObject(new GenericExternalResult<bool>(femmodel->results->Size()+1, MaxIterationConvergenceFlagEnum, max_iteration_state, step, time));
 			break;
 		}
Index: /issm/trunk-jpl/src/m/solve/parseresultsfromdisk.m
===================================================================
--- /issm/trunk-jpl/src/m/solve/parseresultsfromdisk.m	(revision 17054)
+++ /issm/trunk-jpl/src/m/solve/parseresultsfromdisk.m	(revision 17055)
@@ -45,5 +45,7 @@
 	end
 	results(index).step=result.step;
-	results(index).time=result.time; 
+	if result.time~=-9999,
+		results(index).time=result.time; 
+	end
 	results(index).(result.fieldname)=result.field;
 
@@ -80,5 +82,7 @@
 	%Get time and step
 	results(result.step).step=result.step;
-	results(result.step).time=result.time; 
+	if result.time~=-9999,
+		results(result.step).time=result.time; 
+	end
 
 	%Add result
@@ -104,5 +108,7 @@
 	%Get time and step
 	results(result.step).step=result.step;
-	results(result.step).time=result.time; 
+	if result.time~=-9999,
+		results(result.step).time=result.time; 
+	end
 
 	%Add result
