Index: /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h
===================================================================
--- /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h	(revision 9701)
+++ /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h	(revision 9702)
@@ -35,4 +35,7 @@
 	SettingsLowmemEnum,
 	SettingsIoGatherEnum,
+	SettingsResultsOnVerticesEnum,
+	SettingsOutputFrequencyEnum,
+	SettingsWaitonlockEnum,
 	ThermalSpctemperatureEnum,
 	ThermalPenaltyThresholdEnum,
@@ -141,4 +144,7 @@
 	BathymetryEnum,
 	SurfaceEnum,
+	AutodiffAnalysisEnum, 
+	AutodiffForwardEnum,
+	AutodiffReverseEnum,
 	/*}}}*/
 	/*Datasets {{{1*/
@@ -364,5 +370,4 @@
 	PatchNodesEnum,
 	TimeEnum,
-	OutputFrequencyEnum,
 	WaterColumnOldEnum,
 	/*}}}*/
@@ -472,5 +477,4 @@
 	WaterfractionEnum,
 	WatercolumnEnum,
-	WaitonlockEnum,
 	NumberOfResponsesEnum,
 	BasalFrictionEnum,
@@ -481,10 +485,5 @@
 	SpcDynamicEnum,
 	NumberOfEdgesEnum,
-	ResultsOnVerticesEnum,
-	/*Automatic Differentiation {{{1*/
-	AdAnalysisEnum, 
-	AdForwardEnum,
-	AdReverseEnum,
-	/*}}}*/
+
 	MaximumNumberOfEnums
 };
Index: /issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp
===================================================================
--- /issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp	(revision 9701)
+++ /issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp	(revision 9702)
@@ -39,4 +39,7 @@
 		case SettingsLowmemEnum : return "SettingsLowmem";
 		case SettingsIoGatherEnum : return "SettingsIoGather";
+		case SettingsResultsOnVerticesEnum : return "SettingsResultsOnVertices";
+		case SettingsOutputFrequencyEnum : return "SettingsOutputFrequency";
+		case SettingsWaitonlockEnum : return "SettingsWaitonlock";
 		case ThermalSpctemperatureEnum : return "ThermalSpctemperature";
 		case ThermalPenaltyThresholdEnum : return "ThermalPenaltyThreshold";
@@ -145,4 +148,7 @@
 		case BathymetryEnum : return "Bathymetry";
 		case SurfaceEnum : return "Surface";
+		case AutodiffAnalysisEnum : return "AutodiffAnalysis";
+		case AutodiffForwardEnum : return "AutodiffForward";
+		case AutodiffReverseEnum : return "AutodiffReverse";
 		case ConstraintsEnum : return "Constraints";
 		case ElementsEnum : return "Elements";
@@ -327,5 +333,4 @@
 		case PatchNodesEnum : return "PatchNodes";
 		case TimeEnum : return "Time";
-		case OutputFrequencyEnum : return "OutputFrequency";
 		case WaterColumnOldEnum : return "WaterColumnOld";
 		case MinVelEnum : return "MinVel";
@@ -416,5 +421,4 @@
 		case WaterfractionEnum : return "Waterfraction";
 		case WatercolumnEnum : return "Watercolumn";
-		case WaitonlockEnum : return "Waitonlock";
 		case NumberOfResponsesEnum : return "NumberOfResponses";
 		case BasalFrictionEnum : return "BasalFriction";
@@ -425,8 +429,4 @@
 		case SpcDynamicEnum : return "SpcDynamic";
 		case NumberOfEdgesEnum : return "NumberOfEdges";
-		case ResultsOnVerticesEnum : return "ResultsOnVertices";
-		case AdAnalysisEnum : return "AdAnalysis";
-		case AdForwardEnum : return "AdForward";
-		case AdReverseEnum : return "AdReverse";
 		default : return "unknown";
 
Index: /issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 9701)
+++ /issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 9702)
@@ -29,5 +29,5 @@
 	parameters->AddObject(iomodel->CopyConstantObject(FlowequationIsmacayealpattynEnum));
 	parameters->AddObject(iomodel->CopyConstantObject(FlowequationIsstokesEnum));
