Index: /issm/trunk/src/c/ModelProcessorx/DiagnosticHoriz/CreateParametersDiagnosticHoriz.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/DiagnosticHoriz/CreateParametersDiagnosticHoriz.cpp	(revision 3457)
+++ /issm/trunk/src/c/ModelProcessorx/DiagnosticHoriz/CreateParametersDiagnosticHoriz.cpp	(revision 3458)
@@ -17,7 +17,4 @@
 	int i;
 
-	double* vx=NULL;
-	double* vy=NULL;
-	double* vz=NULL;
 	double* ug=NULL;
 
@@ -31,13 +28,13 @@
 
 	/*Get vx and vy: */
-	IoModelFetchData(&vx,NULL,NULL,iomodel_handle,"vx");
-	IoModelFetchData(&vy,NULL,NULL,iomodel_handle,"vy");
-	IoModelFetchData(&vz,NULL,NULL,iomodel_handle,"vz");
+	IoModelFetchData(&iomodel->vx,NULL,NULL,iomodel_handle,"vx");
+	IoModelFetchData(&iomodel->vy,NULL,NULL,iomodel_handle,"vy");
+	IoModelFetchData(&iomodel->vz,NULL,NULL,iomodel_handle,"vz");
 
 	ug=(double*)xcalloc(iomodel->numberofvertices*3,sizeof(double));
 
-	if(vx) for(i=0;i<iomodel->numberofvertices;i++)ug[3*i+0]=vx[i]/iomodel->yts;
-	if(vy) for(i=0;i<iomodel->numberofvertices;i++)ug[3*i+1]=vy[i]/iomodel->yts;
-	if(vz) for(i=0;i<iomodel->numberofvertices;i++)ug[3*i+2]=vz[i]/iomodel->yts;
+	if(iomodel->vx) for(i=0;i<iomodel->numberofvertices;i++) ug[3*i+0]=iomodel->vx[i]/iomodel->yts;
+	if(iomodel->vy) for(i=0;i<iomodel->numberofvertices;i++) ug[3*i+1]=iomodel->vy[i]/iomodel->yts;
+	if(iomodel->vz) for(i=0;i<iomodel->numberofvertices;i++) ug[3*i+2]=iomodel->vz[i]/iomodel->yts;
 
 	count++;
@@ -46,7 +43,7 @@
 	parameters->AddObject(param);
 
-	xfree((void**)&vx);
-	xfree((void**)&vy);
-	xfree((void**)&vz);
+	xfree((void**)&iomodel->vx);
+	xfree((void**)&iomodel->vy);
+	xfree((void**)&iomodel->vz);
 	xfree((void**)&ug);
 	
Index: /issm/trunk/src/c/ModelProcessorx/Prognostic2/CreateParametersPrognostic2.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/Prognostic2/CreateParametersPrognostic2.cpp	(revision 3457)
+++ /issm/trunk/src/c/ModelProcessorx/Prognostic2/CreateParametersPrognostic2.cpp	(revision 3458)
@@ -22,13 +22,8 @@
 	int*     part;
 
-	double* vx=NULL;
 	double* vx_g=NULL;
-	double* vy=NULL;
 	double* vy_g=NULL;
-	double* thickness=NULL;
 	double* h_g=NULL;
-	double* accumulation=NULL;
 	double* a_g=NULL;
-	double* melting=NULL;
 	double* m_g=NULL;
 
@@ -38,5 +33,5 @@
 	count=parameters->Size();
 
-	/*Create transformatiob vector for DG inputs*/
+	/*Create transformation vector for DG inputs*/
 	IoModelFetchData(&elements,NULL,NULL,iomodel_handle,"elements");
 	part=(int*)xcalloc(iomodel->numberofelements*3,sizeof(int));
@@ -50,7 +45,7 @@
 
 	/*Get vx: */
-	IoModelFetchData(&vx,NULL,NULL,iomodel_handle,"vx");
+	IoModelFetchData(&iomodel->vx,NULL,NULL,iomodel_handle,"vx");
 	vx_g=(double*)xcalloc(iomodel->numberofelements*3,sizeof(double));
-	if(vx) for(i=0;i<3*iomodel->numberofelements;i++) vx_g[i]=vx[part[i]]/iomodel->yts;
+	if(iomodel->vx) for(i=0;i<3*iomodel->numberofelements;i++) vx_g[i]=iomodel->vx[part[i]]/iomodel->yts;
 
 	count++;
