Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/Dakota/CreateParametersDakota.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/Dakota/CreateParametersDakota.cpp	(revision 25256)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/Dakota/CreateParametersDakota.cpp	(revision 25257)
@@ -114,5 +114,7 @@
 		for(i=0;i<numvariabledescriptors;i++){
 			if (strncmp(variabledescriptors[i],"scaled_",7)==0){
-				/*Ok, we are dealing with a variable that is distributed over nodes. Recover the name of the variable (ex: scaled_Thickness): */
+				int code;
+
+				/*Ok, we are dealing with a variable that is distributed over nodes or elements. Recover the name of the variable (ex: scaled_Thickness): */
 				sscanf(variabledescriptors[i],"scaled_%s",tag);
 
@@ -122,13 +124,17 @@
 				FieldAndEnumFromCode(&param_enum,&fieldname,tag);
 
-				/*Recover data: */
-				iomodel->FetchData(&dakota_parameter,&nrows,&ncols,fieldname);
-				if(nrows==iomodel->numberofvertices){
-					dataset_variable_descriptors->AddObject(new DoubleMatParam(param_enum,dakota_parameter,nrows,ncols));
+				iomodel->SetFilePointerToData(&code,NULL,fieldname);
+				if(code==8) dataset_variable_descriptors->AddObject(new DoubleParam(param_enum,8)); //skip MatArray inputs, as we don't know which input will be scaled yet!
+				else{ 
+					/*recover more classic data, arrays and scalar mainly:*/
+					iomodel->FetchData(&dakota_parameter,&nrows,&ncols,fieldname);
+					if(nrows==iomodel->numberofvertices || nrows==iomodel->numberofelements){
+						dataset_variable_descriptors->AddObject(new DoubleMatParam(param_enum,dakota_parameter,nrows,ncols));
+					}
+					else{
+						dataset_variable_descriptors->AddObject(new DoubleTransientMatParam(param_enum,dakota_parameter,nrows,ncols));
+					}
+					xDelete<double>(dakota_parameter);
 				}
-				else{
-					dataset_variable_descriptors->AddObject(new DoubleTransientMatParam(param_enum,dakota_parameter,nrows,ncols));
-				}
-				xDelete<double>(dakota_parameter);
 				xDelete<char>(fieldname);
 			}