-	parameters->AddObject(iomodel->CopyConstantObject(OutputFrequencyEnum));
+	parameters->AddObject(iomodel->CopyConstantObject(SettingsOutputFrequencyEnum));
 	parameters->AddObject(iomodel->CopyConstantObject(DiagnosticRestolEnum));
 	parameters->AddObject(iomodel->CopyConstantObject(DiagnosticReltolEnum));
@@ -59,5 +59,5 @@
 	parameters->AddObject(iomodel->CopyConstantObject(DiagnosticShelfDampeningEnum));
 	parameters->AddObject(iomodel->CopyConstantObject(DiagnosticViscosityOvershootEnum));
-	parameters->AddObject(iomodel->CopyConstantObject(WaitonlockEnum));
+	parameters->AddObject(iomodel->CopyConstantObject(SettingsWaitonlockEnum));
 	parameters->AddObject(iomodel->CopyConstantObject(NumberOfElementsEnum));
 	parameters->AddObject(iomodel->CopyConstantObject(SettingsIoGatherEnum));
Index: /issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp
===================================================================
--- /issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp	(revision 9701)
+++ /issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp	(revision 9702)
@@ -37,4 +37,7 @@
 	else if (strcmp(name,"SettingsLowmem")==0) return SettingsLowmemEnum;
 	else if (strcmp(name,"SettingsIoGather")==0) return SettingsIoGatherEnum;
+	else if (strcmp(name,"SettingsResultsOnVertices")==0) return SettingsResultsOnVerticesEnum;
+	else if (strcmp(name,"SettingsOutputFrequency")==0) return SettingsOutputFrequencyEnum;
+	else if (strcmp(name,"SettingsWaitonlock")==0) return SettingsWaitonlockEnum;
 	else if (strcmp(name,"ThermalSpctemperature")==0) return ThermalSpctemperatureEnum;
 	else if (strcmp(name,"ThermalPenaltyThreshold")==0) return ThermalPenaltyThresholdEnum;
@@ -143,4 +146,7 @@
 	else if (strcmp(name,"Bathymetry")==0) return BathymetryEnum;
 	else if (strcmp(name,"Surface")==0) return SurfaceEnum;
+	else if (strcmp(name,"AutodiffAnalysis")==0) return AutodiffAnalysisEnum;
+	else if (strcmp(name,"AutodiffForward")==0) return AutodiffForwardEnum;
+	else if (strcmp(name,"AutodiffReverse")==0) return AutodiffReverseEnum;
 	else if (strcmp(name,"Constraints")==0) return ConstraintsEnum;
 	else if (strcmp(name,"Elements")==0) return ElementsEnum;
@@ -325,5 +331,4 @@
 	else if (strcmp(name,"PatchNodes")==0) return PatchNodesEnum;
 	else if (strcmp(name,"Time")==0) return TimeEnum;
-	else if (strcmp(name,"OutputFrequency")==0) return OutputFrequencyEnum;
 	else if (strcmp(name,"WaterColumnOld")==0) return WaterColumnOldEnum;
 	else if (strcmp(name,"MinVel")==0) return MinVelEnum;
@@ -414,5 +419,4 @@
 	else if (strcmp(name,"Waterfraction")==0) return WaterfractionEnum;
 	else if (strcmp(name,"Watercolumn")==0) return WatercolumnEnum;
-	else if (strcmp(name,"Waitonlock")==0) return WaitonlockEnum;
 	else if (strcmp(name,"NumberOfResponses")==0) return NumberOfResponsesEnum;
 	else if (strcmp(name,"BasalFriction")==0) return BasalFrictionEnum;
@@ -423,8 +427,4 @@
 	else if (strcmp(name,"SpcDynamic")==0) return SpcDynamicEnum;
 	else if (strcmp(name,"NumberOfEdges")==0) return NumberOfEdgesEnum;
-	else if (strcmp(name,"ResultsOnVertices")==0) return ResultsOnVerticesEnum;
-	else if (strcmp(name,"AdAnalysis")==0) return AdAnalysisEnum;
-	else if (strcmp(name,"AdForward")==0) return AdForwardEnum;
-	else if (strcmp(name,"AdReverse")==0) return AdReverseEnum;
 	else _error_("Enum %s not found",name);
 
