Index: /issm/trunk/src/m/classes/hydrology.m
===================================================================
--- /issm/trunk/src/m/classes/hydrology.m	(revision 9861)
+++ /issm/trunk/src/m/classes/hydrology.m	(revision 9862)
@@ -54,8 +54,6 @@
 			if ~ismember(HydrologyAnalysisEnum,analyses), return; end
 
-
-			fields={'spcwatercolumn'};
-			checkforcing(md,'hydrology',fields);
-
+			checkfield(md,'hydrology.spcwatercolumn','forcing',1);
+			checkfield(md,'hydrology.stabilization','>=',0);
 		end % }}}
 		function disp(obj) % {{{
Index: /issm/trunk/src/m/classes/initialization.m
===================================================================
--- /issm/trunk/src/m/classes/initialization.m	(revision 9861)
+++ /issm/trunk/src/m/classes/initialization.m	(revision 9862)
@@ -44,22 +44,18 @@
 			if ismember(DiagnosticHorizAnalysisEnum,analyses)
 				if ~isnan(md.initialization.vx) & ~isnan(md.initialization.vy),
-					fields={'vx','vy'};
-					checknan(md, 'initialization',fields);
-					checksize(md,'initialization',fields,[md.mesh.numberofvertices 1]);
+					checkfield(md,'initialization.vx','NaN',1,'size',[md.mesh.numberofvertices 1]);
+					checkfield(md,'initialization.vy','NaN',1,'size',[md.mesh.numberofvertices 1]);
 				end
 			end
 			if ismember(PrognosticAnalysisEnum,analyses),
-				fields={'vx','vy'};
-				checknan(md, 'initialization',fields);
-				checksize(md,'initialization',fields,[md.mesh.numberofvertices 1]);
+				checkfield(md,'initialization.vx','NaN',1,'size',[md.mesh.numberofvertices 1]);
+				checkfield(md,'initialization.vy','NaN',1,'size',[md.mesh.numberofvertices 1]);
 			end
 			if ismember(HydrologyAnalysisEnum,analyses),
-				fields={'watercolumn'};
-				checksize(md,'initialization',fields,[md.mesh.numberofvertices 1]);
+				checkfield(md,'initialization.watercolumn','NaN',1,'size',[md.mesh.numberofvertices 1]);
 			end
 			if ismember(BalancethicknessAnalysisEnum,analyses),
-				fields={'vx','vy'};
-				checksize(md,'initialization',fields,[md.mesh.numberofvertices 1]);
-				checknan(md, 'initialization',fields);
+				checkfield(md,'initialization.vx','NaN',1,'size',[md.mesh.numberofvertices 1]);
+				checkfield(md,'initialization.vy','NaN',1,'size',[md.mesh.numberofvertices 1]);
 				%Triangle with zero velocity
 				if any(sum(abs(md.initialization.vx(md.mesh.elements)),2)==0 & sum(abs(md.initialization.vy(md.mesh.elements)),2)==0)
@@ -68,7 +64,8 @@
 			end
 			if ismember(ThermalAnalysisEnum,analyses),
-				fields={'vx','vy','vz','pressure'};
-				checksize(md,'initialization',fields,[md.mesh.numberofvertices 1]);
-				checknan(md, 'initialization',fields);
+				checkfield(md,'initialization.vx','NaN',1,'size',[md.mesh.numberofvertices 1]);
+				checkfield(md,'initialization.vy','NaN',1,'size',[md.mesh.numberofvertices 1]);
+				checkfield(md,'initialization.vz','NaN',1,'size',[md.mesh.numberofvertices 1]);
+				checkfield(md,'initialization.pressure','NaN',1,'size',[md.mesh.numberofvertices 1]);
 			end
 		end % }}}
Index: /issm/trunk/src/m/classes/inversion.m
===================================================================
--- /issm/trunk/src/m/classes/inversion.m	(revision 9861)
+++ /issm/trunk/src/m/classes/inversion.m	(revision 9862)
@@ -8,8 +8,8 @@
 		iscontrol                   = modelfield('default',0,'marshall',true,'format','Boolean');
 		control_parameters          = modelfield('default',NaN,'marshall',true,'preprocess','marshallcontroltype','format','DoubleMat','mattype',3);
