Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 12760)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 12761)
@@ -24,8 +24,6 @@
 	int         numoutputs;
 	Parameters *parameters       = NULL;
-	IssmDouble     *requestedoutputs = NULL;
-	bool   isdelta18o;
-	IssmDouble *Delta18oT, *Delta18oSurfaceT;
-	int nlinesD18o, ncolsD18o, nlinesD18osurf, ncolsD18osurf;
+	IssmDouble *requestedoutputs = NULL;
+	bool        isdelta18o;
 
 	if(*pparameters)return; //do not create parameters twice!
@@ -98,11 +96,16 @@
 	iomodel->Constant(&isdelta18o,SurfaceforcingsIsdelta18oEnum);
 	if(isdelta18o){
-	        iomodel->FetchData(&Delta18oT,&nlinesD18o,&ncolsD18o,SurfaceforcingsDelta18oEnum);
-	        _assert_(nlinesD18o==2);
-	        parameters->AddObject(new TransientParam(SurfaceforcingsDelta18oEnum,&Delta18oT[0],&Delta18oT[ncolsD18o],ncolsD18o));
-	          
-	        iomodel->FetchData(&Delta18oSurfaceT,&nlinesD18osurf,&ncolsD18osurf,SurfaceforcingsDelta18oSurfaceEnum);
-	        _assert_(nlinesD18osurf==2);
-	        parameters->AddObject(new TransientParam(SurfaceforcingsDelta18oSurfaceEnum,&Delta18oSurfaceT[0],&Delta18oSurfaceT[ncolsD18osurf],ncolsD18osurf));
+		IssmDouble *temp = NULL;
+		int         N,M;
+
+		iomodel->FetchData(&temp,&N,&M,SurfaceforcingsDelta18oEnum);
+		_assert_(N==2);
+		parameters->AddObject(new TransientParam(SurfaceforcingsDelta18oEnum,&temp[0],&temp[M],M));
+		xDelete<IssmDouble>(temp);
+
+		iomodel->FetchData(&temp,&N,&M,SurfaceforcingsDelta18oSurfaceEnum);
+		_assert_(N==2);
+		parameters->AddObject(new TransientParam(SurfaceforcingsDelta18oSurfaceEnum,&temp[0],&temp[M],M));
+		xDelete<IssmDouble>(temp);
 	}
 