Index: /issm/trunk/src/c/solutions/issm.cpp
===================================================================
--- /issm/trunk/src/c/solutions/issm.cpp	(revision 9701)
+++ /issm/trunk/src/c/solutions/issm.cpp	(revision 9702)
@@ -86,5 +86,5 @@
 
 	/*get parameters: */
-	femmodel->parameters->FindParam(&waitonlock,WaitonlockEnum);
+	femmodel->parameters->FindParam(&waitonlock,SettingsWaitonlockEnum);
 	femmodel->parameters->FindParam(&dakota_analysis,QmuIsdakotaEnum);
 	femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
Index: /issm/trunk/src/c/solutions/transient_core.cpp
===================================================================
--- /issm/trunk/src/c/solutions/transient_core.cpp	(revision 9701)
+++ /issm/trunk/src/c/solutions/transient_core.cpp	(revision 9702)
@@ -36,5 +36,5 @@
 	femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
 	femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
-	femmodel->parameters->FindParam(&output_frequency,OutputFrequencyEnum);
+	femmodel->parameters->FindParam(&output_frequency,SettingsOutputFrequencyEnum);
 	femmodel->parameters->FindParam(&time_adapt,TimesteppingTimeAdaptEnum);
 	femmodel->parameters->FindParam(&groundingline_migration,GroundinglineMigrationEnum);
Index: /issm/trunk/src/m/classes/autofiff.m
===================================================================
--- /issm/trunk/src/m/classes/autofiff.m	(revision 9702)
+++ /issm/trunk/src/m/classes/autofiff.m	(revision 9702)
@@ -0,0 +1,38 @@
+%AUTODIFF class definition
+%
+%   Usage:
+%      autodiff=autodiff();
+
+classdef autodiff
+	properties (SetAccess=public) 
+		analysis = modelfield('default',false,'marshall',true,'format','Boolean');
+		forward = modelfield('default',true,'marshall',true,'format','Boolean');
+		reverse = modelfield('default',false,'marshall',true,'format','Boolean');
+	end
+	methods
+		function obj = autodiff(varargin) % {{{
+			switch nargin
+				case 0
+					obj=setdefaultparameters(obj);
+				case 1
+					in=varargin{1};
+					if (isa(in,'numeric') & in==0),
+						% requesting templates do nothing
+					else
+						error('constructor not supported');
+					end 
+				otherwise
+					error('constructor not supported');
+			end
+		end % }}}
+		function obj = setdefaultparameters(obj) % {{{
+
+			%first, use the defaults provided by the properties definition above. 
+			fieldnames=fields(obj);
+			for i=1:length(fieldnames),
+				fieldname=fieldnames{i};
+				obj.(fieldname)=obj.(fieldname).default;
+			end
+		end % }}}
+	end
+end
Index: /issm/trunk/src/m/classes/model/model.m
===================================================================
--- /issm/trunk/src/m/classes/model/model.m	(revision 9701)
+++ /issm/trunk/src/m/classes/model/model.m	(revision 9702)
@@ -82,5 +82,4 @@
 		 nodeonbed         = modelfield('default',NaN,'marshall',true,'format','BooleanMat','mattype',1);
 		 nodeonsurface     = modelfield('default',NaN,'marshall',true,'format','BooleanMat','mattype',1);
-		 minh              = modelfield('default',0,'marshall',false);
 
 		 %Extraction
@@ -93,19 +92,4 @@
 		 %Statics parameters
 		 connectivity             = modelfield('default',0,'marshall',true,'format','Integer');
-
-
-		 %Results fields
-		 output_frequency               = modelfield('default',0,'marshall',true,'format','Integer');
-		 results_on_vertices            = modelfield('default',0,'marshall',true,'format','Boolean');
-
-		 %Parallelisation
-		 outlog        = modelfield('default','','marshall',false);
-		 errlog        = modelfield('default','','marshall',false);
-		 waitonlock    = modelfield('default',0,'marshall',true,'format','Boolean');
-
-		 %ad: automatic differentiation
-		 ad_analysis = modelfield('default',false,'marshall',true,'format','Boolean');
-		 ad_forward = modelfield('default',true,'marshall',true,'format','Boolean');
-		 ad_reverse = modelfield('default',false,'marshall',true,'format','Boolean');
 		 %}}}
 	 end
