Index: /issm/trunk-jpl/src/c/classes/DependentObject.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/DependentObject.cpp	(revision 22586)
+++ /issm/trunk-jpl/src/c/classes/DependentObject.cpp	(revision 22587)
@@ -18,4 +18,5 @@
 	this->type=0;
 	this->index=-1;
+	this->response_value=0.;
 }
 /*}}}*/
@@ -27,4 +28,16 @@
 	if(in_type!=0 && in_type!=1)_error_("cannot create an DependentObject of type " << in_type);
 	if(in_type==1)_error_("not implemented yet!");
+	this->response_value=0.;
+
+}
+/*}}}*/
+DependentObject::DependentObject(char* in_name, int in_type,int in_index,IssmDouble in_response){/*{{{*/
+
+	this->name=xNew<char>(strlen(in_name)+1); xMemCpy<char>(this->name,in_name,strlen(in_name)+1);
+	this->type=in_type;
+	this->index=in_index;
+	if(in_type!=0 && in_type!=1)_error_("cannot create an DependentObject of type " << in_type);
+	if(in_type==1)_error_("not implemented yet!");
+	this->response_value=in_response;
 
 }
@@ -37,5 +50,5 @@
 /*Object virtual functions definitions:*/
 Object* DependentObject::copy(void) { /*{{{*/
-	return new DependentObject(name,type,index);
+	return new DependentObject(name,type,index,response_value);
 } /*}}}*/
 void DependentObject::DeepEcho(void){/*{{{*/
@@ -85,5 +98,16 @@
 	}
 	else femmodel->Responsex(poutput_value,this->name);
-
 }
 /*}}}*/
+IssmDouble DependentObject::GetValue(void){/*{{{*/
+	return this->response_value;
+}
+/*}}}*/
+void DependentObject::AddValue(IssmDouble in_value){/*{{{*/
+	this->response_value+=in_value;
+}
+/*}}}*/
+void DependentObject::ResetResponseValue(){/*{{{*/
+	this->response_value=0.;
+}
+/*}}}*/
Index: /issm/trunk-jpl/src/c/classes/DependentObject.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/DependentObject.h	(revision 22586)
+++ /issm/trunk-jpl/src/c/classes/DependentObject.h	(revision 22587)
@@ -20,11 +20,13 @@
 		int type;  /*0: scalar, 1: vertex*/
 		int index;  /*0: scalar, 1: vertex*/
+		IssmDouble response_value;
 
-		/*DependentObject constructors, destructors {{{*/
+		/*DependentObject constructors, destructors */
 		DependentObject();
 		DependentObject(char* name, int type,int index);
+		DependentObject(char* name, int type,int index,IssmDouble in_response);
 		~DependentObject();
-		/*}}}*/
-		/*Object virtual functions definitions:{{{ */
+
+		/*Object virtual functions definitions*/
 		Object* copy(void);
 		void  DeepEcho();
@@ -32,13 +34,12 @@
 		int   Id(); 
 		int   ObjectEnum();
-		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
-			_error_("not implemented yet!"); 
-		} 
-		/*}}}*/
-		/*}}}*/
+		void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){_error_("not implemented yet!"); };
 
 		/*DependentObject methods: */
 		int  NumDependents(void);
 		void Responsex(IssmDouble* poutput_value,FemModel* femmodel);
+		IssmDouble GetValue(void);
+		void AddValue(IssmDouble in_value);
+		void ResetResponseValue(void);
 
 };
