Index: /issm/trunk-jpl/src/wrappers/python/io/WritePythonData.cpp
===================================================================
--- /issm/trunk-jpl/src/wrappers/python/io/WritePythonData.cpp	(revision 14231)
+++ /issm/trunk-jpl/src/wrappers/python/io/WritePythonData.cpp	(revision 14232)
@@ -137,6 +137,7 @@
 	PyObject* array=NULL;
 
+	matrix->GetSize(&M,&N);
 	buffer=matrix->ToSerial();
-	matrix->GetSize(&M,&N);
+
 	dims[0]=(npy_intp)M;
 	dims[1]=(npy_intp)N;
@@ -154,6 +155,7 @@
 	PyObject* array=NULL;
 
+	vector->GetSize(&M);
 	buffer=vector->ToMPISerial();
-	vector->GetSize(&M);
+
 	dim=(npy_intp)M;
 	array=PyArray_SimpleNewFromData(1,&dim,NPY_DOUBLE,buffer);
@@ -165,22 +167,20 @@
 void WriteData(PyObject* py_tuple,int index,SeqMat<int>* matrix){
 
-	//FIXME: convert to double for now
-	
 	int M,N;
-	int* buffer=NULL;
+	int* ibuffer=NULL;
 	npy_intp dims[2]={0,0};
 	PyObject* array=NULL;
 
 	matrix->GetSize(&M,&N);
-	buffer=matrix->ToSerial();
-
-	/*convert to double*/
-	double* bufferdouble=xNew<IssmDouble>(M*N);
-	for(int i=0;i<M*N;i++) bufferdouble[i]=(double)buffer[i];
-	xDelete<int>(buffer);
-
-	dims[0]=(npy_intp)M;
-	dims[1]=(npy_intp)N;
-	array=PyArray_SimpleNewFromData(2,dims,NPY_DOUBLE,bufferdouble);
+	ibuffer=matrix->ToSerial();
+
+	/*convert to long*/
+	long* lbuffer=xNew<long>(M*N);
+	for(int i=0;i<M*N;i++) lbuffer[i]=(long)ibuffer[i];
+	xDelete<int>(ibuffer);
+
+	dims[0]=(npy_intp)M;
+	dims[1]=(npy_intp)N;
+	array=PyArray_SimpleNewFromData(2,dims,NPY_INT64,lbuffer);
 
 	PyTuple_SetItem(py_tuple, index, array);
@@ -190,21 +190,19 @@
 void WriteData(PyObject* py_tuple,int index,SeqVec<int>* vector){
 
-	//FIXME: convert to double for now
-
 	int M;
-	int* buffer=NULL;
+	int* ibuffer=NULL;
 	npy_intp dim=10;
 	PyObject* array=NULL;
 
 	vector->GetSize(&M);
-	buffer=vector->ToMPISerial();
-
-	/*convert to double*/
-	IssmDouble* bufferdouble=xNew<IssmDouble>(M);
-	for(int i=0;i<M;i++) bufferdouble[i]=(double)buffer[i];
-	xDelete<int>(buffer);
+	ibuffer=vector->ToMPISerial();
+
+	/*convert to long*/
+	long* lbuffer=xNew<long>(M);
+	for(int i=0;i<M;i++) lbuffer[i]=(long)ibuffer[i];
+	xDelete<int>(ibuffer);
 
 	dim=(npy_intp)M;
-	array=PyArray_SimpleNewFromData(1,&dim,NPY_DOUBLE,bufferdouble);
+	array=PyArray_SimpleNewFromData(1,&dim,NPY_INT64,lbuffer);
 
 	PyTuple_SetItem(py_tuple, index, array);
@@ -277,7 +275,5 @@
 PyObject* PyArrayFromCopiedData(int dimi,int dimj,int* data){
 
-	//FIXME: convert to double for now
-
-	double* pydata;
+	long* pydata;
 	npy_intp pydims[2]={0,0};
 
@@ -287,8 +283,7 @@
 	pydims[0]=(npy_intp)dimi;
 	pydims[1]=(npy_intp)dimj;
-	pydata=xNew<IssmDouble>(dimi*dimj);
-	//memcpy(pydata,data,dimi*dimj*sizeof(int));
-	for(int i=0;i<dimi*dimj;i++) pydata[i]=(double)data[i];
-	return PyArray_SimpleNewFromData(2,pydims,NPY_DOUBLE,pydata);
-}
-/*}}}*/
+	pydata=xNew<long>(dimi*dimj);
+	for(int i=0;i<dimi*dimj;i++) pydata[i]=(long)data[i];
+	return PyArray_SimpleNewFromData(2,pydims,NPY_INT64,pydata);
+}
+/*}}}*/
