Index: /issm/trunk/src/c/parallel/OutputControl.cpp
===================================================================
--- /issm/trunk/src/c/parallel/OutputControl.cpp	(revision 668)
+++ /issm/trunk/src/c/parallel/OutputControl.cpp	(revision 669)
@@ -32,5 +32,5 @@
 	results->AddObject(result);
 
-	result=new Result(results->Size()+1,0,1,"p_g",p_g,numberofnodes);
+	result=new Result(results->Size()+1,0,1,"param_g",p_g,numberofnodes);
 	results->AddObject(result);
 
Index: /issm/trunk/src/c/parallel/ProcessResults.cpp
===================================================================
--- /issm/trunk/src/c/parallel/ProcessResults.cpp	(revision 668)
+++ /issm/trunk/src/c/parallel/ProcessResults.cpp	(revision 669)
@@ -57,4 +57,5 @@
 	double* p_g_serial=NULL;
 	double* pressure=NULL;
+	double* parameter=NULL;
 	double* partition=NULL;
 	double  yts;
@@ -216,4 +217,29 @@
 			xfree((void**)&partition);
 		}
+		else if(strcmp(result->GetFieldName(),"param_g")==0){
+			/*easy, param_g is of size numberofnodes, on 1 dof, just repartition: */
+			result->GetField(&p_g);
+			VecToMPISerial(&p_g_serial,p_g);
+			fem_p->parameters->FindParam((void*)&numberofnodes,"numberofnodes");
+			VecToMPISerial(&partition,fem_p->partition);
+
+			parameter=(double*)xmalloc(numberofnodes*sizeof(double));
+
+			for(i=0;i<numberofnodes;i++){
+				parameter[i]=p_g_serial[(int)partition[i]];
+			}
+			
+			/*Ok, add parameter to newresults: */
+			newresult=new Result(newresults->Size()+1,result->GetTime(),result->GetStep(),"parameter",parameter,numberofnodes);
+			newresults->AddObject(newresult);
+
+			/*do some cleanup: */
+			xfree((void**)&p_g_serial);
+			xfree((void**)&partition);
+		}
+		else{
+			/*Just copy the result into the new results dataset: */
+			newresults->AddObject(result);
+		}
 	}
 
