Index: /issm/trunk/src/m/classes/autodiff.m
===================================================================
--- /issm/trunk/src/m/classes/autodiff.m	(revision 9852)
+++ /issm/trunk/src/m/classes/autodiff.m	(revision 9853)
@@ -35,5 +35,5 @@
 			end
 		end % }}}
-		function checkconsistency(obj,md) % {{{
+		function checkconsistency(obj,md,solution,analyses) % {{{
 
 		end % }}}
Index: /issm/trunk/src/m/classes/balancethickness.m
===================================================================
--- /issm/trunk/src/m/classes/balancethickness.m	(revision 9852)
+++ /issm/trunk/src/m/classes/balancethickness.m	(revision 9853)
@@ -39,5 +39,5 @@
 
 		end % }}}
-		function checkconsistency(obj,md) % {{{
+		function checkconsistency(obj,md,solution,analyses) % {{{
 			if ~ismember(md.balancethickness.stabilization,[0 1 3]),
 				checkmessage('model not consistent: balancethickness.stabilization should be a scalar (0 or 1 or 3)');
Index: /issm/trunk/src/m/classes/basalforcings.m
===================================================================
--- /issm/trunk/src/m/classes/basalforcings.m	(revision 9852)
+++ /issm/trunk/src/m/classes/basalforcings.m	(revision 9853)
@@ -35,5 +35,5 @@
 			end
 		end % }}}
-		function checkconsistency(obj,md) % {{{
+		function checkconsistency(obj,md,solution,analyses) % {{{
 
 			fields={'melting_rate','geothermalflux'};
Index: /issm/trunk/src/m/classes/clusters/castor.m
===================================================================
--- /issm/trunk/src/m/classes/clusters/castor.m	(revision 9852)
+++ /issm/trunk/src/m/classes/clusters/castor.m	(revision 9853)
@@ -46,5 +46,5 @@
 		 end
 		 %}}}
-		 function checkconsistency(cluster,md) % {{{1
+		 function checkconsistency(cluster,md,solution,analyses) % {{{1
 
 			 available_queues={'shortc','longc'};
@@ -59,5 +59,5 @@
 			 %retrieve parameters 
 			 modelname=md.miscellaneous.name; 
-			 solution_type=md.private.solution; 
+			 solution=md.private.solution;
 
 			 %open file for writing: 
@@ -77,5 +77,5 @@
 			 fprintf(fid,'cd $PBS_O_WORKDIR\n');
 			 fprintf(fid,'export OMP_NUM_THREADS=1\n');
-			 fprintf(fid,'dplace -s1 -c0-%i mpiexec -np %i %s/issm.exe %s %s %s',cluster.np-1,cluster.np,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname);
+			 fprintf(fid,'dplace -s1 -c0-%i mpiexec -np %i %s/issm.exe %s %s %s',cluster.np-1,cluster.np,cluster.codepath,EnumToString(solution),cluster.executionpath,modelname);
 
 			 %close file
Index: /issm/trunk/src/m/classes/clusters/cosmos.m
===================================================================
--- /issm/trunk/src/m/classes/clusters/cosmos.m	(revision 9852)
+++ /issm/trunk/src/m/classes/clusters/cosmos.m	(revision 9853)
@@ -46,5 +46,5 @@
 		 end
 		 %}}}
-		 function checkconsistency(cluster,md) % {{{1
+		 function checkconsistency(cluster,md,solution,analyses) % {{{1
 
 			 available_queues={'debug','shortq','longq'};
@@ -59,5 +59,5 @@
 			 %retrieve parameters 
 			 modelname=md.miscellaneous.name; 
-			 solution_type=md.private.solution; 
+			 solution=md.private.solution;
 
 			 %open file for writing: 
@@ -76,5 +76,5 @@
 			 fprintf(fid,'ulimit -s unlimited\n');
 			 fprintf(fid,'ulimit -c 0\n');
-			 fprintf(fid,'/opt/mpich/gm/intel10.1/bin/mpiexec -np %i %s/issm.exe %s %s %s',cluster.np,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname);
+			 fprintf(fid,'/opt/mpich/gm/intel10.1/bin/mpiexec -np %i %s/issm.exe %s %s %s',cluster.np,cluster.codepath,EnumToString(solution),cluster.executionpath,modelname);
 
 			 %close file
Index: /issm/trunk/src/m/classes/clusters/gemini.m
===================================================================
--- /issm/trunk/src/m/classes/clusters/gemini.m	(revision 9852)
+++ /issm/trunk/src/m/classes/clusters/gemini.m	(revision 9853)
@@ -46,5 +46,5 @@
 		 end
 		 %}}}
-		 function checkconsistency(cluster,md) % {{{1
+		 function checkconsistency(cluster,md,solution,analyses) % {{{1
 
 			 available_queues={'debug','shortg','longg'};
@@ -59,5 +59,5 @@
 			 %retrieve parameters 
 			 modelname=md.miscellaneous.name; 
-			 solution_type=md.private.solution; 
+			 solution=md.private.solution;
 
 			 %open file for writing: 
@@ -77,5 +77,5 @@
 			 fprintf(fid,'cd $PBS_O_WORKDIR\n');
 			 fprintf(fid,'export OMP_NUM_THREADS=1\n');
-			 fprintf(fid,'dplace -s1 -c0-%i mpiexec -np %i %s/issm.exe %s %s %s',cluster.np-1,cluster.np,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname);
+			 fprintf(fid,'dplace -s1 -c0-%i mpiexec -np %i %s/issm.exe %s %s %s',cluster.np-1,cluster.np,cluster.codepath,EnumToString(solution),cluster.executionpath,modelname);
 
 			 %close file
Index: /issm/trunk/src/m/classes/clusters/generic.m
===================================================================
--- /issm/trunk/src/m/classes/clusters/generic.m	(revision 9852)
+++ /issm/trunk/src/m/classes/clusters/generic.m	(revision 9853)
@@ -60,5 +60,5 @@
 		 end
 		 %}}}
-		 function checkconsistency(cluster,md) % {{{1
+		 function checkconsistency(cluster,md,solution,analyses) % {{{1
 			 if cluster.np<1
 				 checkmessage(['number of processors should be at least 1']);
@@ -73,5 +73,5 @@
 			 %retrieve parameters
 			 modelname=md.miscellaneous.name;
-			 solution_type=md.private.solution;
+			 solution=md.private.solution;
 			 isvalgrind=md.debug.valgrind;
 			 isgprof=md.debug.gprof;
@@ -85,13 +85,13 @@
 				 if cluster.interactive
 					 fprintf(fid,'mpiexec -np %i %s/issm.exe %s %s %s ',...
-						 cluster.np,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname);
+						 cluster.np,cluster.codepath,EnumToString(solution),cluster.executionpath,modelname);
 				 else
 					 fprintf(fid,'mpiexec -np %i %s/issm.exe %s %s %s 2> %s.errlog >%s.outlog ',...
-						 cluster.np,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname);
+						 cluster.np,cluster.codepath,EnumToString(solution),cluster.executionpath,modelname,modelname,modelname);
 				 end
 			 else
-				 %fprintf(fid,'LD_PRELOAD=%s mpiexec -np %i %s --leak-check=full --gen-suppressions=all --suppressions=%s %s/issm.exe %s %s %s 2> %s.errlog >%s.outlog ',cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname);
+				 %fprintf(fid,'LD_PRELOAD=%s mpiexec -np %i %s --leak-check=full --gen-suppressions=all --suppressions=%s %s/issm.exe %s %s %s 2> %s.errlog >%s.outlog ',cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup,cluster.codepath,EnumToString(solution),cluster.executionpath,modelname,modelname,modelname);
 				 fprintf(fid,'LD_PRELOAD=%s mpiexec -np %i %s --leak-check=full --suppressions=%s %s/issm.exe %s %s %s 2> %s.errlog >%s.outlog ',...
-					 cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup, cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname);
+					 cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup, cluster.codepath,EnumToString(solution),cluster.executionpath,modelname,modelname,modelname);
 			 end
 
Index: /issm/trunk/src/m/classes/clusters/none.m
===================================================================
--- /issm/trunk/src/m/classes/clusters/none.m	(revision 9852)
+++ /issm/trunk/src/m/classes/clusters/none.m	(revision 9853)
@@ -30,5 +30,5 @@
 		 end
 		 %}}}
-		 function checkconsistency(cluster,md) % {{{1
+		 function checkconsistency(cluster,md,solution,analyses) % {{{1
 		 end
 		 %}}}
Index: /issm/trunk/src/m/classes/clusters/pfe.m
===================================================================
--- /issm/trunk/src/m/classes/clusters/pfe.m	(revision 9852)
+++ /issm/trunk/src/m/classes/clusters/pfe.m	(revision 9853)
@@ -65,5 +65,5 @@
 		 end
 		 %}}}
-		 function checkconsistency(cluster,md) % {{{1
+		 function checkconsistency(cluster,md,solution,analyses) % {{{1
 
 			 available_queues={'long','debug'};
@@ -109,5 +109,5 @@
 			 %retrieve parameters 
 			 modelname=md.miscellaneous.name; 
-			 solution_type=md.private.solution; 
+			 solution=md.private.solution;
 			 isvalgrind=md.debug.valgrind;
 
@@ -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\n',cluster.np,cluster.codepath,EnumToString(solution_type),modelname);
+			 fprintf(fid,'mpiexec -verbose -np %i %s/issm.exe %s $PBS_O_WORKDIR %s\n',cluster.np,cluster.codepath,EnumToString(solution),modelname);
 
 			 if ~md.settings.io_gather,
@@ -152,7 +152,7 @@
 				 fid=fopen([modelname '.run'],'w');
 				 if ~isvalgrind,
-					 fprintf(fid,'mpiexec -verbose -np %i %s/issm.exe %s $PBS_O_WORKDIR %s\n',cluster.np,cluster.codepath,EnumToString(solution_type),modelname);
-				 else
-					 fprintf(fid,'mpiexec -verbose -np %i valgrind --leak-check=full %s/issm.exe %s $PBS_O_WORKDIR %s\n',cluster.np,cluster.codepath,EnumToString(solution_type),modelname);
+					 fprintf(fid,'mpiexec -verbose -np %i %s/issm.exe %s $PBS_O_WORKDIR %s\n',cluster.np,cluster.codepath,EnumToString(solution),modelname);
+				 else
+					 fprintf(fid,'mpiexec -verbose -np %i valgrind --leak-check=full %s/issm.exe %s $PBS_O_WORKDIR %s\n',cluster.np,cluster.codepath,EnumToString(solution),modelname);
 				 end
 
Index: /issm/trunk/src/m/classes/clusters/pollux.m
===================================================================
--- /issm/trunk/src/m/classes/clusters/pollux.m	(revision 9852)
+++ /issm/trunk/src/m/classes/clusters/pollux.m	(revision 9853)
@@ -46,5 +46,5 @@
 		 end
 		 %}}}
-		 function checkconsistency(cluster,md) % {{{1
+		 function checkconsistency(cluster,md,solution,analyses) % {{{1
 
 			 available_queues={'shortp','longp'};
@@ -59,5 +59,5 @@
 			 %retrieve parameters 
 			 modelname=md.miscellaneous.name; 
-			 solution_type=md.private.solution; 
+			 solution=md.private.solution;
 
 			 %open file for writing: 
@@ -77,5 +77,5 @@
 			 fprintf(fid,'cd $PBS_O_WORKDIR\n');
 			 fprintf(fid,'export OMP_NUM_THREADS=1\n');
-			 fprintf(fid,'dplace -s1 -c0-%i mpiexec -np %i %s/issm.exe %s %s %s',cluster.np-1,cluster.np,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname);
+			 fprintf(fid,'dplace -s1 -c0-%i mpiexec -np %i %s/issm.exe %s %s %s',cluster.np-1,cluster.np,cluster.codepath,EnumToString(solution),cluster.executionpath,modelname);
 
 			 %close file
Index: /issm/trunk/src/m/classes/constants.m
===================================================================
--- /issm/trunk/src/m/classes/constants.m	(revision 9852)
+++ /issm/trunk/src/m/classes/constants.m	(revision 9853)
@@ -45,5 +45,5 @@
 
 		end % }}}
-		function flag = checkconsistency(obj,md) % {{{
+		function flag = checkconsistency(obj,md,solution,analyses) % {{{
 
 			fields={'g'};
Index: /issm/trunk/src/m/classes/diagnostic.m
===================================================================
--- /issm/trunk/src/m/classes/diagnostic.m	(revision 9852)
+++ /issm/trunk/src/m/classes/diagnostic.m	(revision 9853)
@@ -77,5 +77,5 @@
 
 		end % }}}
-		function checkconsistency(obj,md) % {{{
+		function checkconsistency(obj,md,solution,analyses) % {{{
 
 			fields={'restol','maxiter'};
Index: /issm/trunk/src/m/classes/flaim.m
===================================================================
--- /issm/trunk/src/m/classes/flaim.m	(revision 9852)
+++ /issm/trunk/src/m/classes/flaim.m	(revision 9853)
@@ -41,7 +41,7 @@
 
 		end % }}}
-		function checkconsistency(obj,md) % {{{
+		function checkconsistency(obj,md,solution,analyses) % {{{
 
-			if md.private.solution~=FlaimSolutionEnum,
+			if solution~=FlaimSolutionEnum,
 				return;
 			end
Index: /issm/trunk/src/m/classes/flowequation.m
===================================================================
--- /issm/trunk/src/m/classes/flowequation.m	(revision 9852)
+++ /issm/trunk/src/m/classes/flowequation.m	(revision 9853)
@@ -41,5 +41,5 @@
 
 		end % }}}
-		function checkconsistency(obj,md) % {{{
+		function checkconsistency(obj,md,solution,analyses) % {{{
 
 		end % }}}
Index: /issm/trunk/src/m/classes/friction.m
===================================================================
--- /issm/trunk/src/m/classes/friction.m	(revision 9852)
+++ /issm/trunk/src/m/classes/friction.m	(revision 9853)
@@ -36,5 +36,5 @@
 
 		end % }}}
-		function checkconsistency(obj,md) % {{{
+		function checkconsistency(obj,md,solution,analyses) % {{{
 
 			fields={'coefficient','p','q'};
Index: /issm/trunk/src/m/classes/geometry.m
===================================================================
--- /issm/trunk/src/m/classes/geometry.m	(revision 9852)
+++ /issm/trunk/src/m/classes/geometry.m	(revision 9853)
@@ -38,5 +38,5 @@
 
 		end % }}}
-		function checkconsistency(obj,md) % {{{
+		function checkconsistency(obj,md,solution,analyses) % {{{
 			fields={'surface','thickness','bed'};
 			checknan(md,'geometry',fields);
Index: /issm/trunk/src/m/classes/groundingline.m
===================================================================
--- /issm/trunk/src/m/classes/groundingline.m	(revision 9852)
+++ /issm/trunk/src/m/classes/groundingline.m	(revision 9853)
@@ -42,5 +42,5 @@
 
 		end % }}}
-		function checkconsistency(obj,md) % {{{
+		function checkconsistency(obj,md,solution,analyses) % {{{
 
 			if ~ismember({obj.migration},{'None' 'AgressiveMigration' 'SoftMigration'}),
Index: /issm/trunk/src/m/classes/hydrology.m
===================================================================
--- /issm/trunk/src/m/classes/hydrology.m	(revision 9852)
+++ /issm/trunk/src/m/classes/hydrology.m	(revision 9853)
@@ -49,5 +49,5 @@
 			obj.stabilization=1;
 		end % }}}
-		function checkconsistency(obj,md) % {{{
+		function checkconsistency(obj,md,solution,analyses) % {{{
 
 		end % }}}
Index: /issm/trunk/src/m/classes/initialization.m
===================================================================
--- /issm/trunk/src/m/classes/initialization.m	(revision 9852)
+++ /issm/trunk/src/m/classes/initialization.m	(revision 9853)
@@ -41,5 +41,5 @@
 
 		end % }}}
-		function checkconsistency(obj,md) % {{{
+		function checkconsistency(obj,md,solution,analyses) % {{{
 
 		end % }}}
Index: /issm/trunk/src/m/classes/inversion.m
===================================================================
--- /issm/trunk/src/m/classes/inversion.m	(revision 9852)
+++ /issm/trunk/src/m/classes/inversion.m	(revision 9853)
@@ -86,5 +86,5 @@
 
 		end % }}}
-		function checkconsistency(obj,md) % {{{
+		function checkconsistency(obj,md,solution,analyses) % {{{
 
 			%Early return
@@ -124,5 +124,5 @@
 
 			%OBSERVED VELOCITIES
-			if md.private.solution==BalancethicknessSolutionEnum
+			if solution==BalancethicknessSolutionEnum
 				fields={'thickness_obs'};
 				checksize(md,'inversion',fields,[md.mesh.numberofvertices 1]);
Index: /issm/trunk/src/m/classes/mask.m
===================================================================
--- /issm/trunk/src/m/classes/mask.m	(revision 9852)
+++ /issm/trunk/src/m/classes/mask.m	(revision 9853)
@@ -39,5 +39,5 @@
 
 		end % }}}
-		function checkconsistency(obj,md) % {{{
+		function checkconsistency(obj,md,solution,analyses) % {{{
 
 			fields=properties('mask');
Index: /issm/trunk/src/m/classes/materials.m
===================================================================
--- /issm/trunk/src/m/classes/materials.m	(revision 9852)
+++ /issm/trunk/src/m/classes/materials.m	(revision 9853)
@@ -75,5 +75,5 @@
 			obj.rheology_law='Paterson';
 		end % }}}
-		function checkconsistency(obj,md) % {{{
+		function checkconsistency(obj,md,solution,analyses) % {{{
 			fields={'rho_ice','rho_water','rheology_B','rheology_n'};
 			checknan(md,'materials',fields);
Index: /issm/trunk/src/m/classes/mesh.m
===================================================================
--- /issm/trunk/src/m/classes/mesh.m	(revision 9852)
+++ /issm/trunk/src/m/classes/mesh.m	(revision 9853)
@@ -78,5 +78,5 @@
 			obj.average_vertex_connectivity=25;
 		end % }}}
-		function checkconsistency(obj,md) % {{{
+		function checkconsistency(obj,md,solution,analyses) % {{{
 
 			fields={'x','y','z','elements','elementonbed','elementonsurface','vertexonbed','vertexonsurface','elementconnectivity'};
@@ -118,5 +118,5 @@
 
 			%Solution specific checks
-			switch(md.private.solution),
+			switch(solution),
 				case PrognosticSolutionEnum,
 					if md.prognostic.stabilization==3,
Index: /issm/trunk/src/m/classes/miscellaneous.m
===================================================================
--- /issm/trunk/src/m/classes/miscellaneous.m	(revision 9852)
+++ /issm/trunk/src/m/classes/miscellaneous.m	(revision 9853)
@@ -26,5 +26,5 @@
 			end
 		end % }}}
-		function checkconsistency(obj,md) % {{{
+		function checkconsistency(obj,md,solution,analyses) % {{{
 
 			fields={'name'};
Index: /issm/trunk/src/m/classes/private.m
===================================================================
--- /issm/trunk/src/m/classes/private.m	(revision 9852)
+++ /issm/trunk/src/m/classes/private.m	(revision 9853)
@@ -36,5 +36,5 @@
 
 		end % }}}
-		function checkconsistency(obj,md) % {{{
+		function checkconsistency(obj,md,solution,analyses) % {{{
 
 		end % }}}
Index: /issm/trunk/src/m/classes/prognostic.m
===================================================================
--- /issm/trunk/src/m/classes/prognostic.m	(revision 9852)
+++ /issm/trunk/src/m/classes/prognostic.m	(revision 9853)
@@ -46,5 +46,5 @@
 			obj.hydrostatic_adjustment='Absolute';
 		end % }}}
-		function checkconsistency(obj,md) % {{{
+		function checkconsistency(obj,md,solution,analyses) % {{{
 			if ~ismember(obj.stabilization,[0 1 3]),
 				checkmessage('prognostic.stabilization should be a scalar (0 or 1 or 3)');
Index: /issm/trunk/src/m/classes/qmu.m
===================================================================
--- /issm/trunk/src/m/classes/qmu.m	(revision 9852)
+++ /issm/trunk/src/m/classes/qmu.m	(revision 9853)
@@ -48,5 +48,5 @@
 			end
 		end % }}}
-		function checkconsistency(obj,md) % {{{
+		function checkconsistency(obj,md,solution,analyses) % {{{
 
 			%Early return
Index: /issm/trunk/src/m/classes/rifts.m
===================================================================
--- /issm/trunk/src/m/classes/rifts.m	(revision 9852)
+++ /issm/trunk/src/m/classes/rifts.m	(revision 9853)
@@ -35,5 +35,5 @@
 			end
 		end % }}}
-		function checkconsistency(obj,md) % {{{
+		function checkconsistency(obj,md,solution,analyses) % {{{
 			if obj.numrifts,
 				if ~(md.mesh.dimension==2),
Index: /issm/trunk/src/m/classes/settings.m
===================================================================
--- /issm/trunk/src/m/classes/settings.m	(revision 9852)
+++ /issm/trunk/src/m/classes/settings.m	(revision 9853)
@@ -52,5 +52,5 @@
 			obj.waitonlock=Inf;
 		end % }}}
-		function checkconsistency(obj,md) % {{{
+		function checkconsistency(obj,md,solution,analyses) % {{{
 
 			fields={'lowmem'};
Index: /issm/trunk/src/m/classes/solver.m
===================================================================
--- /issm/trunk/src/m/classes/solver.m	(revision 9852)
+++ /issm/trunk/src/m/classes/solver.m	(revision 9853)
@@ -27,5 +27,5 @@
 		 end
 		 %}}}
-		 function checkconsistency(obj,md) % {{{
+		 function checkconsistency(obj,md,solution,analyses) % {{{
 
 		 end % }}}
Index: /issm/trunk/src/m/classes/steadystate.m
===================================================================
--- /issm/trunk/src/m/classes/steadystate.m	(revision 9852)
+++ /issm/trunk/src/m/classes/steadystate.m	(revision 9853)
@@ -41,8 +41,8 @@
 			obj.reltol=0.01;
 		end % }}}
-		function checkconsistency(obj,md) % {{{
+		function checkconsistency(obj,md,solution,analyses) % {{{
 
 			%Early return
-			if md.private.solution~=SteadystateSolutionEnum, return; end;
+			if solution~=SteadystateSolutionEnum, return; end;
 
 			if md.timestepping.time_step~=0,
Index: /issm/trunk/src/m/classes/surfaceforcings.m
===================================================================
--- /issm/trunk/src/m/classes/surfaceforcings.m	(revision 9852)
+++ /issm/trunk/src/m/classes/surfaceforcings.m	(revision 9853)
@@ -35,5 +35,5 @@
 			end
 		end % }}}
-		function checkconsistency(obj,md) % {{{
+		function checkconsistency(obj,md,solution,analyses) % {{{
 
 		end % }}}
Index: /issm/trunk/src/m/classes/thermal.m
===================================================================
--- /issm/trunk/src/m/classes/thermal.m	(revision 9852)
+++ /issm/trunk/src/m/classes/thermal.m	(revision 9853)
@@ -50,5 +50,5 @@
 			obj.penalty_factor=3;
 		end % }}}
-		function checkconsistency(obj,md) % {{{
+		function checkconsistency(obj,md,solution,analyses) % {{{
 			if ~ismember(obj.stabilization,[0 1 2]),
 				checkmessage('thermal.stabilization should be a scalar (0 or 1 or 2)');
Index: /issm/trunk/src/m/classes/timestepping.m
===================================================================
--- /issm/trunk/src/m/classes/timestepping.m	(revision 9852)
+++ /issm/trunk/src/m/classes/timestepping.m	(revision 9853)
@@ -46,5 +46,5 @@
 			obj.cfl_coefficient=.5;
 		end % }}}
-		function checkconsistency(obj,md) % {{{
+		function checkconsistency(obj,md,solution,analyses) % {{{
 			if ~ismember(md.timestepping.time_adapt,[0 1]),
 				checkmessage(['model not consistent: model ' md.miscellaneous.name ' time_adapt field should be 0 or 1']);
Index: /issm/trunk/src/m/classes/transient.m
===================================================================
--- /issm/trunk/src/m/classes/transient.m	(revision 9852)
+++ /issm/trunk/src/m/classes/transient.m	(revision 9853)
@@ -44,5 +44,5 @@
 
 		end % }}}
-		function checkconsistency(obj,md) % {{{
+		function checkconsistency(obj,md,solution,analyses) % {{{
 			if ~ismember(md.transient.isdiagnostic,[0 1]),
 				checkmessage('model not consistent: transient.isdiagnostic should be a scalar (1 or 0)');
Index: /issm/trunk/src/m/classes/verbose.m
===================================================================
--- /issm/trunk/src/m/classes/verbose.m	(revision 9852)
+++ /issm/trunk/src/m/classes/verbose.m	(revision 9853)
@@ -99,5 +99,5 @@
 		end
 		%}}}
-		function checkconsistency(obj,md) % {{{
+		function checkconsistency(obj,md,solution,analyses) % {{{
 
 		end % }}}
Index: /issm/trunk/src/m/model/ismodelselfconsistent.m
===================================================================
--- /issm/trunk/src/m/model/ismodelselfconsistent.m	(revision 9852)
+++ /issm/trunk/src/m/model/ismodelselfconsistent.m	(revision 9853)
@@ -8,16 +8,25 @@
 modelconsistency(true);
 
+%Get solution and associated analyses
+solution=md.private.solution;
+[analyses,numanalyses]=AnalysisConfiguration(solution);
+
 %Go through al model field check that it is a class and call checkconsistency
 fields=properties(md);
 for i=1:length(fields),
 	field=fields{i};
+
+	%Some properties do not need to be checked
 	if ismember(field,{'results' 'debug' 'radaroverlay'}),
 		continue;
 	end
+
+	%Check that current field is an object
 	if ~isobject(md.(field))
 		checkmessage(['field ''' char(field) ''' is not an object']);
-	else
-		md.(field).checkconsistency(md);
 	end
+
+	%Check consistency of the object
+	md.(field).checkconsistency(md,solution,analyses);
 end
 