@@ -477,6 +461,5 @@
 			 md.initialization   = initialization;
 			 md.geometry         = geometry;
-
-			 %Solver parameters
+			 md.verbose          = verbose('solution',true,'qmu',true,'control',true);
 
 			 %the connectivity is the avergaded number of nodes linked to a
@@ -486,39 +469,6 @@
 			 %trunk/test/Miscellaneous/runme.m
 			 md.connectivity=25;
-
-
-			 %parameter used to print temporary results (convergence criterion,
-			 %current step,...)
-			 md.verbose=verbose('solution',true,'qmu',true,'control',true);
-
-			 %minimum thickness to avoid stiffness singularity, used in
-			 %the parameter file
-			 md.minh=1;
-
-			 %How often to save results, default is 1 so save every step
-			 md.output_frequency=1;
-
-			 %this option can be activated to load automatically the results
-			 %onto the model after a parallel run by waiting for the lock file
-			 %N minutes that is generated once the solution has converged
-			 %0 to desactivate
-			 md.waitonlock=Inf;
 		 end
 		 %}}}
-		 function result = subsref(md,index) % {{{1
-
-			 if length(index)==1,
-				 index1=index(1);
-				 if(strcmp(index1.subs,'mesh')), displaymesh(md);return; end
-				 if(strcmp(index1.subs,'bc')), displaybc(md);return; end
-				 if(strcmp(index1.subs,'mat')), displaymaterials(md);return; end
-				 if(strcmp(index1.subs,'par')), displayparameters(md);return; end
-				 if(strcmp(index1.subs,'res')), displayresults(md);return; end
-				 if(strcmp(index1.subs,'parallel')), displayparallel(md);return; end
-			 end
-
-			 %return built in value
-			 result=builtin('subsref',md,index);
-		 end %}}}
 	 end
  end
Index: /issm/trunk/src/m/classes/settings.m
===================================================================
--- /issm/trunk/src/m/classes/settings.m	(revision 9701)
+++ /issm/trunk/src/m/classes/settings.m	(revision 9702)
@@ -6,6 +6,9 @@
 classdef settings
 	properties (SetAccess=public) 
-		io_gather = modelfield('default',0,'marshall',true,'format','Boolean');
-		lowmem    = modelfield('default',0,'marshall',true,'format','Boolean');
+		io_gather           = modelfield('default',0,'marshall',true,'format','Boolean');
+		lowmem              = modelfield('default',0,'marshall',true,'format','Boolean');
+		results_on_vertices = modelfield('default',0,'marshall',true,'format','Boolean');
+		output_frequency    = modelfield('default',0,'marshall',true,'format','Boolean');
+		waitonlock          = modelfield('default',0,'marshall',true,'format','Boolean');
 	end
 	methods
@@ -34,9 +37,18 @@
 			end
 
-			%lowmem??
+			%are we short in memory ? (0 faster but requires more memory)
 			obj.lowmem=0;
 
 			%i/o:
 			obj.io_gather=1;
+
+			%results frequency by default every step
+			obj.output_frequency=1;
+
+			%this option can be activated to load automatically the results
+			%onto the model after a parallel run by waiting for the lock file
+			%N minutes that is generated once the solution has converged
+			%0 to desactivate
+			md.waitonlock=Inf;
 		end % }}}
 	end