-		cost_functions_coefficients = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1);
 		nsteps                      = modelfield('default',0,'marshall',true,'format','Integer');
 		maxiter_per_step            = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',3);
 		cost_functions              = modelfield('default',NaN,'marshall',true,'preprocess','marshallcmresponses','format','DoubleMat','mattype',3);
+		cost_functions_coefficients = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1);
 		gradient_scaling            = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',3);
 		cost_function_threshold     = modelfield('default',0,'marshall',true,'format','Double');
@@ -91,53 +91,25 @@
 			if ~obj.iscontrol, return; end
 
-			%Check NaN
-			fields={'nsteps','maxiter_per_step'};
-			checknan(md,'inversion',fields);
-
-			%CONTROL TYPE
 			num_controls=numel(md.inversion.control_parameters);
 			num_costfunc=size(md.inversion.cost_functions,2);
-			if ~iscell(md.inversion.control_parameters)
-				checkmessage(['model not consistent: model ' md.miscellaneous.name ' inversion.control_parameters field should be a cell of strings']);
-			end
-			if ~ismember(md.inversion.control_parameters,{'BalancethicknessThickeningRate' 'FrictionCoefficient' 'MaterialsRheologyBbar' 'Vx' 'Vy'});
-				checkmessage(['model not consistent: model ' md.miscellaneous.name ' inversion.control_parameters field should be ''BalancethicknessThickeningRate'' ''FrictionCoefficient'' ''MaterialsRheologyBbar'' ''Vx'' ''Vy''']);
-			end
 
-			%LENGTH CONTROL FIELDS
-			fields={'maxiter_per_step','step_threshold'};
-			checksize(md,'inversion',fields,[md.inversion.nsteps 1]);
-			fields={'cost_functions'};
-			checksize(md,'inversion',fields,[md.inversion.nsteps num_costfunc]);
-			fields={'gradient_scaling'};
-			checksize(md,'inversion',fields,[md.inversion.nsteps num_controls]);
-			fields={'min_parameters','max_parameters'};
-			checksize(md,'inversion',fields,[md.mesh.numberofvertices num_controls]);
+			checkfield(md,'inversion.iscontrol','values',[0 1]);
+			checkfield(md,'inversion.control_parameters','cell',1,'values',{'BalancethicknessThickeningRate' 'FrictionCoefficient' 'MaterialsRheologyBbar' 'Vx' 'Vy'});
+			checkfield(md,'inversion.nsteps','numel',1,'>=',1);
+			checkfield(md,'inversion.maxiter','numel',1,'>=',0);
+			checkfield(md,'inversion.maxiter_per_step','size',[md.inversion.nsteps 1]);
+			checkfield(md,'inversion.step_threshold','size',[md.inversion.nsteps 1]);
+			checkfield(md,'inversion.cost_functions','size',[md.inversion.nsteps num_costfunc],'values',[101:105 201 501:503]);
+			checkfield(md,'inversion.cost_functions_coefficients','size',[md.inversion.numberofvertices num_costfunc],'>=',0);
+			checkfield(md,'inversion.gradient_only','values',[0 1]);
+			checkfield(md,'inversion.gradient_scaling','size',[md.inversion.nsteps num_controls]);
+			checkfield(md,'inversion.min_parameters','size',[md.mesh.numberofvertices num_controls]);
+			checkfield(md,'inversion.max_parameters','size',[md.mesh.numberofvertices num_controls]);
 
-			%RESPONSES
-			checkvalues(md,'inversion',{'cost_functions'},[101:105 201 501:503]);
-
-			%WEIGHTS
-			fields={'cost_functions_coefficients'};
-			checksize(md,'inversion',fields,[md.mesh.numberofvertices num_costfunc]);
-			checkgreater(md,'inversion',fields,0);
-
-			%OBSERVED VELOCITIES
 			if solution==BalancethicknessSolutionEnum
-				fields={'thickness_obs'};
-				checksize(md,'inversion',fields,[md.mesh.numberofvertices 1]);
-				checknan(md,'inversion',fields);
+				checkfield(md,'inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
 			else
-				fields={'vx_obs','vy_obs'};
-				checksize(md,'inversion',fields,[md.mesh.numberofvertices 1]);
-				checknan(md,'inversion',fields);
-			end
-
-			%DIRICHLET IF THICKNESS <= 0
-			if any(md.geometry.thickness<=0),
-				pos=find(md.geometry.thickness<=0);
-				if any(isnan(md.balancethickness.spcthickness(pos))),
-					checkmessage(['model not consistent: model ' md.miscellaneous.name ' has some nodes with 0 thickness']);
-				end
+				checkfield(md,'inversion.vx_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
+				checkfield(md,'inversion.vy_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
 			end
 		end % }}}
