Index: /issm/trunk-jpl/src/c/classes/IoModel.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/IoModel.cpp	(revision 16769)
+++ /issm/trunk-jpl/src/c/classes/IoModel.cpp	(revision 16770)
@@ -1195,4 +1195,61 @@
 }
 /*}}}*/
+/*FUNCTION IoModel::FetchMultipleData(int** pvector, int* pM,int data_enum){{{*/
+void  IoModel::FetchMultipleData(int** pvector, int* pnum_instances,int data_enum){
+
+	int     num_instances;
+	fpos_t* file_positions=NULL;
+
+	/*output: */
+	int* vector=NULL;
+	int num
+
+	/*intermediary: */
+	int          M, N;
+	IssmPDouble *pmatrix = NULL;
+	IssmDouble  *matrix  = NULL;
+	int         *codes   = NULL;
+	int          code;
+
+	/*recover my_rank:*/
+	int my_rank=IssmComm::GetRank();
+	
+	/*Get file pointers to beginning of the data (multiple instances of it): */
+	file_positions=this->SetFilePointersToData(&codes,NULL,&num_instances,data_enum);
+
+	if(num_instances){
+
+		/*Allocate vector :*/
+		vector=xNew<int>(num_instances);
+
+		for(int i=0;i<num_instances;i++){
+
+			if(my_rank==0){
+				code=codes[i];
+
+				if(code!=2)_error_("expecting an integer for enum " << EnumToStringx(data_enum));
+				
+				/*We have to read a integer from disk. First read the dimensions of the integer, then the integer: */
+				fsetpos(fid,file_positions+i);
+				if(my_rank==0){  
+					if(fread(&integer,sizeof(int),1,fid)!=1) _error_("could not read integer ");
+				}
+			}
+			ISSM_MPI_Bcast(&integer,1,ISSM_MPI_INT,0,IssmComm::GetComm()); 
+
+			/*Assign: */
+			vector[i]=integer;
+		}
+	}
+			
+	/*Free ressources:*/
+	xDelete<fpos_t>(file_positions);
+	xDelete<int>(codes);
+
+	/*Assign output pointers: */
+	*pvector=vector;
+	*pnum_instances=num_instances;
+}
+/*}}}*/
 /*FUNCTION IoModel::FetchMultipleData(IssmDouble*** pmatrices,int** pmdims,int** pndims, int* pM,int data_enum){{{*/
 void  IoModel::FetchMultipleData(IssmDouble*** pmatrices,int** pmdims,int** pndims, int* pnumrecords,int data_enum){
Index: /issm/trunk-jpl/src/c/classes/IoModel.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/IoModel.h	(revision 16769)
+++ /issm/trunk-jpl/src/c/classes/IoModel.h	(revision 16770)
@@ -80,4 +80,5 @@
 		void        FetchMultipleData(IssmDouble*** pmatrixarray,int** pmdims,int** pndims, int* pnumrecords,int data_enum);
 		void        FetchMultipleData(int*** pmatrices,int** pmdims,int** pndims, int* pnumrecords,int data_enum);
+		void        FetchMultipleData(int** pvector, int* pnum_instances,int data_enum);
 		void        FetchData(Option **poption,int data_enum);
 		void        FetchData(int num,...);