Index: sm/trunk/src/m/enum/AdAnalysisEnum.m
===================================================================
--- /issm/trunk/src/m/enum/AdAnalysisEnum.m	(revision 9701)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=AdAnalysisEnum()
-%ADANALYSISENUM - Enum of AdAnalysis
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
-%            Please read src/c/EnumDefinitions/README for more information
-%
-%   Usage:
-%      macro=AdAnalysisEnum()
-
-macro=StringToEnum('AdAnalysis');
Index: sm/trunk/src/m/enum/AdForwardEnum.m
===================================================================
--- /issm/trunk/src/m/enum/AdForwardEnum.m	(revision 9701)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=AdForwardEnum()
-%ADFORWARDENUM - Enum of AdForward
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
-%            Please read src/c/EnumDefinitions/README for more information
-%
-%   Usage:
-%      macro=AdForwardEnum()
-
-macro=StringToEnum('AdForward');
Index: sm/trunk/src/m/enum/AdReverseEnum.m
===================================================================
--- /issm/trunk/src/m/enum/AdReverseEnum.m	(revision 9701)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=AdReverseEnum()
-%ADREVERSEENUM - Enum of AdReverse
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
-%            Please read src/c/EnumDefinitions/README for more information
-%
-%   Usage:
-%      macro=AdReverseEnum()
-
-macro=StringToEnum('AdReverse');
Index: /issm/trunk/src/m/enum/AutodiffAnalysisEnum.m
===================================================================
--- /issm/trunk/src/m/enum/AutodiffAnalysisEnum.m	(revision 9702)
+++ /issm/trunk/src/m/enum/AutodiffAnalysisEnum.m	(revision 9702)
@@ -0,0 +1,11 @@
+function macro=AutodiffAnalysisEnum()
+%AUTODIFFANALYSISENUM - Enum of AutodiffAnalysis
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+%            Please read src/c/EnumDefinitions/README for more information
+%
+%   Usage:
+%      macro=AutodiffAnalysisEnum()
+
+macro=StringToEnum('AutodiffAnalysis');
Index: /issm/trunk/src/m/enum/AutodiffForwardEnum.m
===================================================================
--- /issm/trunk/src/m/enum/AutodiffForwardEnum.m	(revision 9702)
+++ /issm/trunk/src/m/enum/AutodiffForwardEnum.m	(revision 9702)
@@ -0,0 +1,11 @@
+function macro=AutodiffForwardEnum()
+%AUTODIFFFORWARDENUM - Enum of AutodiffForward
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+%            Please read src/c/EnumDefinitions/README for more information
+%
+%   Usage:
+%      macro=AutodiffForwardEnum()
+
+macro=StringToEnum('AutodiffForward');
Index: /issm/trunk/src/m/enum/AutodiffReverseEnum.m
===================================================================
--- /issm/trunk/src/m/enum/AutodiffReverseEnum.m	(revision 9702)
+++ /issm/trunk/src/m/enum/AutodiffReverseEnum.m	(revision 9702)
@@ -0,0 +1,11 @@
+function macro=AutodiffReverseEnum()
+%AUTODIFFREVERSEENUM - Enum of AutodiffReverse
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+%            Please read src/c/EnumDefinitions/README for more information
+%
+%   Usage:
+%      macro=AutodiffReverseEnum()
+
+macro=StringToEnum('AutodiffReverse');
Index: sm/trunk/src/m/enum/OutputFrequencyEnum.m
===================================================================
--- /issm/trunk/src/m/enum/OutputFrequencyEnum.m	(revision 9701)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=OutputFrequencyEnum()
-%OUTPUTFREQUENCYENUM - Enum of OutputFrequency
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
-%            Please read src/c/EnumDefinitions/README for more information
-%
-%   Usage:
-%      macro=OutputFrequencyEnum()
-
-macro=StringToEnum('OutputFrequency');
Index: sm/trunk/src/m/enum/ResultsOnVerticesEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ResultsOnVerticesEnum.m	(revision 9701)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=ResultsOnVerticesEnum()
-%RESULTSONVERTICESENUM - Enum of ResultsOnVertices
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
-%            Please read src/c/EnumDefinitions/README for more information
-%
-%   Usage:
-%      macro=ResultsOnVerticesEnum()
-
-macro=StringToEnum('ResultsOnVertices');
Index: /issm/trunk/src/m/enum/SettingsOutputFrequencyEnum.m
===================================================================
--- /issm/trunk/src/m/enum/SettingsOutputFrequencyEnum.m	(revision 9702)
+++ /issm/trunk/src/m/enum/SettingsOutputFrequencyEnum.m	(revision 9702)
@@ -0,0 +1,11 @@
+function macro=SettingsOutputFrequencyEnum()
+%SETTINGSOUTPUTFREQUENCYENUM - Enum of SettingsOutputFrequency
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+%            Please read src/c/EnumDefinitions/README for more information
+%
+%   Usage:
+%      macro=SettingsOutputFrequencyEnum()
+
+macro=StringToEnum('SettingsOutputFrequency');
Index: /issm/trunk/src/m/enum/SettingsResultsOnVerticesEnum.m
===================================================================
--- /issm/trunk/src/m/enum/SettingsResultsOnVerticesEnum.m	(revision 9702)
+++ /issm/trunk/src/m/enum/SettingsResultsOnVerticesEnum.m	(revision 9702)
@@ -0,0 +1,11 @@
+function macro=SettingsResultsOnVerticesEnum()
+%SETTINGSRESULTSONVERTICESENUM - Enum of SettingsResultsOnVertices
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+%            Please read src/c/EnumDefinitions/README for more information
+%
+%   Usage:
+%      macro=SettingsResultsOnVerticesEnum()
+
+macro=StringToEnum('SettingsResultsOnVertices');
Index: /issm/trunk/src/m/enum/SettingsWaitonlockEnum.m
===================================================================
--- /issm/trunk/src/m/enum/SettingsWaitonlockEnum.m	(revision 9702)
+++ /issm/trunk/src/m/enum/SettingsWaitonlockEnum.m	(revision 9702)
@@ -0,0 +1,11 @@
+function macro=SettingsWaitonlockEnum()
+%SETTINGSWAITONLOCKENUM - Enum of SettingsWaitonlock
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+%            Please read src/c/EnumDefinitions/README for more information
+%
+%   Usage:
+%      macro=SettingsWaitonlockEnum()
+
+macro=StringToEnum('SettingsWaitonlock');
Index: sm/trunk/src/m/enum/ThicknessCoeffEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ThicknessCoeffEnum.m	(revision 9701)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=ThicknessCoeffEnum()
-%THICKNESSCOEFFENUM - Enum of ThicknessCoeff
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
-%            Please read src/c/EnumDefinitions/README for more information
-%
-%   Usage:
-%      macro=ThicknessCoeffEnum()
-
-macro=StringToEnum('ThicknessCoeff');
Index: sm/trunk/src/m/enum/WaitonlockEnum.m
===================================================================
--- /issm/trunk/src/m/enum/WaitonlockEnum.m	(revision 9701)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=WaitonlockEnum()
-%WAITONLOCKENUM - Enum of Waitonlock
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
-%            Please read src/c/EnumDefinitions/README for more information
-%
-%   Usage:
-%      macro=WaitonlockEnum()
-
-macro=StringToEnum('Waitonlock');
Index: /issm/trunk/src/m/model/ismodelselfconsistent.m
===================================================================
--- /issm/trunk/src/m/model/ismodelselfconsistent.m	(revision 9701)
+++ /issm/trunk/src/m/model/ismodelselfconsistent.m	(revision 9702)
@@ -284,5 +284,5 @@
 if strcmpi(md.private.solution,'qmu'),
 	if ~strcmpi(md.cluster.name,'none'),
