Index: /issm/trunk/src/c/Makefile.am
===================================================================
--- /issm/trunk/src/c/Makefile.am	(revision 4852)
+++ /issm/trunk/src/c/Makefile.am	(revision 4853)
@@ -194,4 +194,6 @@
 					./objects/Params/DoubleMatParam.cpp\
 					./objects/Params/DoubleMatParam.h\
+					./objects/Params/DoubleMatArrayParam.cpp\
+					./objects/Params/DoubleMatArrayParam.h\
 					./objects/Params/DoubleVecParam.cpp\
 					./objects/Params/DoubleVecParam.h\
@@ -754,4 +756,6 @@
 					./objects/Params/DoubleMatParam.cpp\
 					./objects/Params/DoubleMatParam.h\
+					./objects/Params/DoubleMatArrayParam.cpp\
+					./objects/Params/DoubleMatArrayParam.h\
 					./objects/Params/DoubleVecParam.cpp\
 					./objects/Params/DoubleVecParam.h\
Index: /issm/trunk/src/c/modules/ModelProcessorx/Qmu/CreateParametersQmu.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Qmu/CreateParametersQmu.cpp	(revision 4852)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Qmu/CreateParametersQmu.cpp	(revision 4853)
@@ -166,5 +166,5 @@
 			char* descriptor=responsedescriptors[i];
 			
-			if(strncmp(response_descriptor,"MassFlux",8)==0){
+			if(strncmp(descriptor,"MassFlux",8)==0){
 				qmu_mass_flux_present=true;
 			}
Index: /issm/trunk/src/c/objects/Params/DoubleMatArrayParam.cpp
===================================================================
--- /issm/trunk/src/c/objects/Params/DoubleMatArrayParam.cpp	(revision 4852)
+++ /issm/trunk/src/c/objects/Params/DoubleMatArrayParam.cpp	(revision 4853)
@@ -121,4 +121,5 @@
 	char* marshalled_dataset=NULL;
 	int   enum_value=0;
+	int   i;
 
 	/*recover marshalled_dataset: */
@@ -312,5 +313,5 @@
 void  DoubleMatArrayParam::SetValue(double** in_array, int in_M, int* in_mdim_array, int* in_ndim_array){
 
-	int i;
+	int i,m,n;
 	double* in_matrix=NULL;
 	double* matrix=NULL;
@@ -340,5 +341,5 @@
 
 		matrix=(double*)xmalloc(m*n*sizeof(double));
-		memcpy(this->matrix,in_matrix,m*n*sizeof(double));
+		memcpy(matrix,in_matrix,m*n*sizeof(double));
 
 		this->array[i]=matrix;
Index: /issm/trunk/src/c/objects/Params/DoubleMatArrayParam.h
===================================================================
--- /issm/trunk/src/c/objects/Params/DoubleMatArrayParam.h	(revision 4852)
+++ /issm/trunk/src/c/objects/Params/DoubleMatArrayParam.h	(revision 4853)
@@ -73,5 +73,5 @@
 		void  SetValue(char** stringarray,int M){ISSMERROR("DoubleMatArray param of enum %i (%s) cannot hold a string array",enum_type,EnumAsString(enum_type));}
 		void  SetValue(double* doublearray,int M){ISSMERROR("DoubleMatArray param of enum %i (%s) cannot hold a double vec array",enum_type,EnumAsString(enum_type));}
-		void  SetValue(double* doublearray,int M,int N)ISSMERROR("DoubleMatArray param of enum %i (%s) cannot hold a double mat array",enum_type,EnumAsString(enum_type));}
+		void  SetValue(double* doublearray,int M,int N){ISSMERROR("DoubleMatArray param of enum %i (%s) cannot hold a double mat array",enum_type,EnumAsString(enum_type));}
 		void  SetValue(Vec vec){ISSMERROR("DoubleMatArray param of enum %i (%s) cannot hold a Vec",enum_type,EnumAsString(enum_type));}
 		void  SetValue(Mat mat){ISSMERROR("DoubleMatArray param of enum %i (%s) cannot hold a Mat",enum_type,EnumAsString(enum_type));}
Index: /issm/trunk/src/c/objects/objects.h
===================================================================
--- /issm/trunk/src/c/objects/objects.h	(revision 4852)
+++ /issm/trunk/src/c/objects/objects.h	(revision 4853)
@@ -79,4 +79,5 @@
 #include "./Params/BoolParam.h"
 #include "./Params/DoubleMatParam.h"
+#include "./Params/DoubleMatArrayParam.h"
 #include "./Params/DoubleParam.h"
 #include "./Params/DoubleVecParam.h"
