Index: /issm/trunk-jpl/src/wrappers/python/io/FetchPythonData.cpp
===================================================================
--- /issm/trunk-jpl/src/wrappers/python/io/FetchPythonData.cpp	(revision 26564)
+++ /issm/trunk-jpl/src/wrappers/python/io/FetchPythonData.cpp	(revision 26565)
@@ -189,4 +189,5 @@
 	long* lmatrix=NULL;
 	bool* bmatrix=NULL;
+	float* smatrix=NULL;
 	int i;
 	PyObject* py_matrix2=NULL;
@@ -212,5 +213,14 @@
 			}
 
-			if (PyArray_TYPE((PyArrayObject*)py_matrix) == NPY_DOUBLE) {
+			if (PyArray_TYPE((PyArrayObject*)py_matrix) == NPY_FLOAT) {
+				/*retrieve internal value: */
+				smatrix=(float*)PyArray_DATA((PyArrayObject*)py_matrix);
+
+				/*transform into double matrix: */
+				matrix=xNew<double>(M*N);
+				for(i=0;i<M*N;i++)matrix[i]=(double)smatrix[i];
+			}
+
+			else if (PyArray_TYPE((PyArrayObject*)py_matrix) == NPY_DOUBLE) {
 				/*retrieve internal value: */
 				dmatrix=(double*)PyArray_DATA((PyArrayObject*)py_matrix);
@@ -558,4 +568,5 @@
 	long* lvector=NULL;
 	bool* bvector=NULL;
+	float* svector=NULL;
 	int i;
 	PyObject* py_vector2=NULL;
@@ -584,5 +595,13 @@
 			}
 
-			if      (PyArray_TYPE((PyArrayObject*)py_vector) == NPY_DOUBLE) {
+			if (PyArray_TYPE((PyArrayObject*)py_vector) == NPY_FLOAT) {
+				/*retrieve internal value: */
+				svector=(float*)PyArray_DATA((PyArrayObject*)py_vector);
+
+				/*transform into double matrix: */
+				vector=xNew<double>(M);
+				for(i=0;i<M;i++)vector[i]=(double)svector[i];
+			}
+			else if (PyArray_TYPE((PyArrayObject*)py_vector) == NPY_DOUBLE) {
 				/*retrieve internal value: */
 				dvector=(double*)PyArray_DATA((PyArrayObject*)py_vector);