Index: /issm/trunk/src/m/classes/mask.m
===================================================================
--- /issm/trunk/src/m/classes/mask.m	(revision 9861)
+++ /issm/trunk/src/m/classes/mask.m	(revision 9862)
@@ -41,13 +41,10 @@
 		function checkconsistency(obj,md,solution,analyses) % {{{
 
-			fields=properties('mask');
-			checknan(md,'mask',fields);
-			checkvalues(md,'mask',fields,[0 1]);
-
-			fields={'elementonfloatingice','elementongroundedice','elementonwater'};
-			checksize(md,'mask',fields,[md.mesh.numberofelements 1]);
-
-			fields={'vertexonfloatingice','vertexongroundedice','vertexonwater'};
-			checksize(md,'mask',fields,[md.mesh.numberofvertices 1]);
+			checkfield(md,'mask.elementonfloatingice','size',[md.mesh.numberofelements 1],'values',[0 1]);
+			checkfield(md,'mask.elementongroundedice','size',[md.mesh.numberofelements 1],'values',[0 1]);
+			checkfield(md,'mask.elementonwater'      ,'size',[md.mesh.numberofelements 1],'values',[0 1]);
+			checkfield(md,'mask.vertexonfloatingice','size',[md.mesh.numberofvertices 1],'values',[0 1]);
+			checkfield(md,'mask.vertexongroundedice','size',[md.mesh.numberofvertices 1],'values',[0 1]);
+			checkfield(md,'mask.vertexonwater'      ,'size',[md.mesh.numberofvertices 1],'values',[0 1]);
 		end % }}}
 		function disp(obj) % {{{
Index: /issm/trunk/src/m/classes/materials.m
===================================================================
--- /issm/trunk/src/m/classes/materials.m	(revision 9861)
+++ /issm/trunk/src/m/classes/materials.m	(revision 9862)
@@ -76,17 +76,9 @@
 		end % }}}
 		function checkconsistency(obj,md,solution,analyses) % {{{
-			fields={'rho_ice','rho_water','rheology_B','rheology_n'};
-			checknan(md,'materials',fields);
-			checkgreater(md,'materials',fields,0);
-
-			fields={'rheology_n'};
-			checksize(md,'materials',fields,[md.mesh.numberofelements 1]);
-
-			fields={'rheology_B'};
-			checksize(md,'materials',fields,[md.mesh.numberofvertices 1]);
-
-			if ~ismember({md.materials.rheology_law},{'None' 'Paterson' 'Arrhenius'}),
-				checkmessage(['model not consistent: model ' md.miscellaneous.name ' rheology_law field should be ''none'' ''paterson'' or ''arrhenius''']);
-			end
+			checkfield(md,'materials.rho_ice','>',0);
+			checkfield(md,'materials.rho_water','>',0);
+			checkfield(md,'materials.rheology_B','>',0,'size',[md.mesh.numberofvertices 1]);
+			checkfield(md,'materials.rheology_n','>',0,'size',[md.mesh.numberofelements 1]);
+			checkfield(md,'materials.rheology_law','values',{'None' 'Paterson' 'Arrhenius'});
 		end % }}}
 		function disp(obj) % {{{
Index: /issm/trunk/src/m/classes/miscellaneous.m
===================================================================
--- /issm/trunk/src/m/classes/miscellaneous.m	(revision 9861)
+++ /issm/trunk/src/m/classes/miscellaneous.m	(revision 9862)
@@ -28,6 +28,5 @@
 		function checkconsistency(obj,md,solution,analyses) % {{{
 
-			fields={'name'};
-			checknonempty(md,'miscellaneous',fields);
+			checkfield(md,'miscellaneous.name','empty',1);
 
 		end % }}}
Index: /issm/trunk/src/m/classes/prognostic.m
===================================================================
--- /issm/trunk/src/m/classes/prognostic.m	(revision 9861)
+++ /issm/trunk/src/m/classes/prognostic.m	(revision 9862)
@@ -51,13 +51,7 @@
 			if ~ismember(PrognosticAnalysisEnum,analyses), return; end
 
-			if ~ismember(md.prognostic.hydrostatic_adjustment,{'Absolute' 'Incremental'}),
-				checkmessage(['model not consistent: model ' md.miscellaneous.name ' prognostic.hydrostatic_adjustment field should be AbsoluteEnum or IncrementalEnum']);
-			end
-
-			fields={'spcthickness'};
-			checkforcing(md,'prognostic',fields);
-			if ~ismember(obj.stabilization,[0 1 3]),
-				checkmessage('prognostic.stabilization should be a scalar (0 or 1 or 3)');
-			end
+			checkfield(md,'prognostic.spcthickness','forcing',1);
+			checkfield(md,'prognostic.hydrostatic_adjustment','values',{'Absolute' 'Incremental'});
+			checkfield(md,'prognostic.stabilization','values',[0 1 3]);
 
 		end % }}}
