Index: /issm/trunk-jpl/src/c/modules/OutputDefinitionsResponsex/OutputDefinitionsResponsex.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/OutputDefinitionsResponsex/OutputDefinitionsResponsex.cpp	(revision 18876)
+++ /issm/trunk-jpl/src/c/modules/OutputDefinitionsResponsex/OutputDefinitionsResponsex.cpp	(revision 18877)
@@ -38,2 +38,29 @@
 
 }
+
+IssmDouble OutputDefinitionsResponsex(FemModel* femmodel,int output_enum){
+
+	/*Ok, go find the output definitions dataset in the parameters, where our responses are hiding: */
+	DataSet* output_definitions=((DataSetParam*)femmodel->parameters->FindParamObject(OutputdefinitionEnum))->value;
+
+	/*Now, go through the output definitions, and retrieve the object which corresponds to our requested response, output_enum: */
+	for(int i=0;i<output_definitions->Size();i++){
+		
+		//Definition* definition=xDynamicCast<Definition*>(output_definitions->GetObjectByOffset(i));
+		Definition* definition=dynamic_cast<Definition*>(output_definitions->GetObjectByOffset(i));
+
+		int en = definition->DefinitionEnum();
+		if(en==output_enum){
+
+			/*This is the object that we have been chasing for. compute the response and return: */
+			IssmDouble return_value=definition->Response(femmodel);
+		
+			/*return:*/
+			return return_value;
+		}
+	}
+	
+	/*If we are here, did not find the definition for this response, not good!: */
+	_error_("Could not find the response for output definition " << output_enum << " because could not find the definition itself!");
+
+}
