Index: /issm/trunk/src/m/solutions/balancedthickness.m
===================================================================
--- /issm/trunk/src/m/solutions/balancedthickness.m	(revision 4293)
+++ /issm/trunk/src/m/solutions/balancedthickness.m	(revision 4294)
@@ -8,9 +8,10 @@
 	t1=clock;
 
-	analysis_types=[BalancedThicknessAnalysisEnum];
-	solution_type=BalancedthicknessAnalysisEnum;
+	numanalyses=1;
+	analyses=[BalancedThicknessAnalysisEnum];
+	solution_type=BalancedthicknessSolutionEnum;
 
 	displaystring(md.verbose,'%s',['create finite element model']);
-	femmodel=NewFemModel(md,solution_type,analysis_types,1);
+	femmodel=NewFemModel(md,solution_type,analyses,1);
 
 	%retrieve parameters
Index: /issm/trunk/src/m/solutions/balancedthickness2.m
===================================================================
--- /issm/trunk/src/m/solutions/balancedthickness2.m	(revision 4293)
+++ /issm/trunk/src/m/solutions/balancedthickness2.m	(revision 4294)
@@ -5,9 +5,13 @@
 %      md=balancedthickness2(md)
 
-	analysis_types=[Balancedthickness2AnalysisEnum];
-	solution_type=Balancedthickness2AnalysisEnum;
+	%timing
+	t1=clock;
+
+	numanalyses=1;
+	analyses=[Balancedthickness2AnalysisEnum];
+	solution_type=Balancedthickness2SolutionEnum;
 
 	displaystring(md.verbose,'%s',['create finite element model']);
-	femmodel=NewFemModel(md,solution_type,analysis_types,1);
+	femmodel=NewFemModel(md,solution_type,analyses,1);
 
 	%retrieve parameters
Index: /issm/trunk/src/m/solutions/balancedvelocities.m
===================================================================
--- /issm/trunk/src/m/solutions/balancedvelocities.m	(revision 4293)
+++ /issm/trunk/src/m/solutions/balancedvelocities.m	(revision 4294)
@@ -8,9 +8,10 @@
 	t1=clock;
 
-	analysis_types=[BalancedvelocitiesAnalysisEnum];
-	solution_type=BalancedvelocitiesAnalysisEnum;
+	numanalyses=1;
+	analyses=[BalancedvelocitiesAnalysisEnum];
+	solution_type=BalancedvelocitiesSolutionEnum;
 
 	displaystring(md.verbose,'%s',['create finite element model']);
-	femmodel=NewFemModel(md,solution_type,analysis_types,1);
+	femmodel=NewFemModel(md,solution_type,analyses,1);
 
 	%retrieve parameters
Index: /issm/trunk/src/m/solutions/bedslope.m
===================================================================
--- /issm/trunk/src/m/solutions/bedslope.m	(revision 4293)
+++ /issm/trunk/src/m/solutions/bedslope.m	(revision 4294)
@@ -8,9 +8,10 @@
 	t1=clock;
 
-	analysis_types=SlopeAnalysisEnum;
-	solution_type=SlopeAnalysisEnum;
+	numanalyses=1;
+	analyses=SlopeAnalysisEnum;
+	solution_type=SlopeSolutionEnum;
 
 	displaystring(md.verbose,'%s',['create finite element model']);
-	femmodel=NewFemModel(md,solution_type,analysis_types,1);
+	femmodel=NewFemModel(md,solution_type,analyses,1);
 
 	%retrieve parameters
Index: /issm/trunk/src/m/solutions/diagnostic.m
===================================================================
--- /issm/trunk/src/m/solutions/diagnostic.m	(revision 4293)
+++ /issm/trunk/src/m/solutions/diagnostic.m	(revision 4294)
@@ -8,9 +8,10 @@
 	t1=clock;
 