-		if md.waitonlock==0,
+		if md.settings.waitonlock==0,
 			message(['model is not correctly configured: waitonlock should be activated when running qmu in parallel mode!']);
 		end
Index: /issm/trunk/src/m/model/loadresultsfromcluster.m
===================================================================
--- /issm/trunk/src/m/model/loadresultsfromcluster.m	(revision 9701)
+++ /issm/trunk/src/m/model/loadresultsfromcluster.m	(revision 9702)
@@ -14,21 +14,4 @@
 %Download outputs from the cluster
 cluster.Download(md);
-
-%read log files onto  fields
-if exist([md.miscellaneous.name '.errlog'],'file'),
-	md.errlog=char(textread([md.miscellaneous.name '.errlog'],'%s','delimiter','\n'));
-else
-	md.errlog='';
-end
-
-if exist([md.miscellaneous.name '.outlog'],'file'),
-	md.outlog=char(textread([md.miscellaneous.name '.outlog'],'%s','delimiter','\n'));
-else
-	md.outlog='';
-end
-
-if ~isempty(md.errlog),
-	disp(['loadresultsfromcluster info message: error during solution. Check your errlog and outlog model fields']);
-end
 
 %If we are here, no errors in the solution sequence, call loadresultsfromdisk.
Index: /issm/trunk/src/m/model/loadresultsfromdisk.m
===================================================================
--- /issm/trunk/src/m/model/loadresultsfromdisk.m	(revision 9701)
+++ /issm/trunk/src/m/model/loadresultsfromdisk.m	(revision 9702)
@@ -25,4 +25,22 @@
 	md.private.solution=structure(1).SolutionType;
 