Index: /issm/trunk/src/m/classes/rifts.m
===================================================================
--- /issm/trunk/src/m/classes/rifts.m	(revision 9861)
+++ /issm/trunk/src/m/classes/rifts.m	(revision 9862)
@@ -47,6 +47,5 @@
 					checkmessage(['model should be processed for rifts (run meshprocessrifts)!']);
 				end
-				%Check that rifts are filled with proper material
-				checkvalues(md,'rifts',{'riftstruct.fill'},[WaterEnum() AirEnum() IceEnum() MelangeEnum()]);
+				checkfield(md,'rifts.riftstruct.fill','values',[WaterEnum() AirEnum() IceEnum() MelangeEnum()]);
 			else
 				if ~isnans(obj.riftstruct),
Index: /issm/trunk/src/m/classes/settings.m
===================================================================
--- /issm/trunk/src/m/classes/settings.m	(revision 9861)
+++ /issm/trunk/src/m/classes/settings.m	(revision 9862)
@@ -54,7 +54,9 @@
 		function checkconsistency(obj,md,solution,analyses) % {{{
 
-			fields={'lowmem'};
-			checknan(md,'settings',fields);
-			checkvalues(md,'settings',fields,[0 1]);
+			checkfield(md,'settings.io_gather','numel',1,'values',[0 1]);
+			checkfield(md,'settings.lowmem','numel',1,'values',[0 1]);
+			checkfield(md,'settings.results_on_vertices','numel',1,'values',[0 1]);
+			checkfield(md,'settings.output_frequency','numel',1,'>=',1);
+			checkfield(md,'settings.waitonlock','numel',1);
 
 		end % }}}
Index: /issm/trunk/src/m/classes/surfaceforcings.m
===================================================================
--- /issm/trunk/src/m/classes/surfaceforcings.m	(revision 9861)
+++ /issm/trunk/src/m/classes/surfaceforcings.m	(revision 9862)
@@ -38,11 +38,8 @@
 
 			if ismember(PrognosticAnalysisEnum,analyses),
-				fields={'mass_balance'};
-				checkforcing(md,'surfaceforcings',fields);
+				checkfield(md,'surfaceforcings.mass_balance','forcing',1,'NaN',1);
 			end
 			if ismember(BalancethicknessAnalysisEnum,analyses),
-				fields={'mass_balance'};
-				checksize(md,'surfaceforcings',fields,[md.mesh.numberofvertices 1]);
-				checknan(md, 'surfaceforcings',fields);
+				checkfield(md,'surfaceforcings.mass_balance','size',[md.mesh.numberofvertices 1],'NaN',1);
 			end
 		end % }}}
Index: /issm/trunk/src/m/classes/thermal.m
===================================================================
--- /issm/trunk/src/m/classes/thermal.m	(revision 9861)
+++ /issm/trunk/src/m/classes/thermal.m	(revision 9862)
@@ -55,11 +55,6 @@
 			if ~ismember(ThermalAnalysisEnum,analyses), return; end
 
