Index: /issm/trunk/src/m/classes/@modellist/solve.m
===================================================================
--- /issm/trunk/src/m/classes/@modellist/solve.m	(revision 7628)
+++ /issm/trunk/src/m/classes/@modellist/solve.m	(revision 7629)
@@ -6,11 +6,7 @@
 %      where varargin is a lit of paired arguments. 
 %      arguments can be: 'analysis_type': 'diagnostic','thermal','prognostic','transient'
-%      arguments can be: 'sub_analysis_type': 'transient','steady','' (default if empty = 'steady')
 %
 %   Examples:
 %      mds=solve(mds,'analysis_type','diagnostic');
-%      mds=solve(mds,'analysis_type','thermal','sub_analysis_type','transient');
-%      mds=solve(mds,'analysis_type','thermal','sub_analysis_type','steady');
-%      mds=solve(mds,'analysis_type','thermal');
 
 %recover options
@@ -41,5 +37,4 @@
 	%recover some fields
 	mdex.analysis_type=options.analysis_type;
-	mdex.sub_analysis_type=options.sub_analysis_type;
 
 	mdex.name=[name '-' num2str(i) 'vs' num2str(nummodels)];
Index: /issm/trunk/src/m/classes/clusters/astrid.m
===================================================================
--- /issm/trunk/src/m/classes/clusters/astrid.m	(revision 7628)
+++ /issm/trunk/src/m/classes/clusters/astrid.m	(revision 7629)
@@ -67,5 +67,5 @@
 			 %retrieve parameters
 			 modelname=md.name;
-			 analysis_type=md.analysis_type;
+			 solution_type=md.solution_type;
 			 mem_debug=md.mem_debug;
 
@@ -76,8 +76,8 @@
 			 fprintf(fid,'#!/bin/sh\n');
 			 if mem_debug==0,
