Index: /issm/trunk/src/m/utils/Nightly/runme.m
===================================================================
--- /issm/trunk/src/m/utils/Nightly/runme.m	(revision 2176)
+++ /issm/trunk/src/m/utils/Nightly/runme.m	(revision 2176)
@@ -0,0 +1,230 @@
+function md=runme(varargin)
+%RUNME - test deck for ISSM nightly runs
+%
+%   Usage:
+%      md=runme(varargin);
+%
+%   Examples:
+%      runme;
+%      runme('analysis_type',{'prognostic','diagnostic'});
+%      runme('analysis_type',{'prognostic','diagnostic'},'parallel',0);
+%      runme('procedure','update','analysis_type',{'prognostic','diagnostic'},'parallel',1);
+%
+%   See Also: UPDATEARCHIVE RUNME
+
+% This file can be run to check that the current version of issm is giving 
+% coherent results.
+% is square. Just run this file in Matlab, with a properly setup ISSM code. 
+% The results of this test will indicate if there is a difference between current computations 
+% and archived results.
+
+% Errors  between archived results and the current version will get flagged if they are not within 
+% a certain tolerance.
+
+%recover options
+options=optionlist2cell(varargin{:});
+
+%check arguments
+if nargout~=1
+	help runme
+	error('runme error message: bad usage');
+end
+
+%warning if a runme already exists:
+if exist('./runme.m')
+	disp('this is the nighlty run runme, located in src/m/utils/Nightly/runme.m')
+	disp('Another local runme exist but is not executed')
+end
+
+%read configuration
+if ~exist('./configuration.m')
+	error('runme error message: configuration file ''configuration.m'' not found');
+else
+	configuration;
+end
+
+%go through the sequences requested.
+for i=1:size(sequences,1),
+	sequence=sequences{i};
+
+	%recover what is being requested.
+	analysis_type=sequence{1};
+	sub_analysis_type=sequence{2};
+	qmu=sequence{3};
+	control=sequence{4};
+	control_fit=sequence{5};
+	parallel=sequence{6};
+
+	%CHECK analysis_type
+	analysis_type_arg=find_option(options,'analysis_type');
+	if ~isempty(analysis_type_arg),
+		if ~ismember(analysis_type,analysis_type_arg)
+			continue
+		end
+	end
+
+	%CHECK sub_analysis_type
+	sub_analysis_type_arg=find_option(options,'sub_analysis_type');
+	if ~isempty(sub_analysis_type_arg),
+		if ~ismember(sub_analysis_type,sub_analysis_type_arg)
+			continue
+		end
+	end
+
+	%CHECK qmu
+	qmu_arg=find_option(options,'qmu');
+	if ~isempty(qmu_arg),
+		if qmu~=qmu_arg,
+			continue
+		end
+	end
+
+	%CHECK control
+	control_arg=find_option(options,'control');
+	if ~isempty(control_arg),
+		if control~=control_arg,
+			continue
+		end
+	end
+
+	%CHECK control_fit
+	control_fit_arg=find_option(options,'control_fit');
+	if ~isempty(control_fit_arg),
+		if ~ismember(control_fit,control_fit_arg)
+			continue
+		end
+	end
+
+	%CHECK parallel
+	parallel_arg=find_option(options,'parallel');
+	if ~isempty(parallel_arg),
+		if parallel~=parallel_arg,
+			continue
+		end
+	end
+
+	%CHECK procedure
+	procedure=find_option(options,'procedure');
+	if isempty(procedure),
+		disp('runme warning: no procedure found, defaulting to test checking')
+		procedure='check';
+	end
+
+	%initialize model, using presolve if need be, or just the piece of generic code below.
+	md=model;
+	if ~rifts,
+		md=mesh(md,domainname,resolution);
+	else
+		md=mesh(md,domainname,riftname,resolution);
+		md=meshprocessrifts(md);
+	end
+	md=geography(md,iceshelfname,icesheetname);
+	md=parameterize(md,parametername);
+	md=extrude(md,numlayers,extrusionexponent);
+	eval(['md=setelementstype(md,' elementstype ');']);
+
+	if parallel, 
+		%this run will be done in parallel
+		md.cluster=oshostname;
+		%check and modify number of cpus if necessary
+		np=feature('numCores');
+		if np<md.np;
+			disp(['warning: changing number of cpus to ' num2str(np) ]);
+			md.np=np;
+		end
+		runtype='parallel';
+	else
+		runtype='serial';
+	end
+
+	%some solution checks;
+	if (  (strcmpi(analysis_type,'thermal') & strcmpi(sub_analysis_type,'steady')) | ...
+			(strcmpi(analysis_type,'steadystate'))...
+		)
+		md.dt=0;
+	end
+
+	if control,
+		md.control_analysis=1;
+		if strcmpi(control_fit,'absolute'),
+			md.fit(:)=0;
+		elseif strcmpi(control_fit,'relative'),
+			md.fit(:)=1;
+		elseif strcmpi(control_fit,'logarithmic'),
+			md.fit(:)=2;
+		else
+			error(['runme error message: for control solution, ' control_fit ' fit is not supported!']);
+		end
+	end
+
+	%try to run the test
+	try,
+
+		%presolve
+		if exist('./testpresolve.m','file')==2,
+			testpresolve;
+		end
+
+		%solve
+		md=solve(md,'analysis_type',analysis_type,'sub_analysis_type',sub_analysis_type);
+
+		%postsolve
+		if exist('./testpostsolve.m','file')==2,
+			testpostsolve;
+		end
+
+		%compute fields to be checked
+		fields=testsgetfields2(md,sequence);
+
+		%get Archive name
+		archive_name='Archive';
+		for i=1:length(sequence),
+			if ischar(sequence{i}),
+				archive_name=[archive_name '_' sequence{i}];
+			else
+				archive_name=[archive_name '_' num2str(sequence{i})];
+			end
+		end
+
+		%UPDATE ARCHIVE?
+		if strcmpi(procedure,'update'),
+
+			for k=1:length(fields),
+				field=fields{k};
+				eval([ archive_name '_field' num2str(k) ' = md.results. ' field  ';']);
+			end
+			eval(['save ' archive_name ' ' archive_name '_field*']);
+			disp(sprintf(['File ' archive_name ' saved\n']));
+
+		%ELSE: CHECK TEST
+		else,
+
+			%load archive
+			eval(['load ' archive_name ]);
+
+			for k=1:length(fields),
+
+				%Get field and tolerance
+				field=fields{k};
+				tolerance=testsgettolerance2(md,sequence,field);
+
+				%compare to archive
+				eval(['Archive=' archive_name '_field' num2str(k) ';']);
+				eval(['error_diff=full(max(abs(Archive-md.results.' field '))/(max(abs(Archive))+eps));']);
+
+				%disp test result
+				if (error_diff>tolerance);
+					disp(sprintf(['\nERROR   difference: %-7.2g > %7.2g test: %-25s solution: %-16s type: %-9s field: ' field  '.\n\n'],error_diff,tolerance,testname,[analysis_type '_' sub_analysis_type],runtype));
+				else
+					disp(sprintf(['\nSUCCESS difference: %-7.2g < %7.2g test: %-25s solution: %-16s type: %-9s field: ' field  '.\n\n'],error_diff,tolerance,testname,[analysis_type '_' sub_analysis_type],runtype));
+				end
+			end
+		end
+
+	catch me,
+
+		%something went wrong, print failure message:
+		message=getReport(me)
+		disp(sprintf(['\n\nFAILURE difference: %-16s test: %-25s solution: %-16s type: %-9s field: N/A.\n\n'],'N/A',testname,[analysis_type '_' sub_analysis_type],runtype));
+	end
+end
Index: sm/trunk/src/m/utils/Nightly/runme_core.m
===================================================================
--- /issm/trunk/src/m/utils/Nightly/runme_core.m	(revision 2175)
+++ 	(revision )
@@ -1,230 +1,0 @@
-function md=runme(varargin)
-%RUNME - test deck for ISSM nightly runs
-%
-%   Usage:
-%      md=runme(varargin);
-%
-%   Examples:
-%      runme;
-%      runme('analysis_type',{'prognostic','diagnostic'});
-%      runme('analysis_type',{'prognostic','diagnostic'},'parallel',0);
-%      runme('procedure','update','analysis_type',{'prognostic','diagnostic'},'parallel',1);
-%
-%   See Also: UPDATEARCHIVE RUNME
-
-% This file can be run to check that the current version of issm is giving 
-% coherent results.
-% is square. Just run this file in Matlab, with a properly setup ISSM code. 
-% The results of this test will indicate if there is a difference between current computations 
-% and archived results.
-
-% Errors  between archived results and the current version will get flagged if they are not within 
-% a certain tolerance.
-
-%recover options
-options=optionlist2cell(varargin{:});
-
-%check arguments
-if nargout~=1
-	help runme
-	error('runme error message: bad usage');
-end
-
-%warning if a runme already exists:
-if exist('./runme.m')
-	disp('this is the nighlty run runme, located in src/m/utils/Nightly/runme.m')
-	disp('Another local runme exist but is not executed')
-end
-
-%read configuration
-if ~exist('./configuration.m')
-	error('runme error message: configuration file ''configuration.m'' not found');
-else
-	configuration;
-end
-
-%go through the sequences requested.
-for i=1:size(sequences,1),
-	sequence=sequences{i};
-
-	%recover what is being requested.
-	analysis_type=sequence{1};
-	sub_analysis_type=sequence{2};
-	qmu=sequence{3};
-	control=sequence{4};
-	control_fit=sequence{5};
-	parallel=sequence{6};
-
-	%CHECK analysis_type
-	analysis_type_arg=find_option(options,'analysis_type');
-	if ~isempty(analysis_type_arg),
-		if ~ismember(analysis_type,analysis_type_arg)
-			continue
-		end
-	end
-
-	%CHECK sub_analysis_type
-	sub_analysis_type_arg=find_option(options,'sub_analysis_type');
-	if ~isempty(sub_analysis_type_arg),
-		if ~ismember(sub_analysis_type,sub_analysis_type_arg)
-			continue
-		end
-	end
-
-	%CHECK qmu
-	qmu_arg=find_option(options,'qmu');
-	if ~isempty(qmu_arg),
-		if qmu~=qmu_arg,
-			continue
-		end
-	end
-
-	%CHECK control
-	control_arg=find_option(options,'control');
-	if ~isempty(control_arg),
-		if control~=control_arg,
-			continue
-		end
-	end
-
-	%CHECK control_fit
-	control_fit_arg=find_option(options,'control_fit');
-	if ~isempty(control_fit_arg),
-		if ~ismember(control_fit,control_fit_arg)
-			continue
-		end
-	end
-
-	%CHECK parallel
-	parallel_arg=find_option(options,'parallel');
-	if ~isempty(parallel_arg),
-		if parallel~=parallel_arg,
-			continue
-		end
-	end
-
-	%CHECK procedure
-	procedure=find_option(options,'procedure');
-	if isempty(procedure),
-		disp('runme warning: no procedure found, defaulting to test checking')
-		procedure='check';
-	end
-
-	%initialize model, using presolve if need be, or just the piece of generic code below.
-	md=model;
-	if ~rifts,
-		md=mesh(md,domainname,resolution);
-	else
-		md=mesh(md,domainname,riftname,resolution);
-		md=meshprocessrifts(md);
-	end
-	md=geography(md,iceshelfname,icesheetname);
-	md=parameterize(md,parametername);
-	md=extrude(md,numlayers,extrusionexponent);
-	eval(['md=setelementstype(md,' elementstype ');']);
-
-	if parallel, 
-		%this run will be done in parallel
-		md.cluster=oshostname;
-		%check and modify number of cpus if necessary
-		np=feature('numCores');
-		if np<md.np;
-			disp(['warning: changing number of cpus to ' num2str(np) ]);
-			md.np=np;
-		end
-		runtype='parallel';
-	else
-		runtype='serial';
-	end
-
-	%some solution checks;
-	if (  (strcmpi(analysis_type,'thermal') & strcmpi(sub_analysis_type,'steady')) | ...
-			(strcmpi(analysis_type,'steadystate'))...
-		)
-		md.dt=0;
-	end
-
-	if control,
-		md.control_analysis=1;
-		if strcmpi(control_fit,'absolute'),
-			md.fit(:)=0;
-		elseif strcmpi(control_fit,'relative'),
-			md.fit(:)=1;
-		elseif strcmpi(control_fit,'logarithmic'),
-			md.fit(:)=2;
-		else
-			error(['runme error message: for control solution, ' control_fit ' fit is not supported!']);
-		end
-	end
-
-	%try to run the test
-	try,
-
-		%presolve
-		if exist('./testpresolve.m','file')==2,
-			testpresolve;
-		end
-
-		%solve
-		md=solve(md,'analysis_type',analysis_type,'sub_analysis_type',sub_analysis_type);
-
-		%postsolve
-		if exist('./testpostsolve.m','file')==2,
-			testpostsolve;
-		end
-
-		%compute fields to be checked
-		fields=testsgetfields2(md,sequence);
-
-		%get Archive name
-		archive_name='Archive';
-		for i=1:length(sequence),
-			if ischar(sequence{i}),
-				archive_name=[archive_name '_' sequence{i}];
-			else
-				archive_name=[archive_name '_' num2str(sequence{i})];
-			end
-		end
-
-		%UPDATE ARCHIVE?
-		if strcmpi(procedure,'update'),
-
-			for k=1:length(fields),
-				field=fields{k};
-				eval([ archive_name '_field' num2str(k) ' = md.results. ' field  ';']);
-			end
-			eval(['save ' archive_name ' ' archive_name '_field*']);
-			disp(sprintf(['File ' archive_name ' saved\n']));
-
-		%ELSE: CHECK TEST
-		else,
-
-			%load archive
-			eval(['load ' archive_name ]);
-
-			for k=1:length(fields),
-
-				%Get field and tolerance
-				field=fields{k};
-				tolerance=testsgettolerance2(md,sequence,field);
-
-				%compare to archive
-				eval(['Archive=' archive_name '_field' num2str(k) ';']);
-				eval(['error_diff=full(max(abs(Archive-md.results.' field '))/(max(abs(Archive))+eps));']);
-
-				%disp test result
-				if (error_diff>tolerance);
-					disp(sprintf(['\nERROR   difference: %-7.2g > %7.2g test: %-25s solution: %-16s type: %-9s field: ' field  '.\n\n'],error_diff,tolerance,testname,[analysis_type '_' sub_analysis_type],runtype));
-				else
-					disp(sprintf(['\nSUCCESS difference: %-7.2g < %7.2g test: %-25s solution: %-16s type: %-9s field: ' field  '.\n\n'],error_diff,tolerance,testname,[analysis_type '_' sub_analysis_type],runtype));
-				end
-			end
-		end
-
-	catch me,
-
-		%something went wrong, print failure message:
-		message=getReport(me)
-		disp(sprintf(['\n\nFAILURE difference: %-16s test: %-25s solution: %-16s type: %-9s field: N/A.\n\n'],'N/A',testname,[analysis_type '_' sub_analysis_type],runtype));
-	end
-end
Index: sm/trunk/src/m/utils/Nightly/testscheckmisfit.m
===================================================================
--- /issm/trunk/src/m/utils/Nightly/testscheckmisfit.m	(revision 2175)
+++ 	(revision )
@@ -1,17 +1,0 @@
-function result=testscheckmisfit(misfit),
-%TESTSCHECKMISFIT- check the misfit requested 
-%
-%   This routine is used by nightly runs (runme.m and updatearchive.m).
-%   to be sure that the misfit resquested is consistent with the model type.
-%   It returns 1 of the misfit is consistent, 0 else.
-%   The misfit must be a string.
-%
-%   Usage:
-%      result=testscheckmisfit(misfit)
-%
-%   Example:
-%      result=testscheckmisfit('absolute')
-%
-%   See also: TESTSGETANALYSIS, TESTGETPACKAGE, TESTSCHECKSOLUTION
-
-result=ismember({misfit},{'absolute','relative','logarithmic'});
Index: sm/trunk/src/m/utils/Nightly/testschecksolution.m
===================================================================
--- /issm/trunk/src/m/utils/Nightly/testschecksolution.m	(revision 2175)
+++ 	(revision )
@@ -1,21 +1,0 @@
-function result=testschecksolution(mdtype,solution),
-%TESTSCHECKSOLUTION - check the solution requested 
-%
-%   This routine is used by nightly runs (runme.m and updatearchive.m).
-%   to be sure that the solution resquested is consistent with the model type.
-%   It returns 1 of the solution is consistent, 0 else.
-%   The solution must be a string.
-%
-%   Usage:
-%      result=testschecksolution(mdtype,solution)
-%
-%   Example:
-%      result=testschecksolution(md.type,'prognostic')
-%
-%   See also: TESTSGETANALYSIS, TESTGETPACKAGE, TESTSCHECKMISFIT
-
-if strcmpi(mdtype,'2d')
-	result=ismember({solution},{'diagnostic','prognostic','transient','diagnostic_absolute','diagnostic_relative','diagnostic_logarithmic'});
-elseif strcmpi(mdtype,'3d')
-	result=ismember({solution},{'diagnostic','prognostic','transient','thermal_steady','thermal_transient','steadystate','diagnostic_absolute','diagnostic_relative','diagnostic_logarithmic','steadystate_absolute'});
-end
Index: sm/trunk/src/m/utils/Nightly/testsgetfields.m
===================================================================
--- /issm/trunk/src/m/utils/Nightly/testsgetfields.m	(revision 2175)
+++ 	(revision )
@@ -1,59 +1,0 @@
-function fields=testsgetfields(md,analysis),
-%TESTSGETFIELDS - build the fields to be checked from a analysis
-%
-%   This routine is used by nightly runs (runme.m and updatearchive.m).
-%   for an input analysis 'prognostic', it will output 'cielo'
-%
-%   Usage:
-%      fields=testsgetfields(md,analysis)
-%
-%   Example:
-%      fields=testsgetfields(md,'diagnostic')
-%
-%   See also: TESTSGETANALYSIS, TESTGETPACKAGE
-
-if strcmpi(analysis,'diagnostic'),
-	if md.control_analysis,
-		fields={'diagnostic.vel','diagnostic.J','diagnostic.parameter'};
-	elseif md.qmu_analysis,
-		fields={'dakota.importancefactors'};
-	else
-		if strcmpi(md.type,'3d')
-			fields={'diagnostic.vy','diagnostic.vz'};
-		else
-			fields={'diagnostic.vel'};
-		end
-	end
-
-elseif strcmpi(analysis,'thermal_steady'),
-	fields={'thermal.temperature','thermal.melting'};
-
-elseif strcmpi(analysis,'thermal_transient'),
-	fields={'thermal(end).temperature','thermal(end).melting'};
-
-elseif strcmpi(analysis,'prognostic'),
-	fields={'prognostic.thickness'};
-
-elseif strcmpi(analysis,'transient'), 
-	if strcmpi(md.type,'3d')
-		fields={'transient(end).vel','transient(end).pressure','transient(end).temperature','transient(end).melting','transient(end).thickness','transient(end).surface','transient(end).bed'};
-	else
-		fields={'transient(end).vel','transient(end).thickness','transient(end).surface','transient(end).bed'};
-	end
-
-elseif strcmpi(analysis,'steadystate'), 
-	if md.control_analysis,
-		fields={'steadystate.vel','steadystate.J','steadystate.parameter'};
-	else
-		fields={'steadystate.vel','steadystate.pressure','steadystate.temperature'};
-	end
-
-elseif strncmpi(analysis,'diagnostic_',11),
-	fields={'diagnostic.vel','diagnostic.J','diagnostic.parameter'};
-
-elseif strncmpi(analysis,'steadystate_',12),
-	fields={'steadystate.vel','steadystate.J','steadystate.parameter'};
-
-else
-	error(['testsgetfields error message: solution '  analysis ' not supported yet']);
-end
Index: sm/trunk/src/m/utils/Nightly/testsgettolerance.m
===================================================================
--- /issm/trunk/src/m/utils/Nightly/testsgettolerance.m	(revision 2175)
+++ 	(revision )
@@ -1,75 +1,0 @@
-function tolerance=testsgettolerance(md,package,solution,field),
-%TESTSGETTOLERANCE - give the tolerance for the nightly run 
-%
-%   This routine is used by nightly runs (runme.m and updatearchive.m).
-%   It gives the accepted tolerance, given the package, the solution and the field check.
-%
-%   Usage:
-%      tolerance=testsgettolerance(md,package,solution,field),
-%
-%   Example:
-%      tolerance=testsgettolerance(md,'cielo','diagnostic','vel'),
-%
-%   See also: TESTSGETANALYSIS, TESTGETPACKAGE
-
-if (strcmpi(package,'macayeal') | strcmpi(package,'ice') | strcmpi(package,'cielo_serial')),
-	tolerance=10^-12;
-
-elseif strcmpi(package,'cielo_parallel'),
-	if strcmpi(solution,'prognostic'),
-		tolerance=10^-14;
-
-	elseif strcmpi(solution,'transient'),
-		if strcmpi(md.type,'2d'),
-			tolerance=10^-11;
-		else
-			if md.isstokes,
-				tolerance=10^-4;
-			elseif any(md.gridonpattyn),
-				tolerance=10^-6;
-			else,
-				tolerance=10^-12;
-			end
-		end
-
-	elseif strcmpi(solution,'diagnostic'),
-		if md.isstokes,
-			tolerance=10^-4;
-		elseif any(md.gridonpattyn),
-			tolerance=10^-6;
-		elseif ~isnans(md.rifts),
-			tolerance=10^-10;
-		else,
-			tolerance=10^-13;
-		end
-
-	elseif (strcmpi(solution,'thermal_steady') | strcmpi(solution,'thermal_transient')),
-		if strncmpi(fliplr(field),fliplr('melting'),7),
-			tolerance=10^-6;
-		elseif strncmpi(fliplr(field),fliplr('temperature'),11),
-			tolerance=10^-11;
-		end
-
-	elseif (strcmpi(solution,'steadystate')),
-			if md.isstokes,
-				tolerance=5*10^-5;
-			elseif any(md.gridonpattyn),
-				tolerance=2*10^-8;
-			else,
-				tolerance=10^-10;
-			end
-
-	elseif (strncmpi(solution,'diagnostic_',11) | strncmpi(solution,'steadystate_',12) ),
-		if strcmpi(md.type,'2d'),
-			tolerance=10^-13;
-		else
-			tolerance=10^-10;
-		end
-
-	else
-		error(['testsgettolerance error message: solution '  solution ' not supported yet with package cielo_parallel']);
-	end
-
-else
-	error(['testsgettolerance error message: package '  package ' not supported yet']);
-end
Index: sm/trunk/src/m/utils/Nightly/testsparameterization.m
===================================================================
--- /issm/trunk/src/m/utils/Nightly/testsparameterization.m	(revision 2175)
+++ 	(revision )
@@ -1,95 +1,0 @@
-function [md analysis_type sub_analysis_type packagefinal]=testsparameterization(md,solution,package)
-%TESTSPARAMETERIZATION - build the analysis type and sub analysis type from a string
-%
-%   This routine is used by nightly runs (runme.m and updatearchive.m).
-%   for an input string 'thermalsteady', it will output [thermal steady]
-%
-%   Usage:
-%      [md analysis_type sub_analysis_type packagefinal]=testsparameterization(md,solution,package)
-%
-%   Example:
-%      [md analysis_type sub_analysis_type packagefinal]=testsparameterization(md,'diagnostic','cielo_serial')
-%
-%   See also: TESTSGETFIELDS
-
-%prepare analysis and parameterize model
-if strcmpi(solution,'diagnostic'),
-	analysis_type='diagnostic';
-	sub_analysis_type='none';
-
-elseif strcmpi(solution,'prognostic'),
-	analysis_type='prognostic';
-	sub_analysis_type='none';
-
-elseif strcmpi(solution,'thermal_steady'),
-	analysis_type='thermal';
-	sub_analysis_type='none';
-	md.dt=0;
-
-elseif strcmpi(solution,'thermal_transient'),
-	analysis_type='thermal';
-	sub_analysis_type='none';
-
-elseif strcmpi(solution,'transient'),
-	sub_analysis_type='none';
-	analysis_type='transient';
-
-elseif strcmpi(solution,'steadystate'),
-	sub_analysis_type='none';
-	analysis_type='steadystate';
-	md.dt=0;
-
-elseif (strncmpi(solution,'diagnostic_',11) |  strncmpi(solution,'steadystate_',12)),
-
-	%activate control method, 
-	md.control_analysis=1;
-
-	%1: get fit
-	solution2=strsplit(solution,'_');
-	if strcmpi(solution2{2},'absolute'),
-		md.fit(:)=0;
-	elseif strcmpi(solution2{2},'relative'),
-		md.fit(:)=1;
-	elseif strcmpi(solution2{2},'logarithmic'),
-		md.fit(:)=2;
-	else
-		error(['testsparameterization error message: solution2 ' solution2{2} ' not supported yet']);
-	end
-
-	%2: get analysis types
-	if strcmpi(solution2{1},'diagnostic'),
-		analysis_type='diagnostic';
-		sub_analysis_type='none';
-	else
-		analysis_type='steadystate';
-		sub_analysis_type='none';
-	end
-
-else
-	error(['testsparameterization error message: solution '  solution ' not supported yet']);
-end
-
-%prepare packagefinal
-if strcmpi(package,'ice'),
-	packagefinal='ice';
-
-elseif strcmpi(package,'macayeal'),
-	packagefinal='macayeal';
-
-elseif strcmpi(package,'cielo_serial'),
-	packagefinal='cielo';
-	md.cluster='none';
-
-elseif strcmpi(package,'cielo_parallel'),
-	packagefinal='cielo';
-	md.cluster=oshostname;
-	%check and modify number of cpus if necessary
-	np=feature('numCores');
-	if np<md.np;
-		disp(['testsgetpackagefinal warning: changing number of cpus to ' num2str(np) ]);
-		md.np=np;
-	end
-
-else
-	error(['testsparameterization error message: packagefinal '  package ' not supported yet']);
-end