+	%read log files onto  fields
+	if exist([md.miscellaneous.name '.errlog'],'file'),
+		md.results.(structure(1).SolutionType).errlog=char(textread([md.miscellaneous.name '.errlog'],'%s','delimiter','\n'));
+	else
+		md.results.(structure(1).SolutionType).errlog='';
+	end
+
+	if exist([md.miscellaneous.name '.outlog'],'file'),
+		md.results.(structure(1).SolutionType).outlog=char(textread([md.miscellaneous.name '.outlog'],'%s','delimiter','\n'));
+	else
+		md.iresults.(structure(1).SolutionType).outlog='';
+	end
+
+	if ~isempty(md.results.(structure(1).SolutionType).errlog),
+		disp(['loadresultsfromcluster info message: error during solution. Check your errlog and outlog model fields']);
+	end
+
+
 %post processes qmu results if necessary
 else
Index: /issm/trunk/src/m/model/solveparallel.m
===================================================================
--- /issm/trunk/src/m/model/solveparallel.m	(revision 9701)
+++ /issm/trunk/src/m/model/solveparallel.m	(revision 9702)
@@ -25,5 +25,5 @@
 
 		%Do we return, or just wait for results?
-		if (md.waitonlock>0 &  ~strcmpi(options.batch,'yes')),
+		if (md.settings.waitonlock>0 &  ~strcmpi(options.batch,'yes')),
 			%we wait for the done file
 			islock=waitonlock(md);
Index: /issm/trunk/src/m/model/waitonlock.m
===================================================================
--- /issm/trunk/src/m/model/waitonlock.m	(revision 9701)
+++ /issm/trunk/src/m/model/waitonlock.m	(revision 9702)
@@ -13,5 +13,5 @@
 login=md.cluster.login;
 port=md.cluster.port;
-timelimit=md.waitonlock;
+timelimit=md.settings.waitonlock;
 filename=[executionpath '/' md.private.runtimename '/' md.miscellaneous.name '.lock'];
 
@@ -49,5 +49,5 @@
 	%build output
 	if (time>timelimit),
-		disp('Time limit exceeded. Increase md.waitonlock');
+		disp('Time limit exceeded. Increase md.settings.waitonlock');
 		disp('The results must be loaded manually with md=loadresultsfromcluster(md).');
 		error(['waitonlock error message: time limit exceeded']);
Index: /issm/trunk/src/m/solutions/transient_core.m
===================================================================
--- /issm/trunk/src/m/solutions/transient_core.m	(revision 9701)
+++ /issm/trunk/src/m/solutions/transient_core.m	(revision 9702)
@@ -12,5 +12,5 @@
 	control_analysis=femmodel.parameters.InversionIscontrol;
 	solution_type=femmodel.parameters.SolutionType;
-	output_frequency=femmodel.parameters.OutputFrequency;
+	output_frequency=femmodel.parameters.SettingsOutputFrequency;
 	time_adapt=femmodel.parameters.TimesteppingTimeAdapt;
 	isdiagnostic=femmodel.parameters.TransientIsdiagnostic;
Index: /issm/trunk/template
===================================================================
--- /issm/trunk/template	(revision 9701)
+++ /issm/trunk/template	(revision 9702)
@@ -49,9 +49,2 @@
 	  -> already exists
 }}}
-results{{{
-	results_on_vertices
-	  output_frequency
-	  outlog
-	  errlog
-	  + all model results ??? (DiagnosticSolution and others?)
-}}}
Index: /issm/trunk/test/Miscellaneous/Bump/Bump.par
===================================================================
--- /issm/trunk/test/Miscellaneous/Bump/Bump.par	(revision 9701)
+++ /issm/trunk/test/Miscellaneous/Bump/Bump.par	(revision 9702)
@@ -32,4 +32,4 @@
 
 %Parallel options
-md.waitonlock=1;
+md.settings.waitonlock=1;
 md.connectivity=100;
Index: /issm/trunk/test/Miscellaneous/GJM_test1/SquareShelf.par
===================================================================
--- /issm/trunk/test/Miscellaneous/GJM_test1/SquareShelf.par	(revision 9701)
+++ /issm/trunk/test/Miscellaneous/GJM_test1/SquareShelf.par	(revision 9702)
@@ -28,5 +28,5 @@
 md.prognostic.stabilization=1;
 md.thermal.stabilization=1;