-				 fprintf(fid,'mpirun -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog ',cluster.np,cluster.codepath,EnumToString(analysis_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
+				 fprintf(fid,'mpirun -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog ',cluster.np,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
 			 else
-				 %fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --gen-suppressions=all --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog ',cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup,cluster.codepath,EnumToString(analysis_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
-				 fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog ',cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup, cluster.codepath,EnumToString(analysis_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
+				 %fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --gen-suppressions=all --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog ',cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
+				 fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog ',cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup, cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
 			 end
 
Index: /issm/trunk/src/m/classes/clusters/castor.m
===================================================================
--- /issm/trunk/src/m/classes/clusters/castor.m	(revision 7628)
+++ /issm/trunk/src/m/classes/clusters/castor.m	(revision 7629)
@@ -59,5 +59,5 @@
 			 %retrieve parameters 
 			 modelname=md.name; 
-			 analysis_type=md.analysis_type; 
+			 solution_type=md.solution_type; 
 			 mem_debug=md.mem_debug;
 
@@ -78,5 +78,5 @@
 			 fprintf(fid,'cd $PBS_O_WORKDIR\n');
 			 fprintf(fid,'export OMP_NUM_THREADS=1\n');
-			 fprintf(fid,'dplace -s1 -c0-%i mpirun -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock',cluster.np-1,cluster.np,cluster.codepath,EnumToString(analysis_type),cluster.executionpath,modelname,modelname,modelname,modelname);
+			 fprintf(fid,'dplace -s1 -c0-%i mpirun -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock',cluster.np-1,cluster.np,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname);
 
 			 %close file
Index: /issm/trunk/src/m/classes/clusters/cosmos.m
===================================================================
--- /issm/trunk/src/m/classes/clusters/cosmos.m	(revision 7628)
+++ /issm/trunk/src/m/classes/clusters/cosmos.m	(revision 7629)
@@ -59,5 +59,5 @@
 			 %retrieve parameters 
 			 modelname=md.name; 
-			 analysis_type=md.analysis_type; 
+			 solution_type=md.solution_type; 
 			 mem_debug=md.mem_debug;
 
@@ -77,5 +77,5 @@
 			 fprintf(fid,'ulimit -s unlimited\n');
 			 fprintf(fid,'ulimit -c 0\n');
-			 fprintf(fid,'/opt/mpich/gm/intel10.1/bin/mpirun -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock',cluster.np,cluster.codepath,EnumToString(analysis_type),cluster.executionpath,modelname,modelname,modelname,modelname);
+			 fprintf(fid,'/opt/mpich/gm/intel10.1/bin/mpirun -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock',cluster.np,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname);
 
 			 %close file
Index: /issm/trunk/src/m/classes/clusters/ericmac.m
===================================================================
--- /issm/trunk/src/m/classes/clusters/ericmac.m	(revision 7628)
+++ /issm/trunk/src/m/classes/clusters/ericmac.m	(revision 7629)
@@ -61,5 +61,5 @@
 			 %retrieve parameters 
 			 modelname=md.name; 
-			 analysis_type=md.analysis_type; 
+			 solution_type=md.solution_type; 
 			 mem_debug=md.mem_debug;
 
@@ -70,8 +70,8 @@
 			 fprintf(fid,'#!/bin/sh\n');
 			 if mem_debug==0,
-				 fprintf(fid,'mpirun -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',cluster.np,cluster.codepath,EnumToString(analysis_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
+				 fprintf(fid,'mpirun -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',cluster.np,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
 			 else
-				 %fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --gen-suppressions=all --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup,cluster.codepath,EnumToString(analysis_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
-				 fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup, cluster.codepath,EnumToString(analysis_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
+				 %fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --gen-suppressions=all --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
+				 fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup, cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
 			 end
 
Index: /issm/trunk/src/m/classes/clusters/gemini.m
===================================================================
--- /issm/trunk/src/m/classes/clusters/gemini.m	(revision 7628)
+++ /issm/trunk/src/m/classes/clusters/gemini.m	(revision 7629)
@@ -59,5 +59,5 @@
 			 %retrieve parameters 
 			 modelname=md.name; 
-			 analysis_type=md.analysis_type; 
+			 solution_type=md.solution_type; 
 			 mem_debug=md.mem_debug;
 
@@ -78,5 +78,5 @@
 			 fprintf(fid,'cd $PBS_O_WORKDIR\n');
 			 fprintf(fid,'export OMP_NUM_THREADS=1\n');
-			 fprintf(fid,'dplace -s1 -c0-%i mpirun -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock',cluster.np-1,cluster.np,cluster.codepath,EnumToString(analysis_type),cluster.executionpath,modelname,modelname,modelname,modelname);
+			 fprintf(fid,'dplace -s1 -c0-%i mpirun -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock',cluster.np-1,cluster.np,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname);
 
 			 %close file
Index: /issm/trunk/src/m/classes/clusters/larsen.m
===================================================================
--- /issm/trunk/src/m/classes/clusters/larsen.m	(revision 7628)
+++ /issm/trunk/src/m/classes/clusters/larsen.m	(revision 7629)
@@ -61,5 +61,5 @@
 			 %retrieve parameters 
 			 modelname=md.name; 
-			 analysis_type=md.analysis_type; 
+			 solution_type=md.solution_type; 
 			 mem_debug=md.mem_debug;
 
@@ -70,8 +70,8 @@
 			 fprintf(fid,'#!/bin/sh\n');
 			 if mem_debug==0,
-				 fprintf(fid,'mpirun -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',cluster.np,cluster.codepath,EnumToString(analysis_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
+				 fprintf(fid,'mpirun -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',cluster.np,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
 			 else
-				 %fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --gen-suppressions=all --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup,cluster.codepath,EnumToString(analysis_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
-				 fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup, cluster.codepath,EnumToString(analysis_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
+				 %fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --gen-suppressions=all --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
+				 fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup, cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
 			 end
 
Index: /issm/trunk/src/m/classes/clusters/murdo.m
===================================================================
--- /issm/trunk/src/m/classes/clusters/murdo.m	(revision 7628)
+++ /issm/trunk/src/m/classes/clusters/murdo.m	(revision 7629)
@@ -67,5 +67,5 @@
 			 %retrieve parameters
 			 modelname=md.name;
-			 analysis_type=md.analysis_type;
+			 solution_type=md.solution_type;
 			 mem_debug=md.mem_debug;
 
@@ -76,8 +76,8 @@
 			 fprintf(fid,'#!/bin/sh\n');
 			 if mem_debug==0,
-				 fprintf(fid,'mpirun -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog ',cluster.np,cluster.codepath,EnumToString(analysis_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
+				 fprintf(fid,'mpirun -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog ',cluster.np,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
 			 else
-				 %fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --gen-suppressions=all --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog ',cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup,cluster.codepath,EnumToString(analysis_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
-				 fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog ',cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup, cluster.codepath,EnumToString(analysis_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
+				 %fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --gen-suppressions=all --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog ',cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
+				 fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog ',cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup, cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
 			 end
 
Index: /issm/trunk/src/m/classes/clusters/ogive.m
===================================================================
--- /issm/trunk/src/m/classes/clusters/ogive.m	(revision 7628)
+++ /issm/trunk/src/m/classes/clusters/ogive.m	(revision 7629)
@@ -61,5 +61,5 @@
 			 %retrieve parameters 
 			 modelname=md.name; 
-			 analysis_type=md.analysis_type; 
+			 solution_type=md.solution_type; 
 			 mem_debug=md.mem_debug;
 
@@ -70,8 +70,8 @@
 			 fprintf(fid,'#!/bin/sh\n');
 			 if mem_debug==0,
-				 fprintf(fid,'mpirun -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',cluster.np,cluster.codepath,EnumToString(analysis_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
+				 fprintf(fid,'mpirun -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',cluster.np,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
 			 else
-				 %fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --gen-suppressions=all --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup,cluster.codepath,EnumToString(analysis_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
-				 fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup, cluster.codepath,EnumToString(analysis_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
+				 %fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --gen-suppressions=all --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
+				 fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup, cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
 			 end
 
Index: /issm/trunk/src/m/classes/clusters/pfe.m
===================================================================
--- /issm/trunk/src/m/classes/clusters/pfe.m	(revision 7628)
+++ /issm/trunk/src/m/classes/clusters/pfe.m	(revision 7629)
@@ -109,5 +109,5 @@
 			 %retrieve parameters 
 			 modelname=md.name; 
-			 analysis_type=md.analysis_type; 
+			 solution_type=md.solution_type; 
 			 mem_debug=md.mem_debug;
 
@@ -138,5 +138,5 @@
 			 fprintf(fid,'cd $PBS_O_WORKDIR\n\n');
 
-			 fprintf(fid,'mpiexec -verbose -np %i %s/issm.exe %s $PBS_O_WORKDIR %s.bin %s.petsc %s.outbin %s.lock\n',cluster.np,cluster.codepath,EnumToString(analysis_type),modelname,modelname,modelname,modelname);
+			 fprintf(fid,'mpiexec -verbose -np %i %s/issm.exe %s $PBS_O_WORKDIR %s.bin %s.petsc %s.outbin %s.lock\n',cluster.np,cluster.codepath,EnumToString(solution_type),modelname,modelname,modelname,modelname);
 
 			 if ~md.io_gather,
@@ -152,5 +152,5 @@
 			 if cluster.interactive,
 				 fid=fopen([modelname '.run'],'w');
-				 fprintf(fid,'mpiexec -verbose -np %i %s/issm.exe %s $PBS_O_WORKDIR %s.bin %s.petsc %s.outbin %s.lock\n',cluster.np,cluster.codepath,EnumToString(analysis_type),modelname,modelname,modelname,modelname);
+				 fprintf(fid,'mpiexec -verbose -np %i %s/issm.exe %s $PBS_O_WORKDIR %s.bin %s.petsc %s.outbin %s.lock\n',cluster.np,cluster.codepath,EnumToString(solution_type),modelname,modelname,modelname,modelname);
 				 if ~md.io_gather,
 					 %concatenate the output files:
Index: /issm/trunk/src/m/classes/clusters/pollux.m
===================================================================
--- /issm/trunk/src/m/classes/clusters/pollux.m	(revision 7628)
+++ /issm/trunk/src/m/classes/clusters/pollux.m	(revision 7629)
@@ -59,5 +59,5 @@
 			 %retrieve parameters 
 			 modelname=md.name; 
-			 analysis_type=md.analysis_type; 
+			 solution_type=md.solution_type; 
 			 mem_debug=md.mem_debug;
 
@@ -78,5 +78,5 @@
 			 fprintf(fid,'cd $PBS_O_WORKDIR\n');
 			 fprintf(fid,'export OMP_NUM_THREADS=1\n');
-			 fprintf(fid,'dplace -s1 -c0-%i mpirun -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock',cluster.np-1,cluster.np,cluster.codepath,EnumToString(analysis_type),cluster.executionpath,modelname,modelname,modelname,modelname);
+			 fprintf(fid,'dplace -s1 -c0-%i mpirun -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock',cluster.np-1,cluster.np,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname);
 
 			 %close file
Index: /issm/trunk/src/m/classes/clusters/wilkes.m
===================================================================
--- /issm/trunk/src/m/classes/clusters/wilkes.m	(revision 7628)
+++ /issm/trunk/src/m/classes/clusters/wilkes.m	(revision 7629)
@@ -61,5 +61,5 @@
 			 %retrieve parameters 
 			 modelname=md.name; 
-			 analysis_type=md.analysis_type; 
+			 solution_type=md.solution_type; 
 			 mem_debug=md.mem_debug;
 
@@ -70,8 +70,8 @@
 			 fprintf(fid,'#!/bin/sh\n');
 			 if mem_debug==0,
-				 fprintf(fid,'mpirun -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',cluster.np,cluster.codepath,EnumToString(analysis_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
+				 fprintf(fid,'mpirun -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',cluster.np,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
 			 else
-				 %fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --gen-suppressions=all --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup,cluster.codepath,EnumToString(analysis_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
-				 fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup, cluster.codepath,EnumToString(analysis_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
+				 %fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --gen-suppressions=all --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
+				 fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup, cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
 			 end
 
Index: /issm/trunk/src/m/classes/model.m
===================================================================
--- /issm/trunk/src/m/classes/model.m	(revision 7628)
+++ /issm/trunk/src/m/classes/model.m	(revision 7629)
@@ -283,7 +283,6 @@
 		 petscoptions_strings={};
 
-		 %Analysis and sub_analysis
-		 analysis_type='';
-		 sub_analysis_type='';
+		 %Analysis
+		 solution_type='';
 
 		 %management of large models
Index: /issm/trunk/src/m/model/graddetection.m
===================================================================
--- /issm/trunk/src/m/model/graddetection.m	(revision 7628)
+++ /issm/trunk/src/m/model/graddetection.m	(revision 7629)
@@ -8,5 +8,5 @@
 
 %solve first batch of control methods, with given settings.
-md2=solve(md2,'analysis_type','DiagnosticAnalysis');
+md2=solve(md2,'solution_type','DiagnosticAnalysis');
 
 %record final optimized parameter. 
@@ -24,5 +24,5 @@
 
 %rerun control method with optimized parameter, only for 1 more step.
-md2=solve(md2,'analysis_type','DiagnosticAnalysis');
+md2=solve(md2,'solution_type','DiagnosticAnalysis');
 
 %get optimized parameter after 1 more step. 
Index: /issm/trunk/src/m/model/ismodelselfconsistent.m
===================================================================
--- /issm/trunk/src/m/model/ismodelselfconsistent.m	(revision 7628)
+++ /issm/trunk/src/m/model/ismodelselfconsistent.m	(revision 7629)
@@ -221,5 +221,5 @@
 
 	%OBSERVED VELOCITIES
-	if md.analysis_type==BalancedthicknessSolutionEnum
+	if md.solution_type==BalancedthicknessSolutionEnum
 		fields={'thickness_obs'};
 		checksize(md,fields,[md.numberofgrids 1]);
@@ -279,5 +279,5 @@
 end
 
-if strcmpi(md.analysis_type,'qmu'),
+if strcmpi(md.solution_type,'qmu'),
 	if ~strcmpi(md.cluster.name,'none'),
 		if md.waitonlock==0,
@@ -290,5 +290,5 @@
 %Solution specific check
 %TRANSIENT {{{1
-if (md.analysis_type==Transient2DSolutionEnum | md.analysis_type==Transient3DSolutionEnum),
+if (md.solution_type==Transient2DSolutionEnum | md.solution_type==Transient3DSolutionEnum),
 
 	if md.dt<=0,
@@ -302,5 +302,5 @@
 %}}}
 %STEADYSTATE{{{1
-if md.analysis_type==SteadystateSolutionEnum,
+if md.solution_type==SteadystateSolutionEnum,
 
 	%NDT
@@ -316,7 +316,7 @@
 %}}}
 %GROUNDINGLINEMIGRATION2D{{{1
-if md.analysis_type==GroundingLineMigration2DSolutionEnum,
+if md.solution_type==GroundingLineMigration2DSolutionEnum,
 	if strcmpi(md.cluster.name,'none'),
-		error(['model not consistent: ' md.analysis_type ' is only implemented in parallel mode !'])
+		error(['model not consistent: ' md.solution_type ' is only implemented in parallel mode !'])
 	end
 
@@ -327,5 +327,5 @@
 	%recursive call to ismodelselfconsistent
 	if (md.dim~=2),
-		error(['model not consistent: for a ' md.analysis_type ' computation, the grounding line module is only implemented in 2d !'])
+		error(['model not consistent: for a ' md.solution_type ' computation, the grounding line module is only implemented in 2d !'])
 	end
 
@@ -336,5 +336,5 @@
 %}}}
 %ANALYSESCHECKS {{{1
-[analyses,numanalyses,solutioncore]=SolutionConfiguration(md.analysis_type);
+[analyses,numanalyses,solutioncore]=SolutionConfiguration(md.solution_type);
 for i=1:numanalyses,
 	checkforanalysis(md,analyses(i));
@@ -409,5 +409,5 @@
 			%EXTRUSION
 			if (md.dim==2),
-				error(['model not consistent: for a ' md.analysis_type ' computation, the model must be 3d, extrude it first!'])
+				error(['model not consistent: for a ' md.solution_type ' computation, the model must be 3d, extrude it first!'])
 			end
 
Index: /issm/trunk/src/m/model/isresultconsistent.m
===================================================================
--- /issm/trunk/src/m/model/isresultconsistent.m	(revision 7628)
+++ /issm/trunk/src/m/model/isresultconsistent.m	(revision 7629)
@@ -1,3 +1,3 @@
-function bool=isresultconsistent(md,analysis_type)
+function bool=isresultconsistent(md,solution_type)
 %ISRESULTCONSISTENT: check that results are consistent
 %
@@ -6,5 +6,5 @@
 %
 %   Usage:
-%      bool=IsModelSelfConsistent(model,analysis_type)
+%      bool=IsModelSelfConsistent(model,solution_type)
 
 %tolerance we use in litmus tests for the consistency of the model
@@ -26,5 +26,5 @@
 
 %DIAGNOSTIC
-if analysis_type==DiagnosticSolutionEnum() & md.control_analysis==0,
+if solution_type==DiagnosticSolutionEnum() & md.control_analysis==0,
 
 	if (md.dim==3)
@@ -59,5 +59,5 @@
 
 %CONTROL
-if analysis_type==DiagnosticSolutionEnum() & md.control_analysis==1,
+if solution_type==DiagnosticSolutionEnum() & md.control_analysis==1,
 
 	if ~md.cm_gradient,
@@ -118,5 +118,5 @@
 
 %THERMAL
-if analysis_type==ThermalSolutionEnum(),
+if solution_type==ThermalSolutionEnum(),
 
 	for iter=1:length(md.results.ThermalAnalysis)
@@ -154,5 +154,5 @@
 end
 
-if (analysis_type==Transient2DSolutionEnum() | analysis_type==Transient3DSolutionEnum()),
+if (solution_type==Transient2DSolutionEnum() | solution_type==Transient3DSolutionEnum()),
 
 	for iter=1:length(md.results.TransientAnalysis)
Index: /issm/trunk/src/m/model/loadmultipleresultsfromcluster.m
===================================================================
--- /issm/trunk/src/m/model/loadmultipleresultsfromcluster.m	(revision 7628)
+++ /issm/trunk/src/m/model/loadmultipleresultsfromcluster.m	(revision 7629)
@@ -26,7 +26,4 @@
 for i=1:nummodels,
 	%load  results for this model
-	%md_list{i}.analysis_type=DiagnosticAnalysisEnum();
-	%md_list{i}.sub_analysis_type=NoneAnalysisEnum();
-	%md_list{i}=loadresultsfromdisk(md_list{i},[md_list{i}.name '_' num2str(i) 'vs' num2str(nummodels) '.outbin']);
 	md_list{i}=loadresultsfromdisk(md_list{i},[md_list{i}.name '.outbin']);
 
Index: /issm/trunk/src/m/model/loadresultsfromdisk.m
===================================================================
--- /issm/trunk/src/m/model/loadresultsfromdisk.m	(revision 7628)
+++ /issm/trunk/src/m/model/loadresultsfromdisk.m	(revision 7629)
@@ -22,9 +22,6 @@
 	md.results.(structure.SolutionType)=structure;
 
-	%recover analysis_type from results
-	md.analysis_type=structure(1).SolutionType;
-	if isscalar(md.sub_analysis_type),
-		md.sub_analysis_type=EnumToString(md.sub_analysis_type);
-	end
+	%recover solution_type from results
+	md.solution_type=structure(1).SolutionType;
 
 	%Check result is consistent, only if it exists
@@ -38,9 +35,6 @@
 else
 
-	if isscalar(md.analysis_type),
-		md.analysis_type    =EnumToString(md.analysis_type);
-	end
-	if isscalar(md.sub_analysis_type),
-		md.sub_analysis_type=EnumToString(md.sub_analysis_type);
+	if isscalar(md.solution_type),
+		md.solution_type    =EnumToString(md.solution_type);
 	end
 	md=postqmu(md);
Index: /issm/trunk/src/m/model/marshall.m
===================================================================
--- /issm/trunk/src/m/model/marshall.m	(revision 7628)
+++ /issm/trunk/src/m/model/marshall.m	(revision 7629)
@@ -22,6 +22,4 @@
 end
 
-WriteData(fid,md.analysis_type','Integer','analysis_type');
-WriteData(fid,md.sub_analysis_type','Integer','sub_analysis_type');
 WriteData(fid,md.dim,'Integer','dim');
 WriteData(fid,md.numberofgrids,'Integer','numberofgrids');
Index: /issm/trunk/src/m/model/process_solve_options.m
===================================================================
--- /issm/trunk/src/m/model/process_solve_options.m	(revision 7628)
+++ /issm/trunk/src/m/model/process_solve_options.m	(revision 7629)
@@ -7,9 +7,6 @@
 %   See also: SOLVE
 
-%analysis_type: check on this option, error out otherwise
-analysis_type=getfieldvalue(options,'analysis_type');
-
-%sub_analysis_type: check on it, not mandatory
-sub_analysis_type=getfieldvalue(options,'sub_analysis_type',NoneAnalysisEnum);
+%solution_type: check on this option, error out otherwise
+solution_type=getfieldvalue(options,'analysis_type');
 
 %batch mode for launching jobs.
@@ -20,18 +17,13 @@
 
 %convert to Enum if a string was provided
-if ischar(analysis_type), error(['only Enums are supported as ''analysis_type''. For example: md=solve(md,''analysis_type'',DiagnosticSolutionEnum); ']); end
-if ischar(sub_analysis_type), error(['only Enums are supported as ''sub_analysis_type''. For example: md=solve(md,''analysis_type'',DiagnosticSolutionEnum); ']); end
+if ischar(solution_type), error(['only Enums are supported as ''solution_type''. For example: md=solve(md,''solution_type'',DiagnosticSolutionEnum); ']); end
 
 %check solution type is supported
-if ~ismember(analysis_type,[DiagnosticSolutionEnum,PrognosticSolutionEnum,ThermalSolutionEnum,...
+if ~ismember(solution_type,[DiagnosticSolutionEnum,PrognosticSolutionEnum,ThermalSolutionEnum,...
 		SteadystateSolutionEnum,ParametersSolutionEnum,Transient2DSolutionEnum,Transient3DSolutionEnum...
 		BalancedthicknessSolutionEnum,BalancedvelocitiesSolutionEnum,BedSlopeSolutionEnum,SurfaceSlopeSolutionEnum,GroundingLineMigration2DSolutionEnum]),
-	error(['process_solve_options error message: analysis_type ' EnumToString(analysis_type) ' not supported yet!']);
+	error(['process_solve_options error message: solution_type ' EnumToString(solution_type) ' not supported yet!']);
 end
-if ~ismember(sub_analysis_type,[SteadyAnalysisEnum,NoneAnalysisEnum,GradientAnalysisEnum,InverseAnalysisEnum,TransientAnalysisEnum]),
-	error(['process_solve_options error message: sub_analysis_type ' sub_analysis_type ' not supported yet!']);
-end
-outoptions.analysis_type=analysis_type;
-outoptions.sub_analysis_type=sub_analysis_type;
+outoptions.solution_type=solution_type;
 outoptions.upload=getfieldvalue(options,'upload','off');
 
Index: /issm/trunk/src/m/model/solve.m
===================================================================
--- /issm/trunk/src/m/model/solve.m	(revision 7628)
+++ /issm/trunk/src/m/model/solve.m	(revision 7629)
@@ -6,11 +6,7 @@
 %      where varargin is a lit of paired arguments of string OR enums
 %      arguments can be: 'analysis_type': 'DiagnosticAnalysis','ThermalAnalysis','PrognosticAnalysis','Transient2DAnalysis'
-%      arguments can be: 'sub_analysis_type': 'Transient2DAnalysis','SteadyAnalysis','NoneAnalysisEnum'
 %
 %   Examples:
 %      md=solve(md,'analysis_type',DiagnosticSolutionEnum);
-%      md=solve(md,'analysis_type','ThermalAnalysis','sub_analysis_type','Transient2DAnalysis');
-%      md=solve(md,'analysis_type',ThermalSolutionEnum,'sub_analysis_type',SteadyAnalysisEnum);
-%      md=solve(md,'analysis_type','ThermalAnalysis');
 
 %recover options
@@ -21,6 +17,5 @@
 
 %recover some fields
-md.analysis_type=options.analysis_type;
-md.sub_analysis_type=options.sub_analysis_type;
+md.solution_type=options.solution_type;
 
 %check model consistency
@@ -48,5 +43,5 @@
 
 %Launch correct solution sequence
-md=issm(md,md.analysis_type);
+md=issm(md,md.solution_type);
 
 %post processes qmu results if necessary
@@ -61,9 +56,8 @@
 %Check result is consistent
 disp('checking result consistency');
-%if ~isresultconsistent(md,options.analysis_type),
+%if ~isresultconsistent(md,options.solution_type),
 %	disp('!! results not consistent correct the model !!') %it would be very cruel to put an error, it would kill the computed results (even if not consistent...)
 %end
 
 %convert analysis type to string finally
-md.analysis_type=EnumToString(options.analysis_type);
-md.sub_analysis_type=EnumToString(options.sub_analysis_type);
+md.solution_type=EnumToString(options.solution_type);
Index: /issm/trunk/src/m/qmu/process_qmu_options.m
===================================================================
--- /issm/trunk/src/m/qmu/process_qmu_options.m	(revision 7628)
+++ /issm/trunk/src/m/qmu/process_qmu_options.m	(revision 7629)
@@ -37,21 +37,4 @@
 end
 
-%sub_analysis_type: check on it, not mandatory
-found=0;
-for i=1:size(options,1),
-	if strcmpi(options{i,1},'sub_analysis_type'),
-		sub_analysis_type=options{i,2};
-		found=1;
-	end
-end
-if ~found
-	if ~strcmpi(analysis_type,'thermal'),
-		sub_analysis_type='none';
-	else
-		disp('recover_qmu_options info message: no ''sub_analysis_type'' was provided, defaulting to ''steady''');
-		sub_analysis_type='steady';
-	end
-end
-
 %check solution type is supported
 if ~(strcmpi(analysis_type,'control') |  ...
@@ -65,14 +48,4 @@
 	error(['process_qmu_options error message: analysis_type ' analysis_type ' not supported yet!']);
 end
-if ~(strcmpi(sub_analysis_type,'none') |  ...
-		strcmpi(sub_analysis_type,'steady') |  ...
-		strcmpi(sub_analysis_type,'horiz') |  ...
-		strcmpi(sub_analysis_type,'vert') |  ...
-		strcmpi(sub_analysis_type,'') |  ...
-		strcmpi(sub_analysis_type,'transient') ),
-	error(['process_qmu_options error message: sub_analysis_type ' sub_analysis_type ' not supported yet!']);
-end
-
-
 
 %  process qmu arguments
@@ -121,5 +94,4 @@
 outoptions.analysis_type=analysis_type;
 outoptions.package=package;
-outoptions.sub_analysis_type=sub_analysis_type;
 outoptions.qmudir=qmudir;
 outoptions.qmufile=qmufile;
