Index: /issm/trunk/src/c/parallel/thermal.cpp
===================================================================
--- /issm/trunk/src/c/parallel/thermal.cpp	(revision 558)
+++ /issm/trunk/src/c/parallel/thermal.cpp	(revision 559)
@@ -32,8 +32,8 @@
 	double* u_g=NULL;
 	double* p_g=NULL;
-	double dt;
-	double ndt;
-	int    nsteps;
-	int    debug=0;
+	double  dt;
+	double  ndt;
+	int     nsteps;
+	int     debug=0;
 
 	/*solution vectors: */
@@ -42,8 +42,8 @@
 
 	ParameterInputs* inputs=NULL;
-	Param*  param=NULL;
+	Param*           param=NULL;
 
-	int waitonlock=0;
-	int sub_analysis_type;
+	int    waitonlock=0;
+	int    sub_analysis_type;
 	double melting_offset;
 	
@@ -73,75 +73,37 @@
 
 	_printf_("initialize inputs:\n");
-	PetscSynchronizedPrintf(MPI_COMM_WORLD,"ok1\n");
-	PetscSynchronizedFlush(MPI_COMM_WORLD);
 	femmodels[0].parameters->FindParam((void*)&u_g,"u_g");
-	PetscSynchronizedPrintf(MPI_COMM_WORLD,"ok2\n");
-	PetscSynchronizedFlush(MPI_COMM_WORLD);
-
 	femmodels[0].parameters->FindParam((void*)&p_g,"p_g");
-	PetscSynchronizedPrintf(MPI_COMM_WORLD,"ok3\n");
-	PetscSynchronizedFlush(MPI_COMM_WORLD);
-
 	femmodels[0].parameters->FindParam((void*)&numberofnodes,"numberofnodes");
-	PetscSynchronizedPrintf(MPI_COMM_WORLD,"ok4\n");
-	PetscSynchronizedFlush(MPI_COMM_WORLD);
-
 	femmodels[0].parameters->FindParam((void*)&dt,"dt");
-	PetscSynchronizedPrintf(MPI_COMM_WORLD,"ok5\n");
-	PetscSynchronizedFlush(MPI_COMM_WORLD);
-
 	femmodels[0].parameters->FindParam((void*)&ndt,"ndt");
-	PetscSynchronizedPrintf(MPI_COMM_WORLD,"ok6\n");
-	PetscSynchronizedFlush(MPI_COMM_WORLD);
-
 	femmodels[0].parameters->FindParam((void*)&waitonlock,"waitonlock");
-	PetscSynchronizedPrintf(MPI_COMM_WORLD,"ok7\n");
-	PetscSynchronizedFlush(MPI_COMM_WORLD);
-
 	femmodels[0].parameters->FindParam((void*)&sub_analysis_type,"sub_analysis_type");
-	PetscSynchronizedPrintf(MPI_COMM_WORLD,"subana=%i\n",sub_analysis_type);
-	PetscSynchronizedFlush(MPI_COMM_WORLD);
-
 	femmodels[0].parameters->FindParam((void*)&debug,"debug");
 
 	inputs=new ParameterInputs;
 
-	PetscSynchronizedPrintf(MPI_COMM_WORLD,"numberofnodes = %i\n",numberofnodes);
-	PetscSynchronizedFlush(MPI_COMM_WORLD);
 	inputs->Add("velocity",u_g,3,numberofnodes);
-	PetscSynchronizedPrintf(MPI_COMM_WORLD,"ok1\n");
-	PetscSynchronizedFlush(MPI_COMM_WORLD);
-
 	inputs->Add("pressure",p_g,1,numberofnodes);
 	inputs->Add("dt",dt);
 
 	//erase velocities and pressure embedded in parameters
-	PetscSynchronizedPrintf(MPI_COMM_WORLD,"ok2\n");
-	PetscSynchronizedFlush(MPI_COMM_WORLD);
-
 	param=(Param*)femmodels[0].parameters->FindParamObject("u_g");
 	femmodels[0].parameters->DeleteObject((Object*)param);
-	PetscSynchronizedPrintf(MPI_COMM_WORLD,"ok3\n");
-	PetscSynchronizedFlush(MPI_COMM_WORLD);
-
 	param=(Param*)femmodels[0].parameters->FindParamObject("p_g");
 	femmodels[0].parameters->DeleteObject((Object*)param);
-	PetscSynchronizedPrintf(MPI_COMM_WORLD,"ok4\n");
-	PetscSynchronizedFlush(MPI_COMM_WORLD);
-
 	param=(Param*)femmodels[1].parameters->FindParamObject("u_g");
 	femmodels[1].parameters->DeleteObject((Object*)param);
-	PetscSynchronizedPrintf(MPI_COMM_WORLD,"ok5\n");
-	PetscSynchronizedFlush(MPI_COMM_WORLD);
-
 	param=(Param*)femmodels[1].parameters->FindParamObject("p_g");
 	femmodels[1].parameters->DeleteObject((Object*)param);
-	PetscSynchronizedPrintf(MPI_COMM_WORLD,"ok6\n");
-	PetscSynchronizedFlush(MPI_COMM_WORLD);
 
 	if(sub_analysis_type==SteadyAnalysisEnum()){
+
+		/*allocate t_g and m_g arrays: */
+		t_g=(Vec*)xmalloc(sizeof(Vec));
+		m_g=(Vec*)xmalloc(sizeof(Vec));
+
 		if(debug)_printf_("computing temperatures:\n");
 		thermal_core(&t_g[0],&melting_offset,&femmodels[0],inputs,ThermalAnalysisEnum(),SteadyAnalysisEnum());
-	
 		inputs->Add("temperature",t_g[0],1,numberofnodes);
 		inputs->Add("melting_offset",melting_offset);
