Index: /issm/trunk/src/m/solutions/jpl/thermal_core.m
===================================================================
--- /issm/trunk/src/m/solutions/jpl/thermal_core.m	(revision 3914)
+++ /issm/trunk/src/m/solutions/jpl/thermal_core.m	(revision 3915)
@@ -28,13 +28,9 @@
 
 	%initialize temperature and melting
-	t_g=models.t.parameters.t_g;
-	m_g=models.m.parameters.m_g;
 	nsteps=models.t.parameters.Ndt/models.t.parameters.Dt;
-
-	%initialize temperature and melting
 	results.step=1;
 	results.time=0;
-	results.t_g=t_g;
-	results.m_g=m_g;
+	results.t_g=[]; %FIRST VALUE MISSING
+	results.m_g=[];
 
 	for n=1:nsteps, 
@@ -45,11 +41,14 @@
 
 		displaystring(verbose,'\n%s',['    computing temperatures...']);
-		inputs=add(inputs,'temperature',results(n).t_g,'doublevec',1,models.t.parameters.NumberOfNodes);
-		[results(n+1).t_g models.t.loads melting_offset]=thermal_core_nonlinear(models.t,ThermalAnalysisEnum(),NoneAnalysisEnum());
+		[t_g models.t.loads melting_offset]=thermal_core_nonlinear(models.t,ThermalAnalysisEnum(),NoneAnalysisEnum());
 
 		displaystring(verbose,'\n%s',['    computing melting...']);
-		inputs=add(inputs,'temperature',results(n+1).t_g,'doublevec',1,models.t.parameters.NumberOfNodes);
-		inputs=add(inputs,'melting_offset',melting_offset,'double');
-		results(n+1).m_g=diagnostic_core_linear(models.m,MeltingAnalysisEnum(),NoneAnalysisEnum());
+		models=ModelUpdateInputsFromVector(models,t_g,TemperatureEnum,VertexEnum);
+		[models.m.elements models.m.loads]=UpdateInputsFromConstant(models.m.elements,models.m.nodes,models.m.vertices,models.m.loads,models.m.materials,models.m.parameters,melting_offset,MeltingOffsetEnum);
+		m_g=diagnostic_core_linear(models.m,MeltingAnalysisEnum(),NoneAnalysisEnum());
+
+		%NEED TO BE CLEANED
+		results(n+1).t_g=t_g;
+		results(n+1).m_g=m_g;
 
 	end
