Index: /issm/trunk/src/c/parallel/transient.cpp
===================================================================
--- /issm/trunk/src/c/parallel/transient.cpp	(revision 827)
+++ /issm/trunk/src/c/parallel/transient.cpp	(revision 828)
@@ -93,17 +93,18 @@
 
 	_printf_("initialize inputs:\n");
+	inputs=new ParameterInputs;
 	femmodels[5].parameters->FindParam((void*)&numberofnodes,"numberofnodes");
 	
 	femmodels[5].parameters->FindParam((void*)&u_g,"u_g");
-	inputs=new ParameterInputs; inputs->Add("velocity",u_g,2,numberofnodes);
+	inputs->Add("velocity",u_g,2,numberofnodes);
 
 	femmodels[5].parameters->FindParam((void*)&m_g,"m_g");
-	inputs=new ParameterInputs; inputs->Add("melting",m_g,1,numberofnodes);
+	inputs->Add("melting",m_g,1,numberofnodes);
 
 	femmodels[5].parameters->FindParam((void*)&a_g,"a_g");
-	inputs=new ParameterInputs; inputs->Add("accumulation",a_g,1,numberofnodes);
+	inputs->Add("accumulation",a_g,1,numberofnodes);
 
 	femmodels[5].parameters->FindParam((void*)&dt,"dt");
-	inputs=new ParameterInputs; inputs->Add("dt",dt);
+	inputs->Add("dt",dt);
 	
 	_printf_("initialize results:\n");
@@ -117,5 +118,4 @@
 		_printf_("call computational core:\n");
 		transient_core(results,femmodels,inputs);
-
 	}
 	else{
Index: /issm/trunk/src/c/parallel/transient_core_2d.cpp
===================================================================
--- /issm/trunk/src/c/parallel/transient_core_2d.cpp	(revision 827)
+++ /issm/trunk/src/c/parallel/transient_core_2d.cpp	(revision 828)
@@ -91,14 +91,14 @@
 
 	fem_p->parameters->FindParam((void*)&p_g_serial,"p_g");
-	p_g=SerialToVec(p_g_serial,2*numberofnodes); xfree((void**)&p_g_serial);
+	p_g=SerialToVec(p_g_serial,1*numberofnodes); xfree((void**)&p_g_serial);
 
 	fem_p->parameters->FindParam((void*)&h_g_serial,"h_g");
-	h_g=SerialToVec(h_g_serial,2*numberofnodes); xfree((void**)&h_g_serial);
+	h_g=SerialToVec(h_g_serial,1*numberofnodes); xfree((void**)&h_g_serial);
 
 	fem_p->parameters->FindParam((void*)&s_g_serial,"s_g");
-	s_g=SerialToVec(s_g_serial,2*numberofnodes); xfree((void**)&s_g_serial);
+	s_g=SerialToVec(s_g_serial,1*numberofnodes); xfree((void**)&s_g_serial);
 
 	fem_p->parameters->FindParam((void*)&b_g_serial,"b_g");
-	b_g=SerialToVec(b_g_serial,2*numberofnodes); xfree((void**)&b_g_serial);
+	b_g=SerialToVec(b_g_serial,1*numberofnodes); xfree((void**)&b_g_serial);
 
 	/*Add all these initial vectors in the results!: */
@@ -111,6 +111,6 @@
 	while(time<finaltime+dt){ //make sure we run up to finaltime.
 	
-		if(debug)_printf_("%s%g%s%g%s%g\n","time [yr]: ",time/yts,"    iteration number: ",step,"/",floor(finaltime/dt));
-	
+		if(debug)_printf_("%s%g%s%i%s%g\n","time [yr]: ",time/yts,"    iteration number: ",step,"/",floor(finaltime/dt));
+
 		step+=1;
 		time+=dt;
@@ -122,5 +122,6 @@
 
 		//Deal with velocities.
-		diagnostic_results=new DataSet(ResultsEnum()); diagnostic_core(diagnostic_results,fems, inputs);
+		diagnostic_results=new DataSet(ResultsEnum()); 
+		diagnostic_core(diagnostic_results,fems, inputs);
 
 		//extract u_g and p_g from diagnostic_results, and erase diagnostic_results;
@@ -133,5 +134,5 @@
 		
 		inputs->Add("velocity",next_u_g,2,numberofnodes);
-		prognostic_results=new DataSet(ResultsEnum()); prognostic_core(prognostic_results,fems, inputs);
+		prognostic_results=new DataSet(ResultsEnum()); prognostic_core(prognostic_results,fem_p, inputs);
 	
 		//extract h_g prognostic_results, and erase prognostic_results;
@@ -142,5 +143,5 @@
 		_printf_("   updating geometry\n");
 		UpdateGeometryx(&next_h_g,&next_b_g,&next_s_g, 
-				fem_p->elements, fem_p->nodes,fem_p->loads, fem_p->materials, fem_p->parameters, 
+				fem_p->elements, fem_p->nodes,fem_p->loads, fem_p->materials, 
 				h_g_intermediary,b_g,s_g); 
 		VecFree(&h_g_intermediary);
@@ -159,6 +160,4 @@
 		VecFree(&s_g); s_g=next_s_g; 
 		VecFree(&b_g); b_g=next_b_g; 
-
 	}
-
 }