-md.waitonlock=30;
+md.settings.waitonlock=30;
 md.verbose=verbose(0);
 md.eps_res=0.10;
Index: /issm/trunk/test/Miscellaneous/connectivity/Square.par
===================================================================
--- /issm/trunk/test/Miscellaneous/connectivity/Square.par	(revision 9701)
+++ /issm/trunk/test/Miscellaneous/connectivity/Square.par	(revision 9702)
@@ -36,4 +36,4 @@
 md.np=8;
 md.time=50;
-md.waitonlock=1;
+md.settings.waitonlock=1;
 md.debug=1;
Index: /issm/trunk/test/Par/79North.par
===================================================================
--- /issm/trunk/test/Par/79North.par	(revision 9701)
+++ /issm/trunk/test/Par/79North.par	(revision 9702)
@@ -34,5 +34,5 @@
 md.thermal.stabilization=1;
 md.verbose=verbose(0);
-md.waitonlock=30;
+md.settings.waitonlock=30;
 md.timestepping.time_step=1;
 md.timestepping.final_time=3;
Index: /issm/trunk/test/Par/Pig.par
===================================================================
--- /issm/trunk/test/Par/Pig.par	(revision 9701)
+++ /issm/trunk/test/Par/Pig.par	(revision 9702)
@@ -31,5 +31,5 @@
 md.prognostic.stabilization=1;
 md.verbose=verbose(0);
-md.waitonlock=30;
+md.settings.waitonlock=30;
 md.timestepping.time_step=1;
 md.timestepping.final_time=2;
Index: /issm/trunk/test/Par/RoundSheetShelf.par
===================================================================
--- /issm/trunk/test/Par/RoundSheetShelf.par	(revision 9701)
+++ /issm/trunk/test/Par/RoundSheetShelf.par	(revision 9702)
@@ -61,5 +61,5 @@
 md.thermal.stabilization=1;
 md.verbose=verbose(0);
-md.waitonlock=30;
+md.settings.waitonlock=30;
 md.diagnostic.restol=0.05;
 md.diagnostic.reltol=0.05;
Index: /issm/trunk/test/Par/SquareSheetConstrained.par
===================================================================
--- /issm/trunk/test/Par/SquareSheetConstrained.par	(revision 9701)
+++ /issm/trunk/test/Par/SquareSheetConstrained.par	(revision 9702)
@@ -35,5 +35,5 @@
 md.thermal.stabilization=1;
 md.verbose=verbose(0);
-md.waitonlock=30;
+md.settings.waitonlock=30;
 md.diagnostic.restol=0.05;
 md.steadystate.reltol=0.05;
Index: /issm/trunk/test/Par/SquareSheetShelf.par
===================================================================
--- /issm/trunk/test/Par/SquareSheetShelf.par	(revision 9701)
+++ /issm/trunk/test/Par/SquareSheetShelf.par	(revision 9702)
@@ -42,5 +42,5 @@
 md.thermal.stabilization=1;
 md.verbose=verbose(0);
-md.waitonlock=30;
+md.settings.waitonlock=30;
 md.diagnostic.restol=0.05;
 md.steadystate.reltol=0.05;
Index: /issm/trunk/test/Par/SquareShelf.par
===================================================================
--- /issm/trunk/test/Par/SquareShelf.par	(revision 9701)
+++ /issm/trunk/test/Par/SquareShelf.par	(revision 9702)
@@ -34,5 +34,5 @@
 md.prognostic.stabilization=1;
 md.thermal.stabilization=1;
-md.waitonlock=30;
+md.settings.waitonlock=30;
 md.verbose=verbose(0);
 md.diagnostic.restol=0.10;
Index: /issm/trunk/test/Par/SquareShelfConstrained.par
===================================================================
--- /issm/trunk/test/Par/SquareShelfConstrained.par	(revision 9701)
+++ /issm/trunk/test/Par/SquareShelfConstrained.par	(revision 9702)
@@ -39,5 +39,5 @@
 md.thermal.stabilization=1;
 md.verbose=verbose(0);
-md.waitonlock=30;
+md.settings.waitonlock=30;
 md.diagnostic.restol=0.05;
 md.diagnostic.reltol=0.05;