-	analysis_types=[DiagnosticHorizAnalysisEnum;DiagnosticVertAnalysisEnum;DiagnosticStokesAnalysisEnum;DiagnosticHutterAnalysisEnum;SlopeAnalysisEnum];
+	numanalyses=6;
+	analyses=[DiagnosticHorizAnalysisEnum;DiagnosticVertAnalysisEnum;DiagnosticStokesAnalysisEnum;DiagnosticHutterAnalysisEnum;BedSlopeAnalysisEnum;SurfaceSlopeAnalysisEnum];
 	solution_type=DiagnosticAnalysisEnum;
 
 	displaystring(md.verbose,'%s',['create finite element model']);
-	femmodel=NewFemModel(md,solution_type,analysis_types,5);
+	femmodel=NewFemModel(md,solution_type,analyses,numanalyses);
 
 	%retrieve parameters
Index: /issm/trunk/src/m/solutions/prognostic.m
===================================================================
--- /issm/trunk/src/m/solutions/prognostic.m	(revision 4293)
+++ /issm/trunk/src/m/solutions/prognostic.m	(revision 4294)
@@ -9,9 +9,10 @@
 
 	%Build all models requested for diagnostic simulation
-	analysis_types=[PrognosticAnalysisEnum];
-	solution_type=PrognosticAnalysisEnum;
+	numanalyses=1;
+	analyses=[PrognosticAnalysisEnum];
+	solution_type=PrognosticSolutionEnum;
 	
 	displaystring(md.verbose,'%s',['reading prognostic model data']);
-	femmodel=NewFemModel(md,solution_type,analysis_types,1);
+	femmodel=NewFemModel(md,solution_type,analyses,1);
 
 	% figure out number of dof: just for information purposes.
Index: /issm/trunk/src/m/solutions/prognostic2.m
===================================================================
--- /issm/trunk/src/m/solutions/prognostic2.m	(revision 4293)
+++ /issm/trunk/src/m/solutions/prognostic2.m	(revision 4294)
@@ -8,9 +8,10 @@
 	t1=clock;
 
-	analysis_types=[Prognostic2AnalysisEnum];
-	solution_type=Prognostic2AnalysisEnum;
+	numanalyses=1;
+	analyses=[Prognostic2AnalysisEnum];
+	solution_type=Prognostic2SolutionEnum;
 
 	displaystring(md.verbose,'%s',['create finite element model']);
-	femmodel=NewFemModel(md,solution_type,analysis_types,1);
+	femmodel=NewFemModel(md,solution_type,analyses,1);
 
 	%retrieve parameters
Index: /issm/trunk/src/m/solutions/steadystate.m
===================================================================
--- /issm/trunk/src/m/solutions/steadystate.m	(revision 4293)
+++ /issm/trunk/src/m/solutions/steadystate.m	(revision 4294)
@@ -9,9 +9,10 @@
 	t1=clock;
 
-	analysis_types=[DiagnosticHorizAnalysisEnum;DiagnosticVertAnalysisEnum;DiagnosticStokesAnalysisEnum;DiagnosticHutterAnalysisEnum;SlopeAnalysisEnum;ThermalAnalysisEnum;MeltingAnalysisEnum];
-	solution_type=SteadyStateAnalysisEnum;
+	numanalyses=1;
+	analyses=[DiagnosticHorizAnalysisEnum;DiagnosticVertAnalysisEnum;DiagnosticStokesAnalysisEnum;DiagnosticHutterAnalysisEnum;SlopeAnalysisEnum;ThermalAnalysisEnum;MeltingAnalysisEnum];
+	solution_type=SteadyStateSolutionEnum;
 
 	displaystring(md.verbose,'%s',['create finite element model']);
-	femmodel=NewFemModel(md,solution_type,analysis_types,7);
+	femmodel=NewFemModel(md,solution_type,analyses,7);
 
 	%retrieve parameters
Index: /issm/trunk/src/m/solutions/surfaceslope.m
===================================================================
--- /issm/trunk/src/m/solutions/surfaceslope.m	(revision 4293)
+++ /issm/trunk/src/m/solutions/surfaceslope.m	(revision 4294)
@@ -8,9 +8,10 @@
 	t1=clock;
 