-			if ~ismember(obj.stabilization,[0 1 2]),
-				checkmessage('thermal.stabilization should be a scalar (0 or 1 or 2)');
-			end
-
-			fields={'spctemperature'};
-			checkforcing(md,'thermal',fields);
-
+			checkfield(md,'thermal.stabilization','numel',1,'values',[0 1 2]);
+			checkfield(md,'thermal.spctemperature','forcing',1);
 		end % }}}
 		function disp(obj) % {{{
Index: /issm/trunk/src/m/classes/timestepping.m
===================================================================
--- /issm/trunk/src/m/classes/timestepping.m	(revision 9861)
+++ /issm/trunk/src/m/classes/timestepping.m	(revision 9862)
@@ -47,13 +47,7 @@
 		end % }}}
 		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']);
-			end
-			if(md.timestepping.cfl_coefficient>1 | md.timestepping.cfl_coefficient<0),
-				checkmessage(['model not consistent: model ' md.miscellaneous.name ' cfl_coefficient field should between  0 and 1']);
-			end
-			if(md.timestepping.cfl_coefficient>1 | md.timestepping.cfl_coefficient<0),
-				checkmessage(['model not consistent: model ' md.miscellaneous.name ' cfl_coefficient field should between  0 and 1']);
-			end
+
+			checkfield(md,'timestepping.time_adapt','numel',1,'values',[0 1]);
+			checkfield(md,'timestepping.cfl_coefficient','numel',1,'>',0,'<=',1);
 		end % }}}
 		function disp(obj) % {{{
Index: /issm/trunk/src/m/classes/transient.m
===================================================================
--- /issm/trunk/src/m/classes/transient.m	(revision 9861)
+++ /issm/trunk/src/m/classes/transient.m	(revision 9862)
@@ -49,17 +49,8 @@
 			if solution~=TransientSolutionEnum, return; end
 
-			%check flags
-			if ~ismember(md.transient.isdiagnostic,[0 1]),
-				checkmessage('model not consistent: transient.isdiagnostic should be a scalar (1 or 0)');
-			end
-			if ~ismember(md.transient.isprognostic,[0 1]),
-				checkmessage('model not consistent: transient.isprognostic should be a scalar (1 or 0)');
-			end
-			if ~ismember(md.transient.isthermal,[0 1]),
-				checkmessage('model not consistent: transient.isthermal should be a scalar (1 or 0)');
-			end
-			if ~ismember(md.transient.isgroundingline,[0 1]),
-				checkmessage('model not consistent: transient.isgroundingline should be a scalar (1 or 0)');
-			end
+			checkfield(md,'transient.isprognostic','numel',1,'values',[0 1]);
+			checkfield(md,'transient.isdiagnostic','numel',1,'values',[0 1]);
+			checkfield(md,'transient.isthermal','numel',1,'values',[0 1]);
+			checkfield(md,'transient.isgroundingline','numel',1,'values',[0 1]);
 
 			%check that groundingline is not activated in serial model
Index: /issm/trunk/src/m/utils/consistency/checkfield.m
===================================================================
--- /issm/trunk/src/m/utils/consistency/checkfield.m	(revision 9861)
+++ /issm/trunk/src/m/utils/consistency/checkfield.m	(revision 9862)
@@ -13,4 +13,6 @@
 %      - values: cell of strings or vector of acceptable values
 %      - numel: list of acceptable number of elements
+%      - cell: 1 if check that is cell
+%      - empty: 1 if check that non empty
 %      - message: overloaded error message
 %
@@ -28,4 +30,12 @@
 %get field from model
 eval(['field=md.' fieldname ';']);
+
+%check empty
+if exist(options,'empty')
+	if isempty(field),
+		checkmessage(getfieldvalue(options,'message',...
+			['field ''' fieldname ''' is empty']));
+	end
+end
 
 %Check size
@@ -73,4 +83,12 @@
 		checkmessage(getfieldvalue(options,'message',...
 			['NaN values found in field ''' fieldname '''']));
+	end
+end
+
+%check NaN
+if getfieldvalue(options,'cell',0);
+	if ~iscell(field),
+		checkmessage(getfieldvalue(options,'message',...
+			['field ''' fieldname ''' should be a cell']));
 	end
 end
Index: sm/trunk/src/m/utils/consistency/checkforcing.m
===================================================================
--- /issm/trunk/src/m/utils/consistency/checkforcing.m	(revision 9861)
+++ 	(revision )
@@ -1,25 +1,0 @@
-function checkforcing(md,obj,fields)
-%CHECKFORCING - checkforcing
-%
-%   Used to check model consistency
-%
-%   Usage:
-%      checkforcing(md,obj,fields);
-
-for i=1:length(fields),
-	eval(['field=md.' obj '.' fields{i} ';']);
-	if size(field,1)==md.mesh.numberofvertices,
-		if ~size(field,2)==1,
-			checkmessage(['field ''' obj '.' fields{i} ''' should have only one column as there are md.mesh.numberofvertices lines']);
-		end
-	elseif size(field,1)==md.mesh.numberofvertices+1
-		if any(field(end,:)~=sort(field(end,:))),
-			checkmessage(['field ''' obj '.' fields{i} ''' columns should be chronological']);
-		end
-		if any(field(end,1:end-1)==field(end,2:end)),
-			checkmessage(['field ''' obj '.' fields{i} ''' columns must not contain duplicate timesteps']);
-		end
-	else
-		checkmessage(['field ''' obj '.' fields{i} ''' should have md.mesh.numberofvertices or md.mesh.numberofvertices+1 lines']);
-	end
-end
Index: sm/trunk/src/m/utils/consistency/checkgreater.m
===================================================================
--- /issm/trunk/src/m/utils/consistency/checkgreater.m	(revision 9861)
+++ 	(revision )
@@ -1,14 +1,0 @@
-function checkgreater(md,obj,fields,lowerbound)
-%CHECKGREATER - checkgreater
-%
-%   Used to check model consistency
-%
-%   Usage:
-%      checkgreater(md,obj,field);
-
-for i=1:length(fields),
-	eval(['field=md.' obj '.' fields{i} ';']);
-	if any(field<lowerbound),
-		checkmessage(['field ''' obj '.' fields{i} ''' should have values above ' num2str(lowerbound)]);
-	end
-end
Index: sm/trunk/src/m/utils/consistency/checkgreaterstrict.m
===================================================================
--- /issm/trunk/src/m/utils/consistency/checkgreaterstrict.m	(revision 9861)
+++ 	(revision )
@@ -1,14 +1,0 @@
-function checkgreaterstrict(md,obj,fields,lowerbound)
-%CHECKGREATERSTRICT - checkgreaterstrict
-%
-%   Used to check model consistency
-%
-%   Usage:
-%      checkgreaterstrict(md,obj,field);
-
-for i=1:length(fields),
-	eval(['field=md.' obj '.' fields{i} ';']);
-	if any(field<=lowerbound),
-		checkmessage(['field ''' obj '.' fields{i} ''' should have values stricly above ' num2str(lowerbound)]);
-	end
-end
Index: sm/trunk/src/m/utils/consistency/checklength.m
===================================================================
--- /issm/trunk/src/m/utils/consistency/checklength.m	(revision 9861)
+++ 	(revision )
@@ -1,14 +1,0 @@
-function checklength(md,obj,fields,fieldlength)
-%CHECKLENGTH - checklength
-%
-%   Used to check model consistency
-%
-%   Usage:
-%      checklength(md,obj,field);
-
-for i=1:length(fields),
-	eval(['field=md.' obj '.' fields{i} ';']);
-	if length(field)~=fieldlength,
-		checkmessage(['field ''' obj '.' fields{i} ''' length should be ' num2str(fieldlength)]);
-	end
-end
Index: sm/trunk/src/m/utils/consistency/checkless.m
===================================================================
--- /issm/trunk/src/m/utils/consistency/checkless.m	(revision 9861)
+++ 	(revision )
@@ -1,14 +1,0 @@
-function checkless(md,obj,fields,upperbound)
-%CHECKLESS - checkless
-%
-%   Used to check model consistency
-%
-%   Usage:
-%      checkless(md,obj,field);
-
-for i=1:length(fields),
-	eval(['field=md.' obj '.' fields{i} ';']);
-	if any(field>upperbound),
-		checkmessage(['field ''' obj '.' fields{i} ''' should have values below ' num2str(upperbound)]);
-	end
-end
Index: sm/trunk/src/m/utils/consistency/checklessstrict.m
===================================================================
--- /issm/trunk/src/m/utils/consistency/checklessstrict.m	(revision 9861)
+++ 	(revision )
@@ -1,14 +1,0 @@
-function checklessstrict(md,obj,fields,upperbound)
-%CHECKLESSSTRICT - checklessstrict
-%
-%   Used to check model consistency
-%
-%   Usage:
-%      checklessstrict(md,obj,field);
-
-for i=1:length(fields),
-	eval(['field=md.' obj '.' fields{i} ';']);
-	if any(field>=upperbound),
-		checkmessage(['field ''' obj '.' fields{i} ''' should have values stricly below ' num2str(upperbound)]);
-	end
-end
Index: sm/trunk/src/m/utils/consistency/checknan.m
===================================================================
--- /issm/trunk/src/m/utils/consistency/checknan.m	(revision 9861)
+++ 	(revision )
@@ -1,14 +1,0 @@
-function checknan(md,obj,fields)
-%CHECKNAN - checknan
-%
-%   Used to check model consistency
-%
-%   Usage:
-%      checknan(md,obj,field);
-
-for i=1:length(fields),
-	eval(['field=md.' obj '.' fields{i} ';']);
-	if any(isnan(field)),
-		checkmessage(['NaN values found in field ''' obj '.' fields{i}'''']);
-	end
-end
Index: sm/trunk/src/m/utils/consistency/checknonempty.m
===================================================================
--- /issm/trunk/src/m/utils/consistency/checknonempty.m	(revision 9861)
+++ 	(revision )
@@ -1,14 +1,0 @@
-function checknonempty(md,obj,fields)
-%CHECKNONEMPTY - checknonempty
-%
-%   Used to check model consistency
-%
-%   Usage:
-%      checknonempty(md,obj,field);
-
-for i=1:length(fields),
-	eval(['field=md.' obj '.' fields{i} ';']);
-	if isempty(field),
-		checkmessage(['field ''' obj '.' fields{i} ''' is empty']);
-	end
-end
Index: sm/trunk/src/m/utils/consistency/checkreal.m
===================================================================
--- /issm/trunk/src/m/utils/consistency/checkreal.m	(revision 9861)
+++ 	(revision )
@@ -1,14 +1,0 @@
-function checkreal(md,obj,fields)
-%CHECKREAL - checkreal
-%
-%   Used to check model consistency
-%
-%   Usage:
-%      checkreal(md,obj,field);
-
-for i=1:length(fields),
-	eval(['field=md.' obj '.' fields{i} ';']);
-	if any(~isreal(field))
-		checkmessage(['complex values found in field ''' obj '.' fields{i}'''']);
-	end
-end
Index: sm/trunk/src/m/utils/consistency/checksize.m
===================================================================
--- /issm/trunk/src/m/utils/consistency/checksize.m	(revision 9861)
+++ 	(revision )
@@ -1,24 +1,0 @@
-function checksize(md,obj,fields,fieldsize)
-%CHECKSIZE - checksize
-%
-%   Used to check model consistency
-%
-%   Usage:
-%      checksize(md,obj,field);
-
-for i=1:length(fields),
-	eval(['field=md.' obj '.' fields{i} ';']);
-	if isnan(fieldsize(1)),
-		if (size(field,2)~=fieldsize(2)),
-			checkmessage(['field ''' obj '.' fields{i} ''' should have ' num2str(fieldsize(2)) ' columns']);
-		end
-	elseif isnan(fieldsize(2)),
-		if (size(field,1)~=fieldsize(1)),
-			checkmessage(['field ''' obj '.' fields{i} ''' should have ' num2str(fieldsize(1)) ' rows']);
-		end
-	else
-		if ((size(field)~=fieldsize(1)) |  (size(field,2)~=fieldsize(2)))
-			checkmessage(['field ''' obj '.' fields{i} ''' size should be ' num2str(fieldsize(1)) ' x ' num2str(fieldsize(2))]);
-		end
-	end
-end
Index: sm/trunk/src/m/utils/consistency/checkvalues.m
===================================================================
--- /issm/trunk/src/m/utils/consistency/checkvalues.m	(revision 9861)
+++ 	(revision )
@@ -1,14 +1,0 @@
-function checkvalues(md,obj,fields,values)
-%CHECKVALUES - checkvalues
-%
-%   Used to check model consistency
-%
-%   Usage:
-%      checkvalues(md,obj,field);
-
-for i=1:length(fields),
-	eval(['field=md.' obj '.' fields{i} ';']);
-	if any(~ismember(field,values)),
-		checkmessage(['field ''' obj '.' fields{i} ''' should have values in ' num2str(values)]);
-	end
-end
