Index: issm/trunk-jpl/src/m/classes/diagnostic.m
===================================================================
--- issm/trunk-jpl/src/m/classes/diagnostic.m	(revision 13032)
+++ issm/trunk-jpl/src/m/classes/diagnostic.m	(revision 13040)
@@ -76,5 +76,5 @@
 			md = checkfield(md,'diagnostic.reltol','size',[1 1]);
 			md = checkfield(md,'diagnostic.abstol','size',[1 1]);
-			md = checkfield(md,'diagnostic.isnewton','numel',1,'values',[0 1]);
+			md = checkfield(md,'diagnostic.isnewton','numel',[1],'values',[0 1]);
 			md = checkfield(md,'diagnostic.stokesreconditioning','size',[1 1],'NaN',1);
 			md = checkfield(md,'diagnostic.viscosity_overshoot','size',[1 1],'NaN',1);
Index: issm/trunk-jpl/src/m/classes/diagnostic.py
===================================================================
--- issm/trunk-jpl/src/m/classes/diagnostic.py	(revision 13032)
+++ issm/trunk-jpl/src/m/classes/diagnostic.py	(revision 13040)
@@ -125,5 +125,5 @@
 		md = checkfield(md,'diagnostic.reltol','size',[1])
 		md = checkfield(md,'diagnostic.abstol','size',[1])
-		md = checkfield(md,'diagnostic.isnewton','numel',1,'values',[0,1])
+		md = checkfield(md,'diagnostic.isnewton','numel',[1],'values',[0,1])
 		md = checkfield(md,'diagnostic.stokesreconditioning','size',[1,1],'NaN',1)
 		md = checkfield(md,'diagnostic.viscosity_overshoot','size',[1,1],'NaN',1)
Index: issm/trunk-jpl/src/m/classes/flowequation.m
===================================================================
--- issm/trunk-jpl/src/m/classes/flowequation.m	(revision 13032)
+++ issm/trunk-jpl/src/m/classes/flowequation.m	(revision 13040)
@@ -31,7 +31,7 @@
 			if ismember(DiagnosticHorizAnalysisEnum(),analyses),
 
-				md = checkfield(md,'flowequation.ismacayealpattyn','numel',1,'values',[0 1]);
-				md = checkfield(md,'flowequation.ishutter','numel',1,'values',[0 1]);
-				md = checkfield(md,'flowequation.isstokes','numel',1,'values',[0 1]);
+				md = checkfield(md,'flowequation.ismacayealpattyn','numel',[1],'values',[0 1]);
+				md = checkfield(md,'flowequation.ishutter','numel',[1],'values',[0 1]);
+				md = checkfield(md,'flowequation.isstokes','numel',[1],'values',[0 1]);
 				md = checkfield(md,'flowequation.bordermacayeal','size',[md.mesh.numberofvertices 1],'values',[0 1]);
 				md = checkfield(md,'flowequation.borderpattyn','size',[md.mesh.numberofvertices 1],'values',[0 1]);
Index: issm/trunk-jpl/src/m/classes/flowequation.py
===================================================================
--- issm/trunk-jpl/src/m/classes/flowequation.py	(revision 13032)
+++ issm/trunk-jpl/src/m/classes/flowequation.py	(revision 13040)
@@ -54,7 +54,7 @@
 
 		if DiagnosticHorizAnalysisEnum() in analyses:
-			md = checkfield(md,'flowequation.ismacayealpattyn','numel',1,'values',[0,1])
-			md = checkfield(md,'flowequation.ishutter','numel',1,'values',[0,1])
-			md = checkfield(md,'flowequation.isstokes','numel',1,'values',[0,1])
+			md = checkfield(md,'flowequation.ismacayealpattyn','numel',[1],'values',[0,1])
+			md = checkfield(md,'flowequation.ishutter','numel',[1],'values',[0,1])
+			md = checkfield(md,'flowequation.isstokes','numel',[1],'values',[0,1])
 			md = checkfield(md,'flowequation.bordermacayeal','size',[md.mesh.numberofvertices],'values',[0,1])
 			md = checkfield(md,'flowequation.borderpattyn','size',[md.mesh.numberofvertices],'values',[0,1])