@@ -58,10 +53,11 @@
 	param->SetDoubleVec(vx_g,3*iomodel->numberofelements,1);
 	parameters->AddObject(param);
-	xfree((void**)&vx);
+	xfree((void**)&iomodel->vx);
+	xfree((void**)&vx_g);
 
 	/*Get vy: */
-	IoModelFetchData(&vy,NULL,NULL,iomodel_handle,"vy");
+	IoModelFetchData(&iomodel->vy,NULL,NULL,iomodel_handle,"vy");
 	vy_g=(double*)xcalloc(iomodel->numberofelements*3,sizeof(double));
-	if(vy) for(i=0;i<3*iomodel->numberofelements;i++) vy_g[i]=vy[part[i]]/iomodel->yts;
+	if(iomodel->vy) for(i=0;i<3*iomodel->numberofelements;i++) vy_g[i]=iomodel->vy[part[i]]/iomodel->yts;
 
 	count++;
@@ -69,10 +65,11 @@
 	param->SetDoubleVec(vy_g,3*iomodel->numberofelements,1);
 	parameters->AddObject(param);
-	xfree((void**)&vy);
+	xfree((void**)&iomodel->vy);
+	xfree((void**)&vy_g);
 
 	/*Get thickness: */
-	IoModelFetchData(&thickness,NULL,NULL,iomodel_handle,"thickness");
+	IoModelFetchData(&iomodel->thickness,NULL,NULL,iomodel_handle,"thickness");
 	h_g=(double*)xcalloc(iomodel->numberofelements*3,sizeof(double));
-	if(thickness) for(i=0;i<3*iomodel->numberofelements;i++) h_g[i]=thickness[part[i]];
+	if(iomodel->thickness) for(i=0;i<3*iomodel->numberofelements;i++) h_g[i]=iomodel->thickness[part[i]];
 
 	count++;
@@ -80,10 +77,11 @@
 	param->SetDoubleVec(h_g,3*iomodel->numberofelements,1);
 	parameters->AddObject(param);
-	xfree((void**)&thickness);
+	xfree((void**)&iomodel->thickness);
+	xfree((void**)&h_g);
 
 	/*Get accumulation: */
-	IoModelFetchData(&accumulation,NULL,NULL,iomodel_handle,"accumulation");
+	IoModelFetchData(&iomodel->accumulation,NULL,NULL,iomodel_handle,"accumulation");
 	a_g=(double*)xcalloc(iomodel->numberofelements*3,sizeof(double));
-	if(accumulation) for(i=0;i<3*iomodel->numberofelements;i++) a_g[i]=accumulation[part[i]];
+	if(iomodel->accumulation) for(i=0;i<3*iomodel->numberofelements;i++) a_g[i]=iomodel->accumulation[part[i]]/iomodel->yts;
 
 	count++;
@@ -91,10 +89,11 @@
 	param->SetDoubleVec(a_g,3*iomodel->numberofelements,1);
 	parameters->AddObject(param);
-	xfree((void**)&accumulation);
+	xfree((void**)&iomodel->accumulation);
+	xfree((void**)&a_g);
 
 	/*Get melting: */
-	IoModelFetchData(&melting,NULL,NULL,iomodel_handle,"melting");
+	IoModelFetchData(&iomodel->melting,NULL,NULL,iomodel_handle,"melting");
 	m_g=(double*)xcalloc(iomodel->numberofelements*3,sizeof(double));
-	if(melting) for(i=0;i<3*iomodel->numberofelements;i++) m_g[i]=melting[part[i]];
+	if(iomodel->melting) for(i=0;i<3*iomodel->numberofelements;i++) m_g[i]=iomodel->melting[part[i]]/iomodel->yts;
 
 	count++;
@@ -102,15 +101,10 @@
 	param->SetDoubleVec(m_g,3*iomodel->numberofelements,1);
 	parameters->AddObject(param);
-	xfree((void**)&melting);
+	xfree((void**)&iomodel->melting);
+	xfree((void**)&m_g);
 
 	/*Free partitioning vector*/
 	xfree((void**)&part);
 
-	xfree((void**)&vx_g);
-	xfree((void**)&vy_g);
-	xfree((void**)&h_g);
-	xfree((void**)&a_g);
-	xfree((void**)&m_g);
-
 	/*Assign output pointer: */
 	*pparameters=parameters;