-	analysis_types=SlopeAnalysisEnum;
-	solution_type=SlopeAnalysisEnum;
+	numanalyses=1;
+	analyses=[SlopeAnalysisEnum];
+	solution_type=SlopeSolutionEnum;
 
 	displaystring(md.verbose,'%s',['create finite element model']);
-	femmodel=NewFemModel(md,solution_type,analysis_types,1);
+	femmodel=NewFemModel(md,solution_type,analyses,1);
 
 	%retrieve parameters
Index: /issm/trunk/src/m/solutions/thermal.m
===================================================================
--- /issm/trunk/src/m/solutions/thermal.m	(revision 4293)
+++ /issm/trunk/src/m/solutions/thermal.m	(revision 4294)
@@ -8,9 +8,10 @@
 	t1=clock;
 	
-	analysis_types=[ThermalAnalysisEnum;MeltingAnalysisEnum];
-	solution_type=ThermalAnalysisEnum;
+	numanalyses=1;
+	analyses=[ThermalAnalysisEnum;MeltingAnalysisEnum];
+	solution_type=ThermalSolutionEnum;
 
 	displaystring(md.verbose,'%s',['reading thermal model data']);
-	femmodel=NewFemModel(md,solution_type,analysis_types,2);
+	femmodel=NewFemModel(md,solution_type,analyses,2);
 
 	%retrieve parameters
Index: /issm/trunk/src/m/solutions/transient2d.m
===================================================================
--- /issm/trunk/src/m/solutions/transient2d.m	(revision 4293)
+++ /issm/trunk/src/m/solutions/transient2d.m	(revision 4294)
@@ -7,9 +7,13 @@
 %   See also: TRANSIENT3D, TRANSIENT
 
-	analysis_types=[DiagnosticHorizAnalysisEnum;PrognosticAnalysisEnum];
-	solution_type=Transient2DAnalysisEnum;
+	%timing
+	t1=clock;
+
+	numanalyses=1;
+	analyses=[DiagnosticHorizAnalysisEnum;PrognosticAnalysisEnum];
+	solution_type=Transient2DSolutionEnum;
 
 	displaystring(md.verbose,'%s',['create finite element model']);
-	femmodel=NewFemModel(md,solution_type,analysis_types,2);
+	femmodel=NewFemModel(md,solution_type,analyses,2);
 
 	%retrieve parameters
Index: /issm/trunk/src/m/solutions/transient3d.m
===================================================================
--- /issm/trunk/src/m/solutions/transient3d.m	(revision 4293)
+++ /issm/trunk/src/m/solutions/transient3d.m	(revision 4294)
@@ -6,9 +6,13 @@
 %   See also: TRANSIENT2D, TRANSIENT
 
-	analysis_types=[DiagnosticHorizAnalysisEnum;DiagnosticVertAnalysisEnum;DiagnosticStokesAnalysisEnum;DiagnosticHutterAnalysisEnum;SlopeAnalysisEnum;PrognosticAnalysisEnum;ThermalAnalysisEnum;MeltingAnalysisEnum];
-	solution_type=Transient3DAnalysisEnum;
+	%timing
+	t1=clock;
+
+	numanalyses=8;
+	analyses=[DiagnosticHorizAnalysisEnum;DiagnosticVertAnalysisEnum;DiagnosticStokesAnalysisEnum;DiagnosticHutterAnalysisEnum;SlopeAnalysisEnum;PrognosticAnalysisEnum;ThermalAnalysisEnum;MeltingAnalysisEnum];
+	solution_type=Transient3DSolutionEnum;
 
 	displaystring(md.verbose,'%s',['create finite element model']);
-	femmodel=NewFemModel(md,solution_type,analysis_types,8);
+	femmodel=NewFemModel(md,solution_type,analyses,8);
 
 	%retrieve parameters
@@ -20,5 +24,5 @@
 		displaystring(verbose,'%s',['call computational core']);
 		femmodel=transient3d_core(femmodel);
-		
+
 		displaystring(verbose,'%s',['write results']);
 		md.results.transient3d=OutputResults(femmodel.elements, femmodel.nodes , femmodel.vertices , femmodel.loads , femmodel.materials, femmodel.parameters, femmodel.results);
