Index: /issm/trunk-jpl/src/m/classes/qmu/response_function.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/qmu/response_function.m	(revision 24838)
+++ /issm/trunk-jpl/src/m/classes/qmu/response_function.m	(revision 24839)
@@ -1,32 +1,15 @@
+%RESPONSE_FUNCTION class definition
 %
-%  definition for the response_function class.
-%
-%  [rf]=response_function(varargin)
-%
-%  where the required varargin are:
-%    descriptor    (char, description, '')
-%  and the optional varargin and defaults are:
-%    respl         (double vector, response levels, [])
-%    probl         (double vector, probability levels, [])
-%    rell          (double vector, reliability levels, [])
-%    grell         (double vector, gen. reliability levels, [])
-%
-%  note that zero arguments constructs a default instance; one
-%  argument of the class copies the instance; and one or more
-%  arguments constructs a new instance from the arguments.
-%
-%  "Copyright 2009, by the California Institute of Technology.
-%  ALL RIGHTS RESERVED. United States Government Sponsorship
-%  acknowledged. Any commercial use must be negotiated with
-%  the Office of Technology Transfer at the California Institute
-%  of Technology.  (J. Schiermeier, NTR 47078)
-%
-%  This software may be subject to U.S. export control laws.
-%  By accepting this  software, the user agrees to comply with
-%  all applicable U.S. export laws and regulations. User has the
-%  responsibility to obtain export licenses, or other export
-%  authority as may be required before exporting such information
-%  to foreign countries or providing access to foreign persons."
-%
+%   Usage:
+%      rf=response_function('descriptor',descriptor,'response_levels',respl,...
+%           'probability_levels',probl,'reliability_levels',rell,general_reliability_levels',grell,...
+%           'partition',partition);
+%      where rf is the response function object returned by the constructor. All options except the 
+%      descriptor are optional. A partition can be provided for scaled variables. 
+% 
+%   Example:
+%      md.qmu.responses.maxvel=response_function('descriptor','MaxVel','response_levels',[0],...
+%                              'probl',[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]');
+
 classdef response_function
     properties
@@ -36,66 +19,28 @@
         rell      =[];
         grell     =[];
+		partition = [];
     end
+    methods
+		function self=response_function(varargin) %constructor {{{
 
-    methods
-        function [rf]=response_function(varargin)
+			%recover options: 
+			options = pairoptions(varargin{:});
 
-            switch nargin
+			%initialize fields: 
+			self.descriptor=getfieldvalue(options,'descriptor');
+			self.respl=getfieldvalue(options,'response_levels',[]);
+			self.probl=getfieldvalue(options,'probability_levels',...
+				[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
+			self.rell=getfieldvalue(options,'reliability_levels',[]);
+			self.grell=getfieldvalue(options,'general_reliability_levels',[]);
+			
+			%if the response is scaled,  a partition vector should have been supplied.
+			if self.isscaled(),
+				self.partition=getfieldvalue(options,'partition');
+				npart=partition_npart(self.partition);
+			end
+		end %}}}
+        function []=disp(rf)% {{{
 
-					%  create a default object
-                case 0
-
-						 %  copy the object or create the object from the input
-                otherwise
-                    if  (nargin == 1) && isa(varargin{1},'response_function')
-                        rf=varargin{1};
-                    else
-                        asizec=num2cell(array_size(varargin{1:min(nargin,1)}));
-                        rf(asizec{:})=response_function;
-                        clear asizec
-
-                        if ischar(varargin{1})
-                            varargin{1}=cellstr(varargin{1});
-                        end
-                        for i=1:numel(rf)
-                            if (numel(varargin{1}) > 1)
-                                rf(i).descriptor=varargin{1}{i};
-                            else
-                                rf(i).descriptor=[char(varargin{1}) string_dim(rf,i,'vector')];
-                            end
-                        end
-
-                        if (nargin >= 2)
-                            for i=1:numel(rf)
-                                rf(i).respl     =varargin{2};
-                            end
-                            if (nargin >= 3)
-                                for i=1:numel(rf)
-                                    rf(i).probl     =varargin{3};
-                                end
-                                if (nargin >= 4)
-                                    for i=1:numel(rf)
-                                        rf(i).rell      =varargin{4};
-                                    end
-                                    if (nargin >= 5)
-                                        for i=1:numel(rf)
-                                            rf(i).grell     =varargin{5};
-                                        end
-
-                                        if (nargin > 5)
-                                            warning('response_function:extra_arg',...
-                                                'Extra arguments for object of class ''%s''.',...
-                                                class(rf));
-                                        end
-                                    end
-                                end
-                            end
-                        end
-                    end
-            end
-
-        end
-
-        function []=disp(rf)
 
         %  display the object
@@ -112,7 +57,7 @@
             end
 
-        end
+        end % }}}
+        function [desc]  =prop_desc(rf,dstr)% {{{
 
-        function [desc]  =prop_desc(rf,dstr)
             desc=cell(1,numel(rf));
             for i=1:numel(rf)
@@ -128,24 +73,29 @@
             end
             desc=allempty(desc);
-        end
-        function [stype] =prop_stype(rf)
+        end % }}}
+        function [stype] =prop_stype(rf)% {{{
+
             stype={};
-        end
-        function [scale] =prop_scale(rf)
+        end% }}}
+        function [scale] =prop_scale(rf)% {{{
+
             scale=[];
-        end
-        function [weight]=prop_weight(rf)
+        end% }}}
+        function [weight]=prop_weight(rf) % {{{
+
             weight=[];
-        end
-        function [lower] =prop_lower(rf)
+        end% }}}
+        function [lower] =prop_lower(rf)% {{{
+
             lower=[];
-        end
-        function [upper] =prop_upper(rf)
+        end% }}}
+        function [upper] =prop_upper(rf)% {{{
+
             upper=[];
-        end
-        function [target]=prop_target(rf)
+        end % }}}
+        function [target]=prop_target(rf) % {{{
             target=[];
-        end
-        function [respl,probl,rell,grell]=prop_levels(rf)
+        end % }}}
+        function [respl,probl,rell,grell]=prop_levels(rf) % {{{
             respl=cell(1,numel(rf));
             probl=cell(1,numel(rf));
@@ -162,18 +112,24 @@
             rell =allempty(rell);
             grell=allempty(grell);
-        end
+        end % }}}
+		%new methods: 
+	function scaled =isscaled(self) % {{{
+		if strncmp(self.descriptor,'scaled_',7),
+			scaled=1;
+		else
+			scaled=0;
+		end
+	end % }}}
     end
+    methods (Static)
+        function [rdesc]=dakota_write(fidi,dresp,rdesc) % {{{
 
-    methods (Static)
-        function [rdesc]=dakota_write(fidi,dresp,rdesc)
-
-			  %  collect only the responses of the appropriate class
+			%collect only the responses of the appropriate class
             rf=struc_class(dresp,'response_function');
 
-				%  write responses
-				[rdesc]=rlist_write(fidi,'response_functions','response_function',rf,rdesc);
-			end
-
-			function []=dakota_rlev_write(fidi,dresp,params)
+			%write responses
+			[rdesc]=rlist_write(fidi,'response_functions','response_function',rf,rdesc);
+		end % }}}
+		function []=dakota_rlev_write(fidi,dresp,params) % {{{
 
 				%  collect only the responses of the appropriate class
@@ -182,5 +138,5 @@
 				%  write response levels
 				rlev_write(fidi,rf,params);
-        end
+        end % }}}
     end
 end
Index: /issm/trunk-jpl/src/m/qmu/preqmu.m
===================================================================
--- /issm/trunk-jpl/src/m/qmu/preqmu.m	(revision 24838)
+++ /issm/trunk-jpl/src/m/qmu/preqmu.m	(revision 24839)
@@ -30,5 +30,5 @@
 responses=expandresponses(md,responses);
 
-%go through variables and responses, and check they don't have more than md.qmu.numberofpartitions values. Also determine numvariables and numresponses
+%go through variables and responses, and check they don't have more than the number of partitions. Also determine numvariables and numresponses
 numvariables=0;
 variable_fieldnames=fieldnames(variables);
@@ -37,6 +37,9 @@
 	fieldvariables=variables.(field_name);
 	for j=1:numel(fieldvariables)
-		if strncmpi(fieldvariables(j).descriptor,'scaled_',7) && str2int(fieldvariables(j).descriptor,'last')>md.qmu.numberofpartitions,
-			error('preqmu error message: one of the expanded variables has more values than the number of partitions (setup in md.qmu.numberofpartitions)');
+		if strncmpi(fieldvariables(j).descriptor,'scaled_',7),
+			npart=partition_npart(fieldvariables(j).partition);
+			if str2int(fieldvariables(j).descriptor,'last')>npart,
+				error('preqmu error message: one of the expanded variables has more values than the number of partitions ');
+			end
 		end
 	end
@@ -50,6 +53,9 @@
 	fieldresponses=responses.(field_name);
 	for j=1:numel(fieldresponses)
-		if strncmpi(fieldresponses(j).descriptor,'scaled_',7) && str2int(fieldresponses(j).descriptor,'last')>md.qmu.numberofpartitions,
-			error('preqmu error message: one of the expanded responses has more values than the number of partitions (setup in md.qmu.numberofpartitions)');
+		if strncmpi(fieldresponses(j).descriptor,'scaled_',7),
+			npart=partition_npart(fieldresponses(j).partition);
+			if str2int(fieldresponses(j).descriptor,'last')>npart,
+				error('preqmu error message: one of the expanded responses has more values than the number of partitions (setup in md.qmu.numberofpartitions)');
+			end
 		end
 	end
Index: /issm/trunk-jpl/test/NightlyRun/test218.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test218.m	(revision 24838)
+++ /issm/trunk-jpl/test/NightlyRun/test218.m	(revision 24839)
@@ -66,5 +66,5 @@
 
 %responses
-md.qmu.responses.MaxVel=response_function('MaxVel',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
+md.qmu.responses.MaxVel=response_function('descriptor','MaxVel');
 
 %method
Index: /issm/trunk-jpl/test/NightlyRun/test234.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test234.m	(revision 24838)
+++ /issm/trunk-jpl/test/NightlyRun/test234.m	(revision 24839)
@@ -33,12 +33,12 @@
 
 %responses
-md.qmu.responses.MaxVel=response_function('MaxVel',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.IceVolume=response_function('IceVolume',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux1=response_function('indexed_MassFlux_1',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux2=response_function('indexed_MassFlux_2',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux3=response_function('indexed_MassFlux_3',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux4=response_function('indexed_MassFlux_4',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux5=response_function('indexed_MassFlux_5',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.massFlux6=response_function('indexed_MassFlux_6',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
+md.qmu.responses.MaxVel=response_function('descriptor','MaxVel');
+md.qmu.responses.IceVolume=response_function('descriptor','IceVolume');
+md.qmu.responses.MassFlux1=response_function('descriptor','indexed_MassFlux_1');
+md.qmu.responses.MassFlux2=response_function('descriptor','indexed_MassFlux_2');
+md.qmu.responses.MassFlux3=response_function('descriptor','indexed_MassFlux_3');
+md.qmu.responses.MassFlux4=response_function('descriptor','indexed_MassFlux_4');
+md.qmu.responses.MassFlux5=response_function('descriptor','indexed_MassFlux_5');
+md.qmu.responses.massFlux6=response_function('descriptor','indexed_MassFlux_6');
 
 %mass flux profiles
Index: /issm/trunk-jpl/test/NightlyRun/test235.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test235.m	(revision 24838)
+++ /issm/trunk-jpl/test/NightlyRun/test235.m	(revision 24839)
@@ -34,12 +34,12 @@
 
 %responses
-md.qmu.responses.MaxVel=response_function('MaxVel',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.IceVolume=response_function('IceVolume',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux1=response_function('indexed_MassFlux_1',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux2=response_function('indexed_MassFlux_2',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux3=response_function('indexed_MassFlux_3',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux4=response_function('indexed_MassFlux_4',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux5=response_function('indexed_MassFlux_5',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.massFlux6=response_function('indexed_MassFlux_6',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
+md.qmu.responses.MaxVel=response_function('descriptor','MaxVel');
+md.qmu.responses.IceVolume=response_function('descriptor','IceVolume');
+md.qmu.responses.MassFlux1=response_function('descriptor','indexed_MassFlux_1');
+md.qmu.responses.MassFlux2=response_function('descriptor','indexed_MassFlux_2');
+md.qmu.responses.MassFlux3=response_function('descriptor','indexed_MassFlux_3');
+md.qmu.responses.MassFlux4=response_function('descriptor','indexed_MassFlux_4');
+md.qmu.responses.MassFlux5=response_function('descriptor','indexed_MassFlux_5');
+md.qmu.responses.massFlux6=response_function('descriptor','indexed_MassFlux_6');
 
 %mass flux profiles
Index: /issm/trunk-jpl/test/NightlyRun/test244.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test244.m	(revision 24838)
+++ /issm/trunk-jpl/test/NightlyRun/test244.m	(revision 24839)
@@ -73,7 +73,7 @@
 
 %responses
-md.qmu.responses.IceVolume=response_function('IceVolume',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.IceMass=response_function('IceMass',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.TotalSmb=response_function('TotalSmb',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
+md.qmu.responses.IceVolume=response_function('descriptor','IceVolume');
+md.qmu.responses.IceMass=response_function('descriptor','IceMass');
+md.qmu.responses.TotalSmb=response_function('descriptor','TotalSmb');
 
 %  nond_sampling study
Index: /issm/trunk-jpl/test/NightlyRun/test250.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test250.m	(revision 24838)
+++ /issm/trunk-jpl/test/NightlyRun/test250.m	(revision 24839)
@@ -33,12 +33,12 @@
 
 %responses
-md.qmu.responses.MaxVel=response_function('MaxVel',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.IceVolume=response_function('IceVolume',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux1=response_function('indexed_MassFlux_1',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux2=response_function('indexed_MassFlux_2',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux3=response_function('indexed_MassFlux_3',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux4=response_function('indexed_MassFlux_4',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux5=response_function('indexed_MassFlux_5',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.massFlux6=response_function('indexed_MassFlux_6',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
+md.qmu.responses.MaxVel=response_function('descriptor','MaxVel');
+md.qmu.responses.IceVolume=response_function('descriptor','IceVolume');
+md.qmu.responses.MassFlux1=response_function('descriptor','indexed_MassFlux_1');
+md.qmu.responses.MassFlux2=response_function('descriptor','indexed_MassFlux_2');
+md.qmu.responses.MassFlux3=response_function('descriptor','indexed_MassFlux_3');
+md.qmu.responses.MassFlux4=response_function('descriptor','indexed_MassFlux_4');
+md.qmu.responses.MassFlux5=response_function('descriptor','indexed_MassFlux_5');
+md.qmu.responses.massFlux6=response_function('descriptor','indexed_MassFlux_6');
 
 %mass flux profiles
Index: /issm/trunk-jpl/test/NightlyRun/test251.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test251.m	(revision 24838)
+++ /issm/trunk-jpl/test/NightlyRun/test251.m	(revision 24839)
@@ -33,12 +33,12 @@
 
 %responses
-md.qmu.responses.MaxVel=response_function('MaxVel',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.IceVolume=response_function('IceVolume',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux1=response_function('indexed_MassFlux_1',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux2=response_function('indexed_MassFlux_2',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux3=response_function('indexed_MassFlux_3',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux4=response_function('indexed_MassFlux_4',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux5=response_function('indexed_MassFlux_5',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.massFlux6=response_function('indexed_MassFlux_6',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
+md.qmu.responses.MaxVel=response_function('descriptor','MaxVel');
+md.qmu.responses.IceVolume=response_function('descriptor','IceVolume');
+md.qmu.responses.MassFlux1=response_function('descriptor','indexed_MassFlux_1');
+md.qmu.responses.MassFlux2=response_function('descriptor','indexed_MassFlux_2');
+md.qmu.responses.MassFlux3=response_function('descriptor','indexed_MassFlux_3');
+md.qmu.responses.MassFlux4=response_function('descriptor','indexed_MassFlux_4');
+md.qmu.responses.MassFlux5=response_function('descriptor','indexed_MassFlux_5');
+md.qmu.responses.massFlux6=response_function('descriptor','indexed_MassFlux_6');
 
 %mass flux profiles
Index: /issm/trunk-jpl/test/NightlyRun/test412.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test412.m	(revision 24838)
+++ /issm/trunk-jpl/test/NightlyRun/test412.m	(revision 24839)
@@ -26,5 +26,5 @@
 
 %responses
-md.qmu.responses.MaxVel=response_function('MaxVel',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
+md.qmu.responses.MaxVel=response_function('descriptor','MaxVel');
 
 %method
Index: /issm/trunk-jpl/test/NightlyRun/test413.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test413.m	(revision 24838)
+++ /issm/trunk-jpl/test/NightlyRun/test413.m	(revision 24839)
@@ -24,5 +24,5 @@
 
 %responses
-md.qmu.responses.MaxVel=response_function('MaxVel',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
+md.qmu.responses.MaxVel=response_function('descriptor','MaxVel');
 
 %method
Index: /issm/trunk-jpl/test/NightlyRun/test414.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test414.m	(revision 24838)
+++ /issm/trunk-jpl/test/NightlyRun/test414.m	(revision 24839)
@@ -31,12 +31,12 @@
 
 %responses
-md.qmu.responses.MaxVel=response_function('MaxVel',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux1=response_function('indexed_MassFlux_1',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux2=response_function('indexed_MassFlux_2',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux3=response_function('indexed_MassFlux_3',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux4=response_function('indexed_MassFlux_4',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux5=response_function('indexed_MassFlux_5',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux6=response_function('indexed_MassFlux_6',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux7=response_function('indexed_MassFlux_7',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
+md.qmu.responses.MaxVel=response_function('descriptor','MaxVel');
+md.qmu.responses.MassFlux1=response_function('descriptor','indexed_MassFlux_1');
+md.qmu.responses.MassFlux2=response_function('descriptor','indexed_MassFlux_2');
+md.qmu.responses.MassFlux3=response_function('descriptor','indexed_MassFlux_3');
+md.qmu.responses.MassFlux4=response_function('descriptor','indexed_MassFlux_4');
+md.qmu.responses.MassFlux5=response_function('descriptor','indexed_MassFlux_5');
+md.qmu.responses.MassFlux6=response_function('descriptor','indexed_MassFlux_6');
+md.qmu.responses.MassFlux7=response_function('descriptor','indexed_MassFlux_7');
 
 %mass flux profiles
Index: /issm/trunk-jpl/test/NightlyRun/test417.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test417.m	(revision 24838)
+++ /issm/trunk-jpl/test/NightlyRun/test417.m	(revision 24839)
@@ -30,12 +30,12 @@
 	'partition',md.qmu.vpartition);
 
-md.qmu.responses.MaxVel=response_function('MaxVel',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux1=response_function('indexed_MassFlux_1',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux2=response_function('indexed_MassFlux_2',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux3=response_function('indexed_MassFlux_3',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux4=response_function('indexed_MassFlux_4',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux5=response_function('indexed_MassFlux_5',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux6=response_function('indexed_MassFlux_6',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux7=response_function('indexed_MassFlux_7',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
+md.qmu.responses.MaxVel=response_function('descriptor','MaxVel');
+md.qmu.responses.MassFlux1=response_function('descriptor','indexed_MassFlux_1');
+md.qmu.responses.MassFlux2=response_function('descriptor','indexed_MassFlux_2');
+md.qmu.responses.MassFlux3=response_function('descriptor','indexed_MassFlux_3');
+md.qmu.responses.MassFlux4=response_function('descriptor','indexed_MassFlux_4');
+md.qmu.responses.MassFlux5=response_function('descriptor','indexed_MassFlux_5');
+md.qmu.responses.MassFlux6=response_function('descriptor','indexed_MassFlux_6');
+md.qmu.responses.MassFlux7=response_function('descriptor','indexed_MassFlux_7');
 
 %mass flux profiles
Index: /issm/trunk-jpl/test/NightlyRun/test420.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test420.m	(revision 24838)
+++ /issm/trunk-jpl/test/NightlyRun/test420.m	(revision 24839)
@@ -21,5 +21,5 @@
 
 %responses
-md.qmu.responses.MaxVel=response_function('scaled_Thickness',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
+md.qmu.responses.MaxVel=response_function('descriptor','scaled_Thickness','partition',md.qmu.vpartition);
 
 %method
Index: /issm/trunk-jpl/test/NightlyRun/test440.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test440.m	(revision 24838)
+++ /issm/trunk-jpl/test/NightlyRun/test440.m	(revision 24839)
@@ -21,5 +21,5 @@
 
 %responses
-md.qmu.responses.MaxVel=response_function('scaled_Thickness',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
+md.qmu.responses.MaxVel=response_function('descriptor','scaled_Thickness','partition',md.qmu.vpartition);
 
 %method
Index: /issm/trunk-jpl/test/NightlyRun/test444.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test444.m	(revision 24838)
+++ /issm/trunk-jpl/test/NightlyRun/test444.m	(revision 24839)
@@ -60,15 +60,15 @@
 	'partition',md.qmu.vpartition);
 
-md.qmu.responses.IceMass1=response_function('Outputdefinition5',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.IceVolume1=response_function('Outputdefinition6',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.IceVolumeAboveFloatation1=response_function('Outputdefinition7',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.IceVolumeAboveFloatation=response_function('IceVolumeAboveFloatation',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.GroundedArea1=response_function('Outputdefinition1',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.FloatingArea1=response_function('Outputdefinition2',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.TotalFloatingBmb1=response_function('Outputdefinition3',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.TotalGroundedBmb1=response_function('Outputdefinition4',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.TotalSmb1=response_function('Outputdefinition8',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.TotalSmb2=response_function('Outputdefinition9',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.FloatingArea=response_function('FloatingArea',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
+md.qmu.responses.IceMass1=response_function('descriptor','Outputdefinition5');
+md.qmu.responses.IceVolume1=response_function('descriptor','Outputdefinition6');
+md.qmu.responses.IceVolumeAboveFloatation1=response_function('descriptor','Outputdefinition7');
+md.qmu.responses.IceVolumeAboveFloatation=response_function('descriptor','IceVolumeAboveFloatation');
+md.qmu.responses.GroundedArea1=response_function('descriptor','Outputdefinition1');
+md.qmu.responses.FloatingArea1=response_function('descriptor','Outputdefinition2');
+md.qmu.responses.TotalFloatingBmb1=response_function('descriptor','Outputdefinition3');
+md.qmu.responses.TotalGroundedBmb1=response_function('descriptor','Outputdefinition4');
+md.qmu.responses.TotalSmb1=response_function('descriptor','Outputdefinition8');
+md.qmu.responses.TotalSmb2=response_function('descriptor','Outputdefinition9');
+md.qmu.responses.FloatingArea=response_function('descriptor','FloatingArea');
 
 md.qmu.method     =dakota_method('nond_samp');
Index: /issm/trunk-jpl/test/NightlyRun/test445.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test445.m	(revision 24838)
+++ /issm/trunk-jpl/test/NightlyRun/test445.m	(revision 24839)
@@ -35,12 +35,12 @@
 
 %responses
-md.qmu.responses.MaxVel=response_function('MaxVel',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux1=response_function('indexed_MassFlux_1',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux2=response_function('indexed_MassFlux_2',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux3=response_function('indexed_MassFlux_3',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux4=response_function('indexed_MassFlux_4',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux5=response_function('indexed_MassFlux_5',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux6=response_function('indexed_MassFlux_6',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
-md.qmu.responses.MassFlux7=response_function('indexed_MassFlux_7',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
+md.qmu.responses.MaxVel=response_function('descriptor','MaxVel');
+md.qmu.responses.MassFlux1=response_function('descriptor','indexed_MassFlux_1');
+md.qmu.responses.MassFlux2=response_function('descriptor','indexed_MassFlux_2');
+md.qmu.responses.MassFlux3=response_function('descriptor','indexed_MassFlux_3');
+md.qmu.responses.MassFlux4=response_function('descriptor','indexed_MassFlux_4');
+md.qmu.responses.MassFlux5=response_function('descriptor','indexed_MassFlux_5');
+md.qmu.responses.MassFlux6=response_function('descriptor','indexed_MassFlux_6');
+md.qmu.responses.MassFlux7=response_function('descriptor','indexed_MassFlux_7');
 
 %mass flux profiles