Index: issm/trunk-jpl/src/m/classes/inversion.m
===================================================================
--- issm/trunk-jpl/src/m/classes/inversion.m	(revision 13032)
+++ issm/trunk-jpl/src/m/classes/inversion.m	(revision 13040)
@@ -87,5 +87,5 @@
 			md = checkfield(md,'inversion.incomplete_adjoint','values',[0 1]);
 			md = checkfield(md,'inversion.control_parameters','cell',1,'values',{'BalancethicknessThickeningRate' 'FrictionCoefficient' 'MaterialsRheologyBbar' 'Vx' 'Vy'});
-			md = checkfield(md,'inversion.nsteps','numel',1,'>=',1);
+			md = checkfield(md,'inversion.nsteps','numel',[1],'>=',1);
 			md = checkfield(md,'inversion.maxiter_per_step','size',[md.inversion.nsteps 1],'>=',0);
 			md = checkfield(md,'inversion.step_threshold','size',[md.inversion.nsteps 1]);
Index: issm/trunk-jpl/src/m/classes/inversion.py
===================================================================
--- issm/trunk-jpl/src/m/classes/inversion.py	(revision 13032)
+++ issm/trunk-jpl/src/m/classes/inversion.py	(revision 13040)
@@ -125,5 +125,5 @@
 		md = checkfield(md,'inversion.incomplete_adjoint','values',[0,1])
 		md = checkfield(md,'inversion.control_parameters','cell',1,'values',['BalancethicknessThickeningRate','FrictionCoefficient','MaterialsRheologyBbar','Vx','Vy'])
-		md = checkfield(md,'inversion.nsteps','numel',1,'>=',1)
+		md = checkfield(md,'inversion.nsteps','numel',[1],'>=',1)
 		md = checkfield(md,'inversion.maxiter_per_step','size',[md.inversion.nsteps],'>=',0)
 		md = checkfield(md,'inversion.step_threshold','size',[md.inversion.nsteps])
Index: issm/trunk-jpl/src/m/classes/rifts.py
===================================================================
--- issm/trunk-jpl/src/m/classes/rifts.py	(revision 13032)
+++ issm/trunk-jpl/src/m/classes/rifts.py	(revision 13040)
@@ -40,5 +40,5 @@
 
 	def checkconsistency(self,md,solution,analyses):    # {{{
-		if (not self.riftstruct) or any(isnans(self.riftstruct)):
+		if (not self.riftstruct) or numpy.any(isnans(self.riftstruct)):
 			numrifts=0
 		else:
@@ -50,10 +50,10 @@
 			if not isinstance(self.riftstruct,list):
 				md.checkmessage("rifts.riftstruct should be a structure!")
-			if any(md.mesh.segmentmarkers>=2):
+			if numpy.any(md.mesh.segmentmarkers>=2):
 				#We have segments with rift markers, but no rift structure!
 				md.checkmessage("model should be processed for rifts (run meshprocessrifts)!")
 			md = checkfield(md,'rifts.riftstruct.fill','values',[WaterEnum(),AirEnum(),IceEnum(),MelangeEnum()])
 		else:
-			if any(numpy.logical_not(isnans(self.riftstruct))):
+			if numpy.any(numpy.logical_not(isnans(self.riftstruct))):
 				md.checkmessage("riftstruct shoud be NaN since numrifts is 0!")
 
@@ -64,5 +64,5 @@
 
 		#Process rift info
-		if (not self.riftstruct) or any(isnans(self.riftstruct)):
+		if (not self.riftstruct) or numpy.any(isnans(self.riftstruct)):
 			numrifts=0
 		else:
Index: issm/trunk-jpl/src/m/classes/settings.m
===================================================================
--- issm/trunk-jpl/src/m/classes/settings.m	(revision 13032)
+++ issm/trunk-jpl/src/m/classes/settings.m	(revision 13040)
@@ -43,9 +43,9 @@
 		function md = checkconsistency(obj,md,solution,analyses) % {{{
 
-			md = checkfield(md,'settings.io_gather','numel',1,'values',[0 1]);
-			md = checkfield(md,'settings.lowmem','numel',1,'values',[0 1]);
-			md = checkfield(md,'settings.results_as_patches','numel',1,'values',[0 1]);
-			md = checkfield(md,'settings.output_frequency','numel',1,'>=',1);
-			md = checkfield(md,'settings.waitonlock','numel',1);
+			md = checkfield(md,'settings.io_gather','numel',[1],'values',[0 1]);
+			md = checkfield(md,'settings.lowmem','numel',[1],'values',[0 1]);
+			md = checkfield(md,'settings.results_as_patches','numel',[1],'values',[0 1]);
+			md = checkfield(md,'settings.output_frequency','numel',[1],'>=',1);
+			md = checkfield(md,'settings.waitonlock','numel',[1]);
 
 		end % }}}
Index: issm/trunk-jpl/src/m/classes/settings.py
===================================================================
--- issm/trunk-jpl/src/m/classes/settings.py	(revision 13032)
+++ issm/trunk-jpl/src/m/classes/settings.py	(revision 13040)
@@ -63,9 +63,9 @@
 
 	def checkconsistency(self,md,solution,analyses):    # {{{
-		md = checkfield(md,'settings.io_gather','numel',1,'values',[0,1])
-		md = checkfield(md,'settings.lowmem','numel',1,'values',[0,1])
-		md = checkfield(md,'settings.results_as_patches','numel',1,'values',[0,1])
-		md = checkfield(md,'settings.output_frequency','numel',1,'>=',1)
-		md = checkfield(md,'settings.waitonlock','numel',1)
+		md = checkfield(md,'settings.io_gather','numel',[1],'values',[0,1])
+		md = checkfield(md,'settings.lowmem','numel',[1],'values',[0,1])
+		md = checkfield(md,'settings.results_as_patches','numel',[1],'values',[0,1])
+		md = checkfield(md,'settings.output_frequency','numel',[1],'>=',1)
+		md = checkfield(md,'settings.waitonlock','numel',[1])
 
 		return md
Index: issm/trunk-jpl/src/m/classes/surfaceforcings.m
===================================================================
--- issm/trunk-jpl/src/m/classes/surfaceforcings.m	(revision 13032)
+++ issm/trunk-jpl/src/m/classes/surfaceforcings.m	(revision 13040)
@@ -45,6 +45,6 @@
 
 			if ismember(PrognosticAnalysisEnum(),analyses),
-				md = checkfield(md,'surfaceforcings.ispdd','numel',1,'values',[0 1]);
-				md = checkfield(md,'surfaceforcings.issmbgradients','numel',1,'values',[0 1]);
+				md = checkfield(md,'surfaceforcings.ispdd','numel',[1],'values',[0 1]);
+				md = checkfield(md,'surfaceforcings.issmbgradients','numel',[1],'values',[0 1]);
 				if(obj.ispdd)
 					if(obj.isdelta18o==0)
Index: issm/trunk-jpl/src/m/classes/surfaceforcings.py
===================================================================
--- issm/trunk-jpl/src/m/classes/surfaceforcings.py	(revision 13032)
+++ issm/trunk-jpl/src/m/classes/surfaceforcings.py	(revision 13040)
@@ -80,6 +80,6 @@
 
 		if PrognosticAnalysisEnum() in analyses:
-			md = checkfield(md,'surfaceforcings.ispdd','numel',1,'values',[0,1])
-			md = checkfield(md,'surfaceforcings.issmbgradients','numel',1,'values',[0,1])
+			md = checkfield(md,'surfaceforcings.ispdd','numel',[1],'values',[0,1])
+			md = checkfield(md,'surfaceforcings.issmbgradients','numel',[1],'values',[0,1])
 			if   self.ispdd:
 				if not self.isdelta18o:
Index: issm/trunk-jpl/src/m/classes/thermal.m
===================================================================
--- issm/trunk-jpl/src/m/classes/thermal.m	(revision 13032)
+++ issm/trunk-jpl/src/m/classes/thermal.m	(revision 13040)
@@ -45,9 +45,9 @@
 			if (~ismember(ThermalAnalysisEnum(),analyses) & ~ismember(EnthalpyAnalysisEnum(),analyses)) | (solution==TransientSolutionEnum() & md.transient.isthermal==0), return; end
 
-			md = checkfield(md,'thermal.stabilization','numel',1,'values',[0 1 2]);
+			md = checkfield(md,'thermal.stabilization','numel',[1],'values',[0 1 2]);
 			md = checkfield(md,'thermal.spctemperature','forcing',1);
 			if (ismember(EnthalpyAnalysisEnum(),analyses) & md.thermal.isenthalpy & md.mesh.dimension==3),
 				md = checkfield(md,'thermal.spctemperature','<',md.materials.meltingpoint-md.materials.beta*md.materials.rho_ice*md.constants.g*(md.geometry.surface-md.mesh.z),'message','spctemperature should be below the adjusted melting point');
-				md = checkfield(md,'thermal.isenthalpy','numel',1,'values',[0 1]);
+				md = checkfield(md,'thermal.isenthalpy','numel',[1],'values',[0 1]);
 			end
 		end % }}}
Index: issm/trunk-jpl/src/m/classes/thermal.py
===================================================================
--- issm/trunk-jpl/src/m/classes/thermal.py	(revision 13032)
+++ issm/trunk-jpl/src/m/classes/thermal.py	(revision 13040)
@@ -67,9 +67,9 @@
 			return md
 
-		md = checkfield(md,'thermal.stabilization','numel',1,'values',[0,1,2])
+		md = checkfield(md,'thermal.stabilization','numel',[1],'values',[0,1,2])
 		md = checkfield(md,'thermal.spctemperature','forcing',1)
 		if EnthalpyAnalysisEnum() in analyses and md.thermal.isenthalpy and md.mesh.dimension==3:
 			md = checkfield(md,'thermal.spctemperature','<',md.materials.meltingpoint-md.materials.beta*md.materials.rho_ice*md.constants.g*(md.geometry.surface-md.mesh.z),'message',"spctemperature should be below the adjusted melting point")
-			md = checkfield(md,'thermal.isenthalpy','numel',1,'values',[0,1])
+			md = checkfield(md,'thermal.isenthalpy','numel',[1],'values',[0,1])
 
 		return md
