Index: /issm/trunk-jpl/src/c/classes/Params/DataSetParam.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/DataSetParam.cpp	(revision 22587)
+++ /issm/trunk-jpl/src/c/classes/Params/DataSetParam.cpp	(revision 22588)
@@ -24,5 +24,5 @@
 
 	enum_type=in_enum_type;
-	value=in_value->Copy();;
+	value=in_value->Copy();
 }
 /*}}}*/
@@ -74,2 +74,6 @@
 }
 /*}}}*/
+void DataSetParam::SetValue(DataSet* dataset){/*{{{*/
+	this->value=dataset;
+}
+/*}}}*/
Index: /issm/trunk-jpl/src/c/classes/Params/DataSetParam.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/DataSetParam.h	(revision 22587)
+++ /issm/trunk-jpl/src/c/classes/Params/DataSetParam.h	(revision 22588)
@@ -70,5 +70,5 @@
 		void  SetValue(Vector<IssmDouble>* vec){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a Vec");}
 		void  SetValue(Matrix<IssmDouble>* mat){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a Mat");}
-		void  SetValue(DataSet* dataset){_error_("DataSet param of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot hold a DataSet yet");}
+		void  SetValue(DataSet* dataset);
 		void  SetValue(IssmDouble** array, int M, int* mdim_array, int* ndim_array){_error_("DataSet param of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot hold an array of matrices");}
 		/*}}}*/
Index: /issm/trunk-jpl/src/c/classes/Params/Param.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/Param.h	(revision 22587)
+++ /issm/trunk-jpl/src/c/classes/Params/Param.h	(revision 22588)
@@ -53,4 +53,5 @@
 		virtual void  SetValue(char* string)=0;
 		virtual void  SetValue(char** stringarray,int M)=0;
+		virtual void  SetValue(DataSet* dataset){_error_("not implemented yet");};
 		virtual void  SetValue(IssmDouble* IssmDoublearray,int M)=0;
 		virtual void  SetValue(IssmDouble* pIssmDoublearray,int M,int N)=0;
Index: /issm/trunk-jpl/src/c/classes/Params/Parameters.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/Parameters.cpp	(revision 22587)
+++ /issm/trunk-jpl/src/c/classes/Params/Parameters.cpp	(revision 22588)
@@ -554,6 +554,10 @@
 	param=xDynamicCast<Param*>(this->FindParamObject(enum_type));
 
-	if(param) param->SetValue(dataset); //already exists, just set it.
-	else this->AddObject(new DataSetParam(enum_type,dataset)); //just add the new parameter.
+	if(param){
+		param->SetValue(dataset); //already exists, just set it.
+	}
+	else{
+		this->AddObject(new DataSetParam(enum_type,dataset)); //just add the new parameter.
+	}
 }
 /*}}}*/
