Index: /issm/trunk-jpl/test/NightlyRun/test250.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test250.m	(revision 21034)
+++ /issm/trunk-jpl/test/NightlyRun/test250.m	(revision 21034)
@@ -0,0 +1,89 @@
+%Test Name: SquareShelfTranForceNeg2dDakotaSampLinearPart
+md=triangle(model(),'../Exp/Square.exp',180000.);
+md=setmask(md,'all','');
+md=parameterize(md,'../Par/SquareShelf.par');
+md=setflowequation(md,'SSA','all');
+md.cluster=generic('name',oshostname(),'np',3);
+
+md.timestepping.time_step=1;
+md.settings.output_frequency=1;
+md.timestepping.final_time=4;
+
+smb = ones(md.mesh.numberofvertices,1)*3.6;
+smb=[ smb smb*-1 ];
+
+md.smb.mass_balance= smb;
+md.smb.mass_balance(end+1,:)=[1.5 3];
+md.transient.isthermal=0;
+%Dakota options
+
+%dakota version
+version=IssmConfig('_DAKOTA_VERSION_'); version=version(1:3); version=str2num(version);
+
+%partitioning
+md.qmu.numberofpartitions=md.mesh.numberofvertices;
+md=partitioner(md,'package','linear');
+md.qmu.partition=md.qmu.partition-1;
+
+%variables
+md.qmu.variables.surface_mass_balance=normal_uncertain('scaled_SmbMassBalance',1,0.1);
+
+%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]);
+
+%mass flux profiles
+md.qmu.mass_flux_profiles={'../Exp/MassFlux1.exp','../Exp/MassFlux2.exp','../Exp/MassFlux3.exp','../Exp/MassFlux4.exp','../Exp/MassFlux5.exp','../Exp/MassFlux6.exp'};
+md.qmu.mass_flux_profile_directory=pwd;
+
+%%  nond_sampling study
+md.qmu.method=dakota_method('nond_samp');
+md.qmu.method(end)=dmeth_params_set(md.qmu.method(end),'seed',1234,'samples',20,'sample_type','lhs');
+dver=textscan(IssmConfig('_DAKOTA_VERSION_'),'%[0123456789].%[0123456789].%[0123456789]');
+if ((str2num(dver{1}{1})==4 && str2num(dver{2}{1})>2) || str2num(dver{1}{1})>4)
+	md.qmu.method(end)=dmeth_params_set(md.qmu.method(end),'rng','rnum2');
+end
+
+%parameters
+md.qmu.params.direct=true;
+md.qmu.params.analysis_components='';
+md.qmu.params.interval_type='forward';
+md.qmu.params.tabular_graphics_data=true;
+md.qmu.isdakota=1;
+
+if version>=6,
+	md.qmu.params.analysis_driver='matlab';
+	md.qmu.params.evaluation_scheduling='master';
+	md.qmu.params.processors_per_evaluation=2;
+else
+	md.qmu.params.analysis_driver='stressbalance';
+	md.qmu.params.evaluation_concurrency=1;
+end
+
+
+md.stressbalance.reltol=10^-5; %tighten for qmu analyses
+md.transient.requested_outputs={'IceVolume'};
+
+%solve
+md=solve(md,TransientSolutionEnum(),'overwrite','y');
+md.qmu.results=md.results.dakota;
+
+%Fields and tolerances to track changes
+md.results.dakota.moments=[];
+for i=1:8,
+	md.results.dakota.moments=[md.results.dakota.moments md.results.dakota.dresp_out(i).mean];
+end
+for i=1:8,
+	md.results.dakota.moments=[md.results.dakota.moments md.results.dakota.dresp_out(i).stddev];
+end
+field_names     ={'moments'};
+field_tolerances={1e-6};
+field_values={...
+         md.results.dakota.moments,...
+	};
Index: /issm/trunk-jpl/test/NightlyRun/test251.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test251.m	(revision 21034)
+++ /issm/trunk-jpl/test/NightlyRun/test251.m	(revision 21034)
@@ -0,0 +1,84 @@
+%Test Name: SquareShelfTranForceNeg2dDakotaLocalLinearPart
+md=triangle(model(),'../Exp/Square.exp',180000.);
+md=setmask(md,'all','');
+md=parameterize(md,'../Par/SquareShelf.par');
+md=setflowequation(md,'SSA','all');
+md.cluster=generic('name',oshostname(),'np',3);
+
+md.timestepping.time_step=1;
+md.settings.output_frequency=1;
+md.timestepping.final_time=4;
+
+smb = ones(md.mesh.numberofvertices,1)*3.6;
+smb=[ smb smb*-1 ];
+
+md.smb.mass_balance= smb;
+md.smb.mass_balance(end+1,:)=[1.5 3];
+md.transient.isthermal=0;
+%Dakota options
+
+%dakota version
+version=IssmConfig('_DAKOTA_VERSION_'); version=version(1:3); version=str2num(version);
+
+%partitioning
+md.qmu.numberofpartitions=md.mesh.numberofvertices;
+md=partitioner(md,'package','linear');
+md.qmu.partition=md.qmu.partition-1;
+
+%variables
+md.qmu.variables.surface_mass_balance=normal_uncertain('scaled_SmbMassBalance',1,100);
+
+%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]);
+
+%mass flux profiles
+md.qmu.mass_flux_profiles={'../Exp/MassFlux1.exp','../Exp/MassFlux2.exp','../Exp/MassFlux3.exp','../Exp/MassFlux4.exp','../Exp/MassFlux5.exp','../Exp/MassFlux6.exp'};
+md.qmu.mass_flux_profile_directory=pwd;
+
+%method
+md.qmu.method     =dakota_method('nond_l');
+
+%parameters
+md.qmu.params.direct=true;
+md.qmu.params.analysis_components='';
+md.qmu.params.interval_type='forward';
+md.qmu.params.fd_gradient_step_size='0.1';
+md.qmu.isdakota=1;
+
+if version>=6,
+	md.qmu.params.analysis_driver='matlab';
+	md.qmu.params.evaluation_scheduling='master';
+	md.qmu.params.processors_per_evaluation=2;
+else
+	md.qmu.params.analysis_driver='stressbalance';
+	md.qmu.params.evaluation_concurrency=1;
+end
+
+
+md.stressbalance.reltol=10^-5; %tighten for qmu analyses
+md.transient.requested_outputs={'IceVolume'};
+
+%solve
+md=solve(md,TransientSolutionEnum(),'overwrite','y');
+md.qmu.results=md.results.dakota;
+
+%Fields and tolerances to track changes
+md.results.dakota.moments=[];
+for i=1:8,
+	md.results.dakota.moments=[md.results.dakota.moments md.results.dakota.dresp_out(i).mean];
+end
+for i=1:8,
+	md.results.dakota.moments=[md.results.dakota.moments md.results.dakota.dresp_out(i).stddev];
+end
+field_names     ={'moments'};
+field_tolerances={1e-6};
+field_values={...
+         md.results.dakota.moments,...
+	};
Index: /issm/trunk-jpl/test/NightlyRun/test440.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test440.m	(revision 21034)
+++ /issm/trunk-jpl/test/NightlyRun/test440.m	(revision 21034)
@@ -0,0 +1,62 @@
+%Test Name: SquareSheetShelfDakotaScaledResponseLinearPart
+md=triangle(model(),'../Exp/Square.exp',200000.);
+md=setmask(md,'../Exp/SquareShelf.exp','');
+md=parameterize(md,'../Par/SquareSheetShelf.par');
+md=setflowequation(md,'SSA','all');
+md.cluster=generic('name',oshostname(),'np',3);
+
+%partitioning
+md.qmu.numberofpartitions=md.mesh.numberofvertices;
+md=partitioner(md,'package','linear');
+md.qmu.partition=md.qmu.partition-1;
+md.qmu.isdakota=1;
+
+%Dakota options
+
+%dakota version
+version=IssmConfig('_DAKOTA_VERSION_'); version=version(1:3); version=str2num(version);
+
+%variables
+md.qmu.variables.rho_ice=normal_uncertain('MaterialsRhoIce',md.materials.rho_ice,0.01);
+
+%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]);
+
+%method
+md.qmu.method     =dakota_method('nond_l');
+
+%parameters
+md.qmu.params.direct=true;
+md.qmu.params.interval_type='forward';
+
+if version>=6,
+	md.qmu.params.analysis_driver='matlab';
+	md.qmu.params.evaluation_scheduling='master';
+	md.qmu.params.processors_per_evaluation=2;
+else
+	md.qmu.params.analysis_driver='stressbalance';
+	md.qmu.params.evaluation_concurrency=1;
+end
+
+
+
+%imperative! 
+md.stressbalance.reltol=10^-5; %tighten for qmu analysese
+
+%solve
+md=solve(md,StressbalanceSolutionEnum(),'overwrite','y');
+md.qmu.results=md.results.dakota;
+
+%test on thickness
+h=zeros(md.qmu.numberofpartitions,1);
+for i=1:md.qmu.numberofpartitions,
+	h(i)=md.qmu.results.dresp_out(i).mean;
+end
+
+%project onto grid
+thickness=h(md.qmu.partition+1);
+
+%Fields and tolerances to track changes
+field_names     ={'Thickness'};
+field_tolerances={1e-10};
+field_values={thickness};