Index: issm/trunk-jpl/src/m/classes/timestepping.m
===================================================================
--- issm/trunk-jpl/src/m/classes/timestepping.m	(revision 13032)
+++ issm/trunk-jpl/src/m/classes/timestepping.m	(revision 13040)
@@ -35,9 +35,9 @@
 		function md = checkconsistency(obj,md,solution,analyses) % {{{
 
-			md = checkfield(md,'timestepping.start_time','numel',1,'NaN',1);
-			md = checkfield(md,'timestepping.final_time','numel',1,'NaN',1);
-			md = checkfield(md,'timestepping.time_step','numel',1,'>=',0,'NaN',1);
-			md = checkfield(md,'timestepping.time_adapt','numel',1,'values',[0 1]);
-			md = checkfield(md,'timestepping.cfl_coefficient','numel',1,'>',0,'<=',1);
+			md = checkfield(md,'timestepping.start_time','numel',[1],'NaN',1);
+			md = checkfield(md,'timestepping.final_time','numel',[1],'NaN',1);
+			md = checkfield(md,'timestepping.time_step','numel',[1],'>=',0,'NaN',1);
+			md = checkfield(md,'timestepping.time_adapt','numel',[1],'values',[0 1]);
+			md = checkfield(md,'timestepping.cfl_coefficient','numel',[1],'>',0,'<=',1);
 			if obj.final_time-obj.start_time<0,
 				md = checkmessage(md,'timestepping.final_time should be larger than timestepping.start_time');
Index: issm/trunk-jpl/src/m/classes/timestepping.py
===================================================================
--- issm/trunk-jpl/src/m/classes/timestepping.py	(revision 13032)
+++ issm/trunk-jpl/src/m/classes/timestepping.py	(revision 13040)
@@ -55,9 +55,9 @@
 	def checkconsistency(self,md,solution,analyses):    # {{{
 
-		md = checkfield(md,'timestepping.start_time','numel',1,'NaN',1)
-		md = checkfield(md,'timestepping.final_time','numel',1,'NaN',1)
-		md = checkfield(md,'timestepping.time_step','numel',1,'>=',0,'NaN',1)
-		md = checkfield(md,'timestepping.time_adapt','numel',1,'values',[0,1])
-		md = checkfield(md,'timestepping.cfl_coefficient','numel',1,'>',0,'<=',1)
+		md = checkfield(md,'timestepping.start_time','numel',[1],'NaN',1)
+		md = checkfield(md,'timestepping.final_time','numel',[1],'NaN',1)
+		md = checkfield(md,'timestepping.time_step','numel',[1],'>=',0,'NaN',1)
+		md = checkfield(md,'timestepping.time_adapt','numel',[1],'values',[0,1])
+		md = checkfield(md,'timestepping.cfl_coefficient','numel',[1],'>',0,'<=',1)
 		if self.final_time-self.start_time<0:
 			md.checkmessage("timestepping.final_time should be larger than timestepping.start_time")
Index: issm/trunk-jpl/src/m/classes/transient.m
===================================================================
--- issm/trunk-jpl/src/m/classes/transient.m	(revision 13032)
+++ issm/trunk-jpl/src/m/classes/transient.m	(revision 13040)
@@ -35,8 +35,8 @@
 			if solution~=TransientSolutionEnum(), return; end
 
-			md = checkfield(md,'transient.isprognostic','numel',1,'values',[0 1]);
-			md = checkfield(md,'transient.isdiagnostic','numel',1,'values',[0 1]);
-			md = checkfield(md,'transient.isthermal','numel',1,'values',[0 1]);
-			md = checkfield(md,'transient.isgroundingline','numel',1,'values',[0 1]);
+			md = checkfield(md,'transient.isprognostic','numel',[1],'values',[0 1]);
+			md = checkfield(md,'transient.isdiagnostic','numel',[1],'values',[0 1]);
+			md = checkfield(md,'transient.isthermal','numel',[1],'values',[0 1]);
+			md = checkfield(md,'transient.isgroundingline','numel',[1],'values',[0 1]);
 			md = checkfield(md,'transient.requested_outputs','size',[NaN 1]);
 
Index: issm/trunk-jpl/src/m/classes/transient.py
===================================================================
--- issm/trunk-jpl/src/m/classes/transient.py	(revision 13032)
+++ issm/trunk-jpl/src/m/classes/transient.py	(revision 13040)
@@ -55,8 +55,8 @@
 			return md
 
-		md = checkfield(md,'transient.isprognostic','numel',1,'values',[0,1])
-		md = checkfield(md,'transient.isdiagnostic','numel',1,'values',[0,1])
-		md = checkfield(md,'transient.isthermal','numel',1,'values',[0,1])
-		md = checkfield(md,'transient.isgroundingline','numel',1,'values',[0,1])
+		md = checkfield(md,'transient.isprognostic','numel',[1],'values',[0,1])
+		md = checkfield(md,'transient.isdiagnostic','numel',[1],'values',[0,1])
+		md = checkfield(md,'transient.isthermal','numel',[1],'values',[0,1])
+		md = checkfield(md,'transient.isgroundingline','numel',[1],'values',[0,1])
 		md = checkfield(md,'transient.requested_outputs','size',[float('NaN')])
 
