Index: /issm/trunk-jpl/src/m/classes/SMBcomponents.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBcomponents.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/SMBcomponents.m	(revision 19897)
@@ -50,20 +50,20 @@
 
 			if ismember(MasstransportAnalysisEnum(),analyses),
-				md = checkfield(md,'fieldname','smb.accumulation','timeseries',1,'NaN',1);
+				md = checkfield(md,'fieldname','smb.accumulation','timeseries',1,'NaN',1,'Inf',1);
 			end
 			if ismember(BalancethicknessAnalysisEnum(),analyses),
-				md = checkfield(md,'fieldname','smb.accumulation','size',[md.mesh.numberofvertices 1],'NaN',1);
+				md = checkfield(md,'fieldname','smb.accumulation','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			end
 			if ismember(MasstransportAnalysisEnum(),analyses),
-				md = checkfield(md,'fieldname','smb.runoff','timeseries',1,'NaN',1);
+				md = checkfield(md,'fieldname','smb.runoff','timeseries',1,'NaN',1,'Inf',1);
 			end
 			if ismember(BalancethicknessAnalysisEnum(),analyses),
-				md = checkfield(md,'fieldname','smb.runoff','size',[md.mesh.numberofvertices 1],'NaN',1);
+				md = checkfield(md,'fieldname','smb.runoff','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			end
 			if ismember(MasstransportAnalysisEnum(),analyses),
-				md = checkfield(md,'fieldname','smb.evaporation','timeseries',1,'NaN',1);
+				md = checkfield(md,'fieldname','smb.evaporation','timeseries',1,'NaN',1,'Inf',1);
 			end
 			if ismember(BalancethicknessAnalysisEnum(),analyses),
-				md = checkfield(md,'fieldname','smb.evaporation','size',[md.mesh.numberofvertices 1],'NaN',1);
+				md = checkfield(md,'fieldname','smb.evaporation','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			end
 			md = checkfield(md,'fieldname','smb.requested_outputs','stringrow',1);
Index: /issm/trunk-jpl/src/m/classes/SMBcomponents.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBcomponents.py	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/SMBcomponents.py	(revision 19897)
@@ -56,20 +56,20 @@
 
 		if MasstransportAnalysisEnum() in analyses:
-			md = checkfield(md,'fieldname','smb.accumulation','timeseries',1,'NaN',1)
+			md = checkfield(md,'fieldname','smb.accumulation','timeseries',1,'NaN',1,'Inf',1)
 
 		if BalancethicknessAnalysisEnum() in analyses:
-			md = checkfield(md,'fieldname','smb.accumulation','size',[md.mesh.numberofvertices],'NaN',1)
+			md = checkfield(md,'fieldname','smb.accumulation','size',[md.mesh.numberofvertices],'NaN',1,'Inf',1)
 
 		if MasstransportAnalysisEnum() in analyses:
-			md = checkfield(md,'fieldname','smb.runoff','timeseries',1,'NaN',1)
+			md = checkfield(md,'fieldname','smb.runoff','timeseries',1,'NaN',1,'Inf',1)
 
 		if BalancethicknessAnalysisEnum() in analyses:
-			md = checkfield(md,'fieldname','smb.runoff','size',[md.mesh.numberofvertices],'NaN',1)
+			md = checkfield(md,'fieldname','smb.runoff','size',[md.mesh.numberofvertices],'NaN',1,'Inf',1)
 
 		if MasstransportAnalysisEnum() in analyses:
-			md = checkfield(md,'fieldname','smb.evaporation','timeseries',1,'NaN',1)
+			md = checkfield(md,'fieldname','smb.evaporation','timeseries',1,'NaN',1,'Inf',1)
 
 		if BalancethicknessAnalysisEnum() in analyses:
-			md = checkfield(md,'fieldname','smb.evaporation','size',[md.mesh.numberofvertices],'NaN',1)
+			md = checkfield(md,'fieldname','smb.evaporation','size',[md.mesh.numberofvertices],'NaN',1,'Inf',1)
 		
 		md = checkfield(md,'fieldname','masstransport.requested_outputs','stringrow',1)
Index: /issm/trunk-jpl/src/m/classes/SMBd18opdd.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBd18opdd.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/SMBd18opdd.m	(revision 19897)
@@ -69,12 +69,12 @@
 			if ismember(MasstransportAnalysisEnum(),analyses),
 				md = checkfield(md,'fieldname','smb.desfac','<=',1,'numel',1);
-				md = checkfield(md,'fieldname','smb.s0p','>=',0,'NaN',1,'size',[md.mesh.numberofvertices 1]);
-				md = checkfield(md,'fieldname','smb.s0t','>=',0,'NaN',1,'size',[md.mesh.numberofvertices 1]);
+				md = checkfield(md,'fieldname','smb.s0p','>=',0,'NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
+				md = checkfield(md,'fieldname','smb.s0t','>=',0,'NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
 				md = checkfield(md,'fieldname','smb.rlaps','>=',0,'numel',1);
 				md = checkfield(md,'fieldname','smb.rlapslgm','>=',0,'numel',1);
 				if(self.isd18opd==1) 
-					md = checkfield(md,'fieldname','smb.temperatures_presentday','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1);
-					md = checkfield(md,'fieldname','smb.precipitations_presentday','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1);
-					md = checkfield(md,'fieldname','smb.delta18o','NaN',1,'size',[2,NaN],'singletimeseries',1);
+					md = checkfield(md,'fieldname','smb.temperatures_presentday','size',[md.mesh.numberofvertices+1 12],'NaN',1,'Inf',1,'timeseries',1);
+					md = checkfield(md,'fieldname','smb.precipitations_presentday','size',[md.mesh.numberofvertices+1 12],'NaN',1,'Inf',1,'timeseries',1);
+					md = checkfield(md,'fieldname','smb.delta18o','NaN',1,'Inf',1,'size',[2,NaN],'singletimeseries',1);
 					md = checkfield(md,'fieldname','smb.dpermil','>=',0,'numel',1);
 				end
Index: /issm/trunk-jpl/src/m/classes/SMBd18opdd.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBd18opdd.py	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/SMBd18opdd.py	(revision 19897)
@@ -91,13 +91,13 @@
 		if MasstransportAnalysisEnum() in analyses:
 			md = checkfield(md,'fieldname','smb.desfac','<=',1,'numel',[1])
-			md = checkfield(md,'fieldname','smb.s0p','>=',0,'NaN',1,'size',[md.mesh.numberofvertices,1])
-			md = checkfield(md,'fieldname','smb.s0t','>=',0,'NaN',1,'size',[md.mesh.numberofvertices,1])
+			md = checkfield(md,'fieldname','smb.s0p','>=',0,'NaN',1,'Inf',1,'size',[md.mesh.numberofvertices,1])
+			md = checkfield(md,'fieldname','smb.s0t','>=',0,'NaN',1,'Inf',1,'size',[md.mesh.numberofvertices,1])
 			md = checkfield(md,'fieldname','smb.rlaps','>=',0,'numel',[1])
 			md = checkfield(md,'fieldname','smb.rlapslgm','>=',0,'numel',[1])
 
 			if self.isd18opd:
-				md = checkfield(md,'fieldname','smb.temperatures_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1)
-				md = checkfield(md,'fieldname','smb.precipitations_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1)
-				md = checkfield(md,'fieldname','smb.delta18o','NaN',1,'size',[2,numpy.nan],'singletimeseries',1)
+				md = checkfield(md,'fieldname','smb.temperatures_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1,'Inf',1,'timeseries',1)
+				md = checkfield(md,'fieldname','smb.precipitations_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1,'Inf',1,'timeseries',1)
+				md = checkfield(md,'fieldname','smb.delta18o','NaN',1,'Inf',1,'size',[2,numpy.nan],'singletimeseries',1)
 				md = checkfield(md,'fieldname','smb.dpermil','>=',0,'numel',[1])
 		
Index: /issm/trunk-jpl/src/m/classes/SMBforcing.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBforcing.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/SMBforcing.m	(revision 19897)
@@ -55,8 +55,8 @@
 
 			if ismember(MasstransportAnalysisEnum(),analyses),
-				md = checkfield(md,'fieldname','smb.mass_balance','timeseries',1,'NaN',1);
+				md = checkfield(md,'fieldname','smb.mass_balance','timeseries',1,'NaN',1,'Inf',1);
 			end
 			if ismember(BalancethicknessAnalysisEnum(),analyses),
-				md = checkfield(md,'fieldname','smb.mass_balance','size',[md.mesh.numberofvertices 1],'NaN',1);
+				md = checkfield(md,'fieldname','smb.mass_balance','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			end
 			md = checkfield(md,'fieldname','smb.requested_outputs','stringrow',1);
Index: /issm/trunk-jpl/src/m/classes/SMBforcing.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBforcing.py	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/SMBforcing.py	(revision 19897)
@@ -43,8 +43,8 @@
 
 		if MasstransportAnalysisEnum() in analyses:
-			md = checkfield(md,'fieldname','smb.mass_balance','timeseries',1,'NaN',1)
+			md = checkfield(md,'fieldname','smb.mass_balance','timeseries',1,'NaN',1,'Inf',1)
 
 		if BalancethicknessAnalysisEnum() in analyses:
-			md = checkfield(md,'fieldname','smb.mass_balance','size',[md.mesh.numberofvertices],'NaN',1)
+			md = checkfield(md,'fieldname','smb.mass_balance','size',[md.mesh.numberofvertices],'NaN',1,'Inf',1)
 
 		md = checkfield(md,'fieldname','masstransport.requested_outputs','stringrow',1)
Index: /issm/trunk-jpl/src/m/classes/SMBgemb.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBgemb.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/SMBgemb.m	(revision 19897)
@@ -153,37 +153,37 @@
 		md = checkfield(md,'fieldname','smb.isturbulentflux','values',[0 1]);
 		
-		md = checkfield(md,'fieldname','smb.Ta','timeseries',1,'NaN',1,'>',273-60,'<',273+60); %60 celsius max value
-		md = checkfield(md,'fieldname','smb.V','timeseries',1,'NaN',1,'>=',0,'<',45); %max 500 km/h
-		md = checkfield(md,'fieldname','smb.dswrf','timeseries',1,'NaN',1,'>=',0,'<=',1400);
-		md = checkfield(md,'fieldname','smb.dlwrf','timeseries',1,'NaN',1,'>=',0);
-		md = checkfield(md,'fieldname','smb.P','timeseries',1,'NaN',1,'>=',0,'<=',100);
-		md = checkfield(md,'fieldname','smb.eAir','timeseries',1,'NaN',1);
-		
-		md = checkfield(md,'fieldname','smb.Tmean','size',[md.mesh.numberofelements 1],'NaN',1,'>',273-60,'<',273+60); %60 celsius max value
-		md = checkfield(md,'fieldname','smb.C','size',[md.mesh.numberofelements 1],'NaN',1,'>=',0); 
-		md = checkfield(md,'fieldname','smb.Tz','size',[md.mesh.numberofelements 1],'NaN',1,'>=',0,'<=',5000); 
-		md = checkfield(md,'fieldname','smb.Vz','size',[md.mesh.numberofelements 1],'NaN',1,'>=',0,'<=',5000); 
-		
-		md = checkfield(md,'fieldname','smb.aIdx','NaN',1,'values',[1,2,3,4]);
-		md = checkfield(md,'fieldname','smb.swIdx','NaN',1,'values',[0,1]);
-		md = checkfield(md,'fieldname','smb.denIdx','NaN',1,'values',[1,2,3,4,5]);
-		
-		md = checkfield(md,'fieldname','smb.zTop','NaN',1,'>=',0);
-		md = checkfield(md,'fieldname','smb.dzTop','NaN',1,'>',0);
-		md = checkfield(md,'fieldname','smb.dzMin','NaN',1,'>',0);
-		md = checkfield(md,'fieldname','smb.zY','NaN',1,'>=',1);
-		md = checkfield(md,'fieldname','smb.outputFreq','NaN',1,'>',0,'<',10*365); %10 years max 
-		md = checkfield(md,'fieldname','smb.InitDensityScaling','NaN',1,'>=',0,'<=',1);
+		md = checkfield(md,'fieldname','smb.Ta','timeseries',1,'NaN',1,'Inf',1,'>',273-60,'<',273+60); %60 celsius max value
+		md = checkfield(md,'fieldname','smb.V','timeseries',1,'NaN',1,'Inf',1,'>=',0,'<',45); %max 500 km/h
+		md = checkfield(md,'fieldname','smb.dswrf','timeseries',1,'NaN',1,'Inf',1,'>=',0,'<=',1400);
+		md = checkfield(md,'fieldname','smb.dlwrf','timeseries',1,'NaN',1,'Inf',1,'>=',0);
+		md = checkfield(md,'fieldname','smb.P','timeseries',1,'NaN',1,'Inf',1,'>=',0,'<=',100);
+		md = checkfield(md,'fieldname','smb.eAir','timeseries',1,'NaN',1,'Inf',1);
+		
+		md = checkfield(md,'fieldname','smb.Tmean','size',[md.mesh.numberofelements 1],'NaN',1,'Inf',1,'>',273-60,'<',273+60); %60 celsius max value
+		md = checkfield(md,'fieldname','smb.C','size',[md.mesh.numberofelements 1],'NaN',1,'Inf',1,'>=',0); 
+		md = checkfield(md,'fieldname','smb.Tz','size',[md.mesh.numberofelements 1],'NaN',1,'Inf',1,'>=',0,'<=',5000); 
+		md = checkfield(md,'fieldname','smb.Vz','size',[md.mesh.numberofelements 1],'NaN',1,'Inf',1,'>=',0,'<=',5000); 
+		
+		md = checkfield(md,'fieldname','smb.aIdx','NaN',1,'Inf',1,'values',[1,2,3,4]);
+		md = checkfield(md,'fieldname','smb.swIdx','NaN',1,'Inf',1,'values',[0,1]);
+		md = checkfield(md,'fieldname','smb.denIdx','NaN',1,'Inf',1,'values',[1,2,3,4,5]);
+		
+		md = checkfield(md,'fieldname','smb.zTop','NaN',1,'Inf',1,'>=',0);
+		md = checkfield(md,'fieldname','smb.dzTop','NaN',1,'Inf',1,'>',0);
+		md = checkfield(md,'fieldname','smb.dzMin','NaN',1,'Inf',1,'>',0);
+		md = checkfield(md,'fieldname','smb.zY','NaN',1,'Inf',1,'>=',1);
+		md = checkfield(md,'fieldname','smb.outputFreq','NaN',1,'Inf',1,'>',0,'<',10*365); %10 years max 
+		md = checkfield(md,'fieldname','smb.InitDensityScaling','NaN',1,'Inf',1,'>=',0,'<=',1);
 		
 		switch self.aIdx,
 		case {1 2}
-			md = checkfield(md,'fieldname','smb.aSnow','NaN',1,'>=',.64,'<=',.89);
-			md = checkfield(md,'fieldname','smb.aIce','NaN',1,'>=',.27,'<=',.58);
+			md = checkfield(md,'fieldname','smb.aSnow','NaN',1,'Inf',1,'>=',.64,'<=',.89);
+			md = checkfield(md,'fieldname','smb.aIce','NaN',1,'Inf',1,'>=',.27,'<=',.58);
 		case 3
-			md = checkfield(md,'fieldname','smb.cldFrac','NaN',1,'>=',0,'<=',1);
+			md = checkfield(md,'fieldname','smb.cldFrac','NaN',1,'Inf',1,'>=',0,'<=',1);
 		case 4
-			md = checkfield(md,'fieldname','smb.t0wet','NaN',1,'>=',15,'<=',21.9);
-			md = checkfield(md,'fieldname','smb.t0dry','NaN',1,'>=',30,'<=',30);
-			md = checkfield(md,'fieldname','smb.K','NaN',1,'>=',7,'<=',7);
+			md = checkfield(md,'fieldname','smb.t0wet','NaN',1,'Inf',1,'>=',15,'<=',21.9);
+			md = checkfield(md,'fieldname','smb.t0dry','NaN',1,'Inf',1,'>=',30,'<=',30);
+			md = checkfield(md,'fieldname','smb.K','NaN',1,'Inf',1,'>=',7,'<=',7);
 		end
 		
Index: /issm/trunk-jpl/src/m/classes/SMBgradients.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBgradients.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/SMBgradients.m	(revision 19897)
@@ -42,8 +42,8 @@
 
 			if ismember(MasstransportAnalysisEnum(),analyses),
-				md = checkfield(md,'fieldname','smb.href','timeseries',1,'NaN',1);
-				md = checkfield(md,'fieldname','smb.smbref','timeseries',1,'NaN',1);
-				md = checkfield(md,'fieldname','smb.b_pos','timeseries',1,'NaN',1);
-				md = checkfield(md,'fieldname','smb.b_neg','timeseries',1,'NaN',1);
+				md = checkfield(md,'fieldname','smb.href','timeseries',1,'NaN',1,'Inf',1);
+				md = checkfield(md,'fieldname','smb.smbref','timeseries',1,'NaN',1,'Inf',1);
+				md = checkfield(md,'fieldname','smb.b_pos','timeseries',1,'NaN',1,'Inf',1);
+				md = checkfield(md,'fieldname','smb.b_neg','timeseries',1,'NaN',1,'Inf',1);
 			end
 			md = checkfield(md,'fieldname','smb.requested_outputs','stringrow',1);
Index: /issm/trunk-jpl/src/m/classes/SMBgradients.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBgradients.py	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/SMBgradients.py	(revision 19897)
@@ -49,8 +49,8 @@
 
 		if MasstransportAnalysisEnum() in analyses:
-			md = checkfield(md,'fieldname','smb.href','timeseries',1,'NaN',1)
-			md = checkfield(md,'fieldname','smb.smbref','timeseries',1,'NaN',1)
-			md = checkfield(md,'fieldname','smb.b_pos','timeseries',1,'NaN',1)
-			md = checkfield(md,'fieldname','smb.b_neg','timeseries',1,'NaN',1)
+			md = checkfield(md,'fieldname','smb.href','timeseries',1,'NaN',1,'Inf',1)
+			md = checkfield(md,'fieldname','smb.smbref','timeseries',1,'NaN',1,'Inf',1)
+			md = checkfield(md,'fieldname','smb.b_pos','timeseries',1,'NaN',1,'Inf',1)
+			md = checkfield(md,'fieldname','smb.b_neg','timeseries',1,'NaN',1,'Inf',1)
 
 		md = checkfield(md,'fieldname','masstransport.requested_outputs','stringrow',1)
Index: /issm/trunk-jpl/src/m/classes/SMBhenning.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBhenning.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/SMBhenning.m	(revision 19897)
@@ -36,8 +36,8 @@
 
 			if ismember(MasstransportAnalysisEnum(),analyses),
-				md = checkfield(md,'fieldname','smb.smbref','timeseries',1,'NaN',1);
+				md = checkfield(md,'fieldname','smb.smbref','timeseries',1,'NaN',1,'Inf',1);
 			end
 			if ismember(BalancethicknessAnalysisEnum(),analyses),
-				md = checkfield(md,'fieldname','smb.smbref','size',[md.mesh.numberofvertices 1],'NaN',1);
+				md = checkfield(md,'fieldname','smb.smbref','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			end
 			md = checkfield(md,'fieldname','smb.requested_outputs','stringrow',1);
Index: /issm/trunk-jpl/src/m/classes/SMBmeltcomponents.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBmeltcomponents.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/SMBmeltcomponents.m	(revision 19897)
@@ -54,26 +54,26 @@
 
 			if ismember(MasstransportAnalysisEnum(),analyses),
-				md = checkfield(md,'fieldname','smb.accumulation','timeseries',1,'NaN',1);
+				md = checkfield(md,'fieldname','smb.accumulation','timeseries',1,'NaN',1,'Inf',1);
 			end
 			if ismember(BalancethicknessAnalysisEnum(),analyses),
-				md = checkfield(md,'fieldname','smb.accumulation','size',[md.mesh.numberofvertices 1],'NaN',1);
+				md = checkfield(md,'fieldname','smb.accumulation','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			end
 			if ismember(MasstransportAnalysisEnum(),analyses),
-				md = checkfield(md,'fieldname','smb.evaporation','timeseries',1,'NaN',1);
+				md = checkfield(md,'fieldname','smb.evaporation','timeseries',1,'NaN',1,'Inf',1);
 			end
 			if ismember(BalancethicknessAnalysisEnum(),analyses),
-				md = checkfield(md,'fieldname','smb.evaporation','size',[md.mesh.numberofvertices 1],'NaN',1);
+				md = checkfield(md,'fieldname','smb.evaporation','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			end
 			if ismember(MasstransportAnalysisEnum(),analyses),
-				md = checkfield(md,'fieldname','smb.refreeze','timeseries',1,'NaN',1);
+				md = checkfield(md,'fieldname','smb.refreeze','timeseries',1,'NaN',1,'Inf',1);
 			end
 			if ismember(BalancethicknessAnalysisEnum(),analyses),
-				md = checkfield(md,'fieldname','smb.refreeze','size',[md.mesh.numberofvertices 1],'NaN',1);
+				md = checkfield(md,'fieldname','smb.refreeze','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			end
 			if ismember(MasstransportAnalysisEnum(),analyses),
-				md = checkfield(md,'fieldname','smb.melt','timeseries',1,'NaN',1);
+				md = checkfield(md,'fieldname','smb.melt','timeseries',1,'NaN',1,'Inf',1);
 			end
 			if ismember(BalancethicknessAnalysisEnum(),analyses),
-				md = checkfield(md,'fieldname','smb.melt','size',[md.mesh.numberofvertices 1],'NaN',1);
+				md = checkfield(md,'fieldname','smb.melt','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			end
 			md = checkfield(md,'fieldname','smb.requested_outputs','stringrow',1);
Index: /issm/trunk-jpl/src/m/classes/SMBmeltcomponents.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBmeltcomponents.py	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/SMBmeltcomponents.py	(revision 19897)
@@ -62,26 +62,26 @@
 
 		if MasstransportAnalysisEnum() in analyses:
-			md = checkfield(md,'fieldname','smb.accumulation','timeseries',1,'NaN',1)
+			md = checkfield(md,'fieldname','smb.accumulation','timeseries',1,'NaN',1,'Inf',1)
 
 		if BalancethicknessAnalysisEnum() in analyses:
-			md = checkfield(md,'fieldname','smb.accumulation','size',[md.mesh.numberofvertices],'NaN',1)
+			md = checkfield(md,'fieldname','smb.accumulation','size',[md.mesh.numberofvertices],'NaN',1,'Inf',1)
 
 		if MasstransportAnalysisEnum() in analyses:
-			md = checkfield(md,'fieldname','smb.melt','timeseries',1,'NaN',1)
+			md = checkfield(md,'fieldname','smb.melt','timeseries',1,'NaN',1,'Inf',1)
 
 		if BalancethicknessAnalysisEnum() in analyses:
-			md = checkfield(md,'fieldname','smb.melt','size',[md.mesh.numberofvertices],'NaN',1)
+			md = checkfield(md,'fieldname','smb.melt','size',[md.mesh.numberofvertices],'NaN',1,'Inf',1)
 
 		if MasstransportAnalysisEnum() in analyses:
-			md = checkfield(md,'fieldname','smb.refreeze','timeseries',1,'NaN',1)
+			md = checkfield(md,'fieldname','smb.refreeze','timeseries',1,'NaN',1,'Inf',1)
 
 		if BalancethicknessAnalysisEnum() in analyses:
-			md = checkfield(md,'fieldname','smb.refreeze','size',[md.mesh.numberofvertices],'NaN',1)
+			md = checkfield(md,'fieldname','smb.refreeze','size',[md.mesh.numberofvertices],'NaN',1,'Inf',1)
 
 		if MasstransportAnalysisEnum() in analyses:
-			md = checkfield(md,'fieldname','smb.evaporation','timeseries',1,'NaN',1)
+			md = checkfield(md,'fieldname','smb.evaporation','timeseries',1,'NaN',1,'Inf',1)
 
 		if BalancethicknessAnalysisEnum() in analyses:
-			md = checkfield(md,'fieldname','smb.evaporation','size',[md.mesh.numberofvertices],'NaN',1)
+			md = checkfield(md,'fieldname','smb.evaporation','size',[md.mesh.numberofvertices],'NaN',1,'Inf',1)
 
 		md = checkfield(md,'fieldname','masstransport.requested_outputs','stringrow',1)
Index: /issm/trunk-jpl/src/m/classes/SMBpdd.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBpdd.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/SMBpdd.m	(revision 19897)
@@ -78,28 +78,28 @@
 			if ismember(MasstransportAnalysisEnum(),analyses),
 				md = checkfield(md,'fieldname','smb.desfac','<=',1,'numel',1);
-				md = checkfield(md,'fieldname','smb.s0p','>=',0,'NaN',1,'size',[md.mesh.numberofvertices 1]);
-				md = checkfield(md,'fieldname','smb.s0t','>=',0,'NaN',1,'size',[md.mesh.numberofvertices 1]);
+				md = checkfield(md,'fieldname','smb.s0p','>=',0,'NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
+				md = checkfield(md,'fieldname','smb.s0t','>=',0,'NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
 				md = checkfield(md,'fieldname','smb.rlaps','>=',0,'numel',1);
 				md = checkfield(md,'fieldname','smb.rlapslgm','>=',0,'numel',1);
 				if(self.isdelta18o==0 & self.ismungsm==0)
-					md = checkfield(md,'fieldname','smb.monthlytemperatures','timeseries',1,'NaN',1);
-					md = checkfield(md,'fieldname','smb.precipitation','timeseries',1,'NaN',1);
+					md = checkfield(md,'fieldname','smb.monthlytemperatures','timeseries',1,'NaN',1,'Inf',1);
+					md = checkfield(md,'fieldname','smb.precipitation','timeseries',1,'NaN',1,'Inf',1);
 				elseif(self.isdelta18o==1) 
-					md = checkfield(md,'fieldname','smb.delta18o','NaN',1,'size',[2,NaN],'singletimeseries',1);
-					md = checkfield(md,'fieldname','smb.delta18o_surface','NaN',1,'size',[2,NaN],'singletimeseries',1);
-					md = checkfield(md,'fieldname','smb.temperatures_presentday','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1);
-					md = checkfield(md,'fieldname','smb.temperatures_lgm','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1);
-					md = checkfield(md,'fieldname','smb.precipitations_presentday','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1);
-					md = checkfield(md,'fieldname','smb.precipitations_lgm','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1);                                       
-					md = checkfield(md,'fieldname','smb.Tdiff','NaN',1,'size',[2,NaN],'singletimeseries',1);
-					md = checkfield(md,'fieldname','smb.sealev','NaN',1,'size',[2,NaN],'singletimeseries',1);
+					md = checkfield(md,'fieldname','smb.delta18o','NaN',1,'Inf',1,'size',[2,NaN],'singletimeseries',1);
+					md = checkfield(md,'fieldname','smb.delta18o_surface','NaN',1,'Inf',1,'size',[2,NaN],'singletimeseries',1);
+					md = checkfield(md,'fieldname','smb.temperatures_presentday','size',[md.mesh.numberofvertices+1 12],'NaN',1,'Inf',1,'timeseries',1);
+					md = checkfield(md,'fieldname','smb.temperatures_lgm','size',[md.mesh.numberofvertices+1 12],'NaN',1,'Inf',1,'timeseries',1);
+					md = checkfield(md,'fieldname','smb.precipitations_presentday','size',[md.mesh.numberofvertices+1 12],'NaN',1,'Inf',1,'timeseries',1);
+					md = checkfield(md,'fieldname','smb.precipitations_lgm','size',[md.mesh.numberofvertices+1 12],'NaN',1,'Inf',1,'timeseries',1);                                       
+					md = checkfield(md,'fieldname','smb.Tdiff','NaN',1,'Inf',1,'size',[2,NaN],'singletimeseries',1);
+					md = checkfield(md,'fieldname','smb.sealev','NaN',1,'Inf',1,'size',[2,NaN],'singletimeseries',1);
 				elseif(self.ismungsm==1) 
-					md = checkfield(md,'fieldname','smb.temperatures_presentday','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1);
-					md = checkfield(md,'fieldname','smb.temperatures_lgm','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1);
-					md = checkfield(md,'fieldname','smb.precipitations_presentday','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1);
-					md = checkfield(md,'fieldname','smb.precipitations_lgm','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1);                                       
-					md = checkfield(md,'fieldname','smb.Pfac','NaN',1,'size',[2,NaN],'singletimeseries',1);
-					md = checkfield(md,'fieldname','smb.Tdiff','NaN',1,'size',[2,NaN],'singletimeseries',1);
-					md = checkfield(md,'fieldname','smb.sealev','NaN',1,'size',[2,NaN],'singletimeseries',1);
+					md = checkfield(md,'fieldname','smb.temperatures_presentday','size',[md.mesh.numberofvertices+1 12],'NaN',1,'Inf',1,'timeseries',1);
+					md = checkfield(md,'fieldname','smb.temperatures_lgm','size',[md.mesh.numberofvertices+1 12],'NaN',1,'Inf',1,'timeseries',1);
+					md = checkfield(md,'fieldname','smb.precipitations_presentday','size',[md.mesh.numberofvertices+1 12],'NaN',1,'Inf',1,'timeseries',1);
+					md = checkfield(md,'fieldname','smb.precipitations_lgm','size',[md.mesh.numberofvertices+1 12],'NaN',1,'Inf',1,'timeseries',1);                                       
+					md = checkfield(md,'fieldname','smb.Pfac','NaN',1,'Inf',1,'size',[2,NaN],'singletimeseries',1);
+					md = checkfield(md,'fieldname','smb.Tdiff','NaN',1,'Inf',1,'size',[2,NaN],'singletimeseries',1);
+					md = checkfield(md,'fieldname','smb.sealev','NaN',1,'Inf',1,'size',[2,NaN],'singletimeseries',1);
 				end
 			end
Index: /issm/trunk-jpl/src/m/classes/SMBpdd.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBpdd.py	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/SMBpdd.py	(revision 19897)
@@ -120,29 +120,29 @@
 		if MasstransportAnalysisEnum() in analyses:
 			md = checkfield(md,'fieldname','smb.desfac','<=',1,'numel',[1])
-			md = checkfield(md,'fieldname','smb.s0p','>=',0,'NaN',1,'size',[md.mesh.numberofvertices,1])
-			md = checkfield(md,'fieldname','smb.s0t','>=',0,'NaN',1,'size',[md.mesh.numberofvertices,1])
+			md = checkfield(md,'fieldname','smb.s0p','>=',0,'NaN',1,'Inf',1,'size',[md.mesh.numberofvertices,1])
+			md = checkfield(md,'fieldname','smb.s0t','>=',0,'NaN',1,'Inf',1,'size',[md.mesh.numberofvertices,1])
 			md = checkfield(md,'fieldname','smb.rlaps','>=',0,'numel',[1])
 			md = checkfield(md,'fieldname','smb.rlapslgm','>=',0,'numel',[1])
 
 			if (self.isdelta18o==0 and self.ismungsm==0):
-				md = checkfield(md,'fieldname','smb.monthlytemperatures','NaN',1,'timeseries',1)
-				md = checkfield(md,'fieldname','smb.precipitation','NaN',1,'timeseries',1)
+				md = checkfield(md,'fieldname','smb.monthlytemperatures','NaN',1,'Inf',1,'timeseries',1)
+				md = checkfield(md,'fieldname','smb.precipitation','NaN',1,'Inf',1,'timeseries',1)
 			elif self.isdelta18o:
-				md = checkfield(md,'fieldname','smb.delta18o','NaN',1,'size',[2,numpy.nan],'singletimeseries',1)
-				md = checkfield(md,'fieldname','smb.delta18o_surface','NaN',1,'size',[2,numpy.nan],'singletimeseries',1)
-				md = checkfield(md,'fieldname','smb.temperatures_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1)
-				md = checkfield(md,'fieldname','smb.temperatures_lgm','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1)
-				md = checkfield(md,'fieldname','smb.precipitations_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1)
-				md = checkfield(md,'fieldname','smb.precipitations_lgm','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1)                                       
-				md = checkfield(md,'fieldname','smb.Tdiff','NaN',1,'size',[2,numpy.nan],'singletimeseries',1)
-				md = checkfield(md,'fieldname','smb.sealev','NaN',1,'size',[2,numpy.nan],'singletimeseries',1)
+				md = checkfield(md,'fieldname','smb.delta18o','NaN',1,'Inf',1,'size',[2,numpy.nan],'singletimeseries',1)
+				md = checkfield(md,'fieldname','smb.delta18o_surface','NaN',1,'Inf',1,'size',[2,numpy.nan],'singletimeseries',1)
+				md = checkfield(md,'fieldname','smb.temperatures_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1,'Inf',1,'timeseries',1)
+				md = checkfield(md,'fieldname','smb.temperatures_lgm','size',[md.mesh.numberofvertices+1,12],'NaN',1,'Inf',1,'timeseries',1)
+				md = checkfield(md,'fieldname','smb.precipitations_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1,'Inf',1,'timeseries',1)
+				md = checkfield(md,'fieldname','smb.precipitations_lgm','size',[md.mesh.numberofvertices+1,12],'NaN',1,'Inf',1,'timeseries',1)                                       
+				md = checkfield(md,'fieldname','smb.Tdiff','NaN',1,'Inf',1,'size',[2,numpy.nan],'singletimeseries',1)
+				md = checkfield(md,'fieldname','smb.sealev','NaN',1,'Inf',1,'size',[2,numpy.nan],'singletimeseries',1)
 			elif self.ismungsm:
-				md = checkfield(md,'fieldname','smb.temperatures_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1)
-				md = checkfield(md,'fieldname','smb.temperatures_lgm','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1)
-				md = checkfield(md,'fieldname','smb.precipitations_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1)
-				md = checkfield(md,'fieldname','smb.precipitations_lgm','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1)                                       
-				md = checkfield(md,'fieldname','smb.Pfac','NaN',1,'size',[2,numpy.nan],'singletimeseries',1)
-				md = checkfield(md,'fieldname','smb.Tdiff','NaN',1,'size',[2,numpy.nan],'singletimeseries',1)
-				md = checkfield(md,'fieldname','smb.sealev','NaN',1,'size',[2,numpy.nan],'singletimeseries',1)
+				md = checkfield(md,'fieldname','smb.temperatures_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1,'Inf',1,'timeseries',1)
+				md = checkfield(md,'fieldname','smb.temperatures_lgm','size',[md.mesh.numberofvertices+1,12],'NaN',1,'Inf',1,'timeseries',1)
+				md = checkfield(md,'fieldname','smb.precipitations_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1,'Inf',1,'timeseries',1)
+				md = checkfield(md,'fieldname','smb.precipitations_lgm','size',[md.mesh.numberofvertices+1,12],'NaN',1,'Inf',1,'timeseries',1)                                       
+				md = checkfield(md,'fieldname','smb.Pfac','NaN',1,'Inf',1,'size',[2,numpy.nan],'singletimeseries',1)
+				md = checkfield(md,'fieldname','smb.Tdiff','NaN',1,'Inf',1,'size',[2,numpy.nan],'singletimeseries',1)
+				md = checkfield(md,'fieldname','smb.sealev','NaN',1,'Inf',1,'size',[2,numpy.nan],'singletimeseries',1)
 
 		md = checkfield(md,'fieldname','masstransport.requested_outputs','stringrow',1)
Index: /issm/trunk-jpl/src/m/classes/adinversion.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/adinversion.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/adinversion.m	(revision 19897)
@@ -73,5 +73,5 @@
 				{'BalancethicknessThickeningRate' 'FrictionCoefficient' 'MaterialsRheologyBbar' 'DamageDbar',...
 				'Vx' 'Vy' 'Thickness' 'BalancethicknessOmega' 'BalancethicknessApparentMassbalance'});
-			md = checkfield(md,'fieldname','inversion.control_scaling_factors','size',[1 num_controls],'>',0,'NaN',1);
+			md = checkfield(md,'fieldname','inversion.control_scaling_factors','size',[1 num_controls],'>',0,'NaN',1,'Inf',1);
 			md = checkfield(md,'fieldname','inversion.maxsteps','numel',1,'>=',0);
 			md = checkfield(md,'fieldname','inversion.maxiter','numel',1,'>=',0);
@@ -84,12 +84,12 @@
 
 			if solution==BalancethicknessSolutionEnum()
-				md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
-				md = checkfield(md,'fieldname','inversion.surface_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
+				md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
+				md = checkfield(md,'fieldname','inversion.surface_obs','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			elseif solution==BalancethicknessSoftSolutionEnum()
-				md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
+				md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			else
-				md = checkfield(md,'fieldname','inversion.vx_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
+				md = checkfield(md,'fieldname','inversion.vx_obs','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 				if ~strcmp(domaintype(md.mesh),'2Dvertical'),
-					md = checkfield(md,'fieldname','inversion.vy_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
+					md = checkfield(md,'fieldname','inversion.vy_obs','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 				end
 			end
Index: /issm/trunk-jpl/src/m/classes/balancethickness.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/balancethickness.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/balancethickness.m	(revision 19897)
@@ -32,8 +32,8 @@
 
 			md = checkfield(md,'fieldname','balancethickness.spcthickness');
-			md = checkfield(md,'fieldname','balancethickness.thickening_rate','size',[md.mesh.numberofvertices 1],'NaN',1);
+			md = checkfield(md,'fieldname','balancethickness.thickening_rate','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			md = checkfield(md,'fieldname','balancethickness.stabilization','size',[1 1],'values',[0 1 2 3]);
 
-			%md = checkfield(md,'fieldname','balancethickness.omega','size',[md.mesh.numberofvertices 1],'NaN',1,'>=',0);
+			%md = checkfield(md,'fieldname','balancethickness.omega','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1,'>=',0);
 		end % }}}
 		function disp(self) % {{{
Index: /issm/trunk-jpl/src/m/classes/balancethickness.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/balancethickness.py	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/balancethickness.py	(revision 19897)
@@ -43,5 +43,5 @@
 
 		md = checkfield(md,'fieldname','balancethickness.spcthickness')
-		md = checkfield(md,'fieldname','balancethickness.thickening_rate','size',[md.mesh.numberofvertices],'NaN',1)
+		md = checkfield(md,'fieldname','balancethickness.thickening_rate','size',[md.mesh.numberofvertices],'NaN',1,'Inf',1)
 		md = checkfield(md,'fieldname','balancethickness.stabilization','size',[1],'values',[0,1,2,3])
 
Index: /issm/trunk-jpl/src/m/classes/basalforcings.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/basalforcings.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/basalforcings.m	(revision 19897)
@@ -50,15 +50,15 @@
 
 			if ismember(MasstransportAnalysisEnum(),analyses) & ~(solution==TransientSolutionEnum() & md.transient.ismasstransport==0),
-				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'timeseries',1);
-				md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'timeseries',1);
+				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'timeseries',1);
+				md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'Inf',1,'timeseries',1);
 			end
 			if ismember(BalancethicknessAnalysisEnum(),analyses),
-				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'size',[md.mesh.numberofvertices 1]);
-				md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'size',[md.mesh.numberofvertices 1]);
+				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
+				md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
 			end
 			if ismember(ThermalAnalysisEnum(),analyses) & ~(solution==TransientSolutionEnum() & md.transient.isthermal==0),
-				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'timeseries',1);
-				md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'timeseries',1);
-				md = checkfield(md,'fieldname','basalforcings.geothermalflux','NaN',1,'timeseries',1,'>=',0);
+				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'timeseries',1);
+				md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'Inf',1,'timeseries',1);
+				md = checkfield(md,'fieldname','basalforcings.geothermalflux','NaN',1,'Inf',1,'timeseries',1,'>=',0);
 			end
 		end % }}}
Index: /issm/trunk-jpl/src/m/classes/basalforcings.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/basalforcings.py	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/basalforcings.py	(revision 19897)
@@ -55,15 +55,15 @@
 
 		if MasstransportAnalysisEnum() in analyses and not (solution==TransientSolutionEnum() and not md.transient.ismasstransport):
-			md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'timeseries',1)
-			md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'timeseries',1)
+			md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'timeseries',1)
+			md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'Inf',1,'timeseries',1)
 
 		if BalancethicknessAnalysisEnum() in analyses:
-			md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'size',[md.mesh.numberofvertices])
-			md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'size',[md.mesh.numberofvertices])
+			md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
+			md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
 
 		if ThermalAnalysisEnum() in analyses and not (solution==TransientSolutionEnum() and not md.transient.isthermal):
-			md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'timeseries',1)
-			md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'timeseries',1)
-			md = checkfield(md,'fieldname','basalforcings.geothermalflux','NaN',1,'timeseries',1,'>=',0)
+			md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'timeseries',1)
+			md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'Inf',1,'timeseries',1)
+			md = checkfield(md,'fieldname','basalforcings.geothermalflux','NaN',1,'Inf',1,'timeseries',1,'>=',0)
 
 		return md
Index: /issm/trunk-jpl/src/m/classes/calving.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/calving.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/calving.m	(revision 19897)
@@ -47,6 +47,6 @@
 			md = checkfield(md,'fieldname','calving.spclevelset','timeseries',1);
 			md = checkfield(md,'fieldname','calving.stabilization','values',[0 1 2]);
-			md = checkfield(md,'fieldname','calving.calvingrate(1:md.mesh.numberofvertices,:)','>=',0,'timeseries',1,'NaN',1);
-			md = checkfield(md,'fieldname','calving.meltingrate(1:md.mesh.numberofvertices,:)','>=',0,'timeseries',1,'NaN',1);
+			md = checkfield(md,'fieldname','calving.calvingrate(1:md.mesh.numberofvertices,:)','>=',0,'timeseries',1,'NaN',1,'Inf',1);
+			md = checkfield(md,'fieldname','calving.meltingrate(1:md.mesh.numberofvertices,:)','>=',0,'timeseries',1,'NaN',1,'Inf',1);
 		end % }}}
 		function disp(self) % {{{
Index: /issm/trunk-jpl/src/m/classes/calving.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/calving.py	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/calving.py	(revision 19897)
@@ -55,6 +55,6 @@
 		md = checkfield(md,'fieldname','calving.spclevelset','timeseries',1)
 		md = checkfield(md,'fieldname','calving.stabilization','values',[0,1,2]);
-		md = checkfield(md,'fieldname','calving.calvingrate','>=',0,'timeseries',1,'NaN',1);
-		md = checkfield(md,'fieldname','calving.meltingrate','>=',0,'timeseries',1,'NaN',1);
+		md = checkfield(md,'fieldname','calving.calvingrate','>=',0,'timeseries',1,'NaN',1,'Inf',1);
+		md = checkfield(md,'fieldname','calving.meltingrate','>=',0,'timeseries',1,'NaN',1,'Inf',1);
 
 		return md
Index: /issm/trunk-jpl/src/m/classes/calvingdev.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/calvingdev.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/calvingdev.m	(revision 19897)
@@ -50,5 +50,5 @@
 			md = checkfield(md,'fieldname','calving.stabilization','values',[0 1 2]);
 			md = checkfield(md,'fieldname','calving.coeff','>',0,'size',[md.mesh.numberofvertices 1]);
-			md = checkfield(md,'fieldname','calving.meltingrate','NaN',1,'size',[md.mesh.numberofvertices 1],'>=',0);
+			md = checkfield(md,'fieldname','calving.meltingrate','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1],'>=',0);
 		end % }}}
 		function disp(self) % {{{
Index: /issm/trunk-jpl/src/m/classes/calvinglevermann.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/calvinglevermann.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/calvinglevermann.m	(revision 19897)
@@ -50,5 +50,5 @@
 			md = checkfield(md,'fieldname','calving.stabilization','values',[0 1 2]);
 			md = checkfield(md,'fieldname','calving.coeff','>',0,'size',[md.mesh.numberofvertices 1]);
-			md = checkfield(md,'fieldname','calving.meltingrate','NaN',1,'size',[md.mesh.numberofvertices 1],'>=',0);
+			md = checkfield(md,'fieldname','calving.meltingrate','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1],'>=',0);
 		end % }}}
 		function disp(self) % {{{
Index: /issm/trunk-jpl/src/m/classes/calvinglevermann.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/calvinglevermann.py	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/calvinglevermann.py	(revision 19897)
@@ -56,5 +56,5 @@
 		md = checkfield(md,'fieldname','calving.stabilization','values',[0,1,2]);
 		md = checkfield(md,'fieldname','calving.coeff','size',[md.mesh.numberofvertices],'>',0)
-		md = checkfield(md,'fieldname','calving.meltingrate','NaN',1,'size',[md.mesh.numberofvertices],'>=',0)
+		md = checkfield(md,'fieldname','calving.meltingrate','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices],'>=',0)
 		return md
 	# }}}
Index: /issm/trunk-jpl/src/m/classes/calvingpi.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/calvingpi.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/calvingpi.m	(revision 19897)
@@ -50,5 +50,5 @@
 			md = checkfield(md,'fieldname','calving.stabilization','values',[0 1 2]);
 			md = checkfield(md,'fieldname','calving.coeff','>',0,'size',[md.mesh.numberofvertices 1]);
-			md = checkfield(md,'fieldname','calving.meltingrate','NaN',1,'size',[md.mesh.numberofvertices 1],'>=',0);
+			md = checkfield(md,'fieldname','calving.meltingrate','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1],'>=',0);
 		end % }}}
 		function disp(self) % {{{
Index: /issm/trunk-jpl/src/m/classes/friction.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/friction.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/friction.m	(revision 19897)
@@ -40,7 +40,7 @@
 			%Early return
 			if ~ismember(StressbalanceAnalysisEnum(),analyses) & ~ismember(ThermalAnalysisEnum(),analyses), return; end
-			md = checkfield(md,'fieldname','friction.coefficient','timeseries',1,'NaN',1);
-			md = checkfield(md,'fieldname','friction.q','NaN',1,'size',[md.mesh.numberofelements 1]);
-			md = checkfield(md,'fieldname','friction.p','NaN',1,'size',[md.mesh.numberofelements 1]);
+			md = checkfield(md,'fieldname','friction.coefficient','timeseries',1,'NaN',1,'Inf',1);
+			md = checkfield(md,'fieldname','friction.q','NaN',1,'Inf',1,'size',[md.mesh.numberofelements 1]);
+			md = checkfield(md,'fieldname','friction.p','NaN',1,'Inf',1,'size',[md.mesh.numberofelements 1]);
 		end % }}}
 		function disp(self) % {{{
Index: /issm/trunk-jpl/src/m/classes/friction.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/friction.py	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/friction.py	(revision 19897)
@@ -45,7 +45,7 @@
 			return md
 
-		md = checkfield(md,'fieldname','friction.coefficient','timeseries',1,'NaN',1)
-		md = checkfield(md,'fieldname','friction.q','NaN',1,'size',[md.mesh.numberofelements])
-		md = checkfield(md,'fieldname','friction.p','NaN',1,'size',[md.mesh.numberofelements])
+		md = checkfield(md,'fieldname','friction.coefficient','timeseries',1,'NaN',1,'Inf',1)
+		md = checkfield(md,'fieldname','friction.q','NaN',1,'Inf',1,'size',[md.mesh.numberofelements])
+		md = checkfield(md,'fieldname','friction.p','NaN',1,'Inf',1,'size',[md.mesh.numberofelements])
 
 		return md
Index: /issm/trunk-jpl/src/m/classes/frictioncoulomb.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/frictioncoulomb.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/frictioncoulomb.m	(revision 19897)
@@ -42,8 +42,8 @@
 			%Early return
 			if ~ismember(StressbalanceAnalysisEnum(),analyses) & ~ismember(ThermalAnalysisEnum(),analyses), return; end
-			md = checkfield(md,'fieldname','friction.coefficient','timeseries',1,'NaN',1);
-			md = checkfield(md,'fieldname','friction.coefficientcoulomb','timeseries',1,'NaN',1);
-			md = checkfield(md,'fieldname','friction.q','NaN',1,'size',[md.mesh.numberofelements 1]);
-			md = checkfield(md,'fieldname','friction.p','NaN',1,'size',[md.mesh.numberofelements 1]);
+			md = checkfield(md,'fieldname','friction.coefficient','timeseries',1,'NaN',1,'Inf',1);
+			md = checkfield(md,'fieldname','friction.coefficientcoulomb','timeseries',1,'NaN',1,'Inf',1);
+			md = checkfield(md,'fieldname','friction.q','NaN',1,'Inf',1,'size',[md.mesh.numberofelements 1]);
+			md = checkfield(md,'fieldname','friction.p','NaN',1,'Inf',1,'size',[md.mesh.numberofelements 1]);
 		end % }}}
 		function disp(self) % {{{
Index: /issm/trunk-jpl/src/m/classes/frictioncoulomb.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/frictioncoulomb.py	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/frictioncoulomb.py	(revision 19897)
@@ -48,8 +48,8 @@
 	    return md
 
-	md = checkfield(md,'fieldname','friction.coefficient','timeseries',1,'NaN',1)
-	md = checkfield(md,'fieldname','friction.coefficientcoulomb','timeseries',1,'NaN',1)
-	md = checkfield(md,'fieldname','friction.q','NaN',1,'size',[md.mesh.numberofelements])
-	md = checkfield(md,'fieldname','friction.p','NaN',1,'size',[md.mesh.numberofelements])
+	md = checkfield(md,'fieldname','friction.coefficient','timeseries',1,'NaN',1,'Inf',1)
+	md = checkfield(md,'fieldname','friction.coefficientcoulomb','timeseries',1,'NaN',1,'Inf',1)
+	md = checkfield(md,'fieldname','friction.q','NaN',1,'Inf',1,'size',[md.mesh.numberofelements])
+	md = checkfield(md,'fieldname','friction.p','NaN',1,'Inf',1,'size',[md.mesh.numberofelements])
 
 	return md
Index: /issm/trunk-jpl/src/m/classes/frictionhydro.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/frictionhydro.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/frictionhydro.m	(revision 19897)
@@ -29,9 +29,9 @@
 			if ~ismember(StressbalanceAnalysisEnum(),analyses) & ~ismember(ThermalAnalysisEnum(),analyses), return; end
 			md = checkfield(md,'fieldname','friction.Coupling','numel',[1],'values',[0 1]);
-			md = checkfield(md,'fieldname','friction.q','NaN',1,'size',[md.mesh.numberofelements 1]);
-			md = checkfield(md,'fieldname','friction.C','NaN',1,'size',[md.mesh.numberofelements 1]);
-			md = checkfield(md,'fieldname','friction.As','NaN',1,'size',[md.mesh.numberofelements 1]);
+			md = checkfield(md,'fieldname','friction.q','NaN',1,'Inf',1,'size',[md.mesh.numberofelements 1]);
+			md = checkfield(md,'fieldname','friction.C','NaN',1,'Inf',1,'size',[md.mesh.numberofelements 1]);
+			md = checkfield(md,'fieldname','friction.As','NaN',1,'Inf',1,'size',[md.mesh.numberofelements 1]);
 			if self.Coupling==0,
-				md = checkfield(md,'fieldname','friction.effective_pressure','NaN',1,'timeseries',1);
+				md = checkfield(md,'fieldname','friction.effective_pressure','NaN',1,'Inf',1,'timeseries',1);
 	    end
 		end % }}}
Index: /issm/trunk-jpl/src/m/classes/frictionsommers.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/frictionsommers.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/frictionsommers.m	(revision 19897)
@@ -29,5 +29,5 @@
 			%Early return
 			if ~ismember(StressbalanceAnalysisEnum(),analyses) & ~ismember(ThermalAnalysisEnum(),analyses), return; end
-			md = checkfield(md,'fieldname','friction.coefficient','timeseries',1,'NaN',1);
+			md = checkfield(md,'fieldname','friction.coefficient','timeseries',1,'NaN',1,'Inf',1);
 		end % }}}
 		function disp(self) % {{{
Index: /issm/trunk-jpl/src/m/classes/frictiontemp.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/frictiontemp.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/frictiontemp.m	(revision 19897)
@@ -34,11 +34,11 @@
 			if ~ismember(StressbalanceAnalysisEnum(),analyses) & ~ismember(ThermalAnalysisEnum(),analyses), return; end
 
-			md = checkfield(md,'fieldname','friction.coefficient','timeseries',1,'NaN',1);
-			md = checkfield(md,'fieldname','friction.q','NaN',1,'size',[md.mesh.numberofelements 1]);
-			md = checkfield(md,'fieldname','friction.p','NaN',1,'size',[md.mesh.numberofelements 1]);
-			md = checkfield(md,'fieldname','friction.gamma','NaN',1,'numel',1,'>',0.);
+			md = checkfield(md,'fieldname','friction.coefficient','timeseries',1,'NaN',1,'Inf',1);
+			md = checkfield(md,'fieldname','friction.q','NaN',1,'Inf',1,'size',[md.mesh.numberofelements 1]);
+			md = checkfield(md,'fieldname','friction.p','NaN',1,'Inf',1,'size',[md.mesh.numberofelements 1]);
+			md = checkfield(md,'fieldname','friction.gamma','NaN',1,'Inf',1,'numel',1,'>',0.);
 
 			%Check that temperature is provided
-			md = checkfield(md,'fieldname','initialization.temperature','NaN',1,'size',[md.mesh.numberofvertices 1]);
+			md = checkfield(md,'fieldname','initialization.temperature','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
 		end % }}}
 		function disp(self) % {{{
Index: /issm/trunk-jpl/src/m/classes/frictionwaterlayer.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/frictionwaterlayer.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/frictionwaterlayer.m	(revision 19897)
@@ -31,8 +31,8 @@
 			if ~ismember(StressbalanceAnalysisEnum(),analyses) & ~ismember(ThermalAnalysisEnum(),analyses), return; end
 
-			md = checkfield(md,'fieldname','friction.coefficient','timeseries',1,'NaN',1);
-			md = checkfield(md,'fieldname','friction.f','size',[1 1],'NaN',1);
-			md = checkfield(md,'fieldname','friction.q','NaN',1,'size',[md.mesh.numberofelements 1]);
-			md = checkfield(md,'fieldname','friction.p','NaN',1,'size',[md.mesh.numberofelements 1]);
+			md = checkfield(md,'fieldname','friction.coefficient','timeseries',1,'NaN',1,'Inf',1);
+			md = checkfield(md,'fieldname','friction.f','size',[1 1],'NaN',1,'Inf',1);
+			md = checkfield(md,'fieldname','friction.q','NaN',1,'Inf',1,'size',[md.mesh.numberofelements 1]);
+			md = checkfield(md,'fieldname','friction.p','NaN',1,'Inf',1,'size',[md.mesh.numberofelements 1]);
 			md = checkfield(md,'fieldname','thermal.spctemperature','timeseries',1,'>=',0.);
 
Index: /issm/trunk-jpl/src/m/classes/frictionweertman.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/frictionweertman.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/frictionweertman.m	(revision 19897)
@@ -38,6 +38,6 @@
 			%Early return
 			if ~ismember(StressbalanceAnalysisEnum(),analyses) & ~ismember(ThermalAnalysisEnum(),analyses), return; end
-			md = checkfield(md,'fieldname','friction.C','timeseries',1,'NaN',1);
-			md = checkfield(md,'fieldname','friction.m','NaN',1,'size',[md.mesh.numberofelements 1]);
+			md = checkfield(md,'fieldname','friction.C','timeseries',1,'NaN',1,'Inf',1);
+			md = checkfield(md,'fieldname','friction.m','NaN',1,'Inf',1,'size',[md.mesh.numberofelements 1]);
 		end % }}}
 		function disp(self) % {{{
Index: /issm/trunk-jpl/src/m/classes/frictionweertman.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/frictionweertman.py	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/frictionweertman.py	(revision 19897)
@@ -37,6 +37,6 @@
 			return md
 
-		md = checkfield(md,'fieldname','friction.C','timeseries',1,'NaN',1)
-		md = checkfield(md,'fieldname','friction.m','NaN',1,'size',[md.mesh.numberofelements])
+		md = checkfield(md,'fieldname','friction.C','timeseries',1,'NaN',1,'Inf',1)
+		md = checkfield(md,'fieldname','friction.m','NaN',1,'Inf',1,'size',[md.mesh.numberofelements])
 
 		return md
Index: /issm/trunk-jpl/src/m/classes/frictionweertmantemp.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/frictionweertmantemp.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/frictionweertmantemp.m	(revision 19897)
@@ -26,6 +26,6 @@
 			%Early return
 			if ~ismember(StressbalanceAnalysisEnum(),analyses) & ~ismember(ThermalAnalysisEnum(),analyses), return; end
-			md = checkfield(md,'fieldname','friction.C','timeseries',1,'NaN',1);
-			md = checkfield(md,'fieldname','friction.m','NaN',1,'size',[md.mesh.numberofelements 1]);
+			md = checkfield(md,'fieldname','friction.C','timeseries',1,'NaN',1,'Inf',1);
+			md = checkfield(md,'fieldname','friction.m','NaN',1,'Inf',1,'size',[md.mesh.numberofelements 1]);
 		end % }}}
 		function disp(self) % {{{
Index: /issm/trunk-jpl/src/m/classes/geometry.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/geometry.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/geometry.m	(revision 19897)
@@ -65,14 +65,14 @@
 
 			if (solution==TransientSolutionEnum() & md.transient.isgia) | (solution==GiaSolutionEnum()),
-				md = checkfield(md,'fieldname','geometry.thickness','timeseries',1,'NaN',1,'>=',0);
+				md = checkfield(md,'fieldname','geometry.thickness','timeseries',1,'NaN',1,'Inf',1,'>=',0);
 			else
-				md = checkfield(md,'fieldname','geometry.surface'  ,'NaN',1,'size',[md.mesh.numberofvertices 1]);
-				md = checkfield(md,'fieldname','geometry.base'      ,'NaN',1,'size',[md.mesh.numberofvertices 1]);
-				md = checkfield(md,'fieldname','geometry.thickness','NaN',1,'size',[md.mesh.numberofvertices 1],'>',0);
+				md = checkfield(md,'fieldname','geometry.surface'  ,'NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
+				md = checkfield(md,'fieldname','geometry.base'      ,'NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
+				md = checkfield(md,'fieldname','geometry.thickness','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1],'>',0);
 				if any(abs(self.thickness-self.surface+self.base)>10^-9),
 					md = checkmessage(md,['equality thickness=surface-base violated']);
 				end 
 				if solution==TransientSolutionEnum() & md.transient.isgroundingline,
-					md = checkfield(md,'fieldname','geometry.bed','NaN',1,'size',[md.mesh.numberofvertices 1]);
+					md = checkfield(md,'fieldname','geometry.bed','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
 				end
 			end
Index: /issm/trunk-jpl/src/m/classes/geometry.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/geometry.py	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/geometry.py	(revision 19897)
@@ -46,11 +46,11 @@
 	def checkconsistency(self,md,solution,analyses):    # {{{
 
-		md = checkfield(md,'fieldname','geometry.surface'  ,'NaN',1,'size',[md.mesh.numberofvertices])
-		md = checkfield(md,'fieldname','geometry.base'      ,'NaN',1,'size',[md.mesh.numberofvertices])
-		md = checkfield(md,'fieldname','geometry.thickness','NaN',1,'size',[md.mesh.numberofvertices],'>',0,'timeseries',1)
+		md = checkfield(md,'fieldname','geometry.surface'  ,'NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
+		md = checkfield(md,'fieldname','geometry.base'      ,'NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
+		md = checkfield(md,'fieldname','geometry.thickness','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices],'>',0,'timeseries',1)
 		if any(abs(self.thickness-self.surface+self.base)>10**-9):
 			md.checkmessage("equality thickness=surface-base violated")
 		if solution==TransientSolutionEnum() and md.transient.isgroundingline:
-			md = checkfield(md,'fieldname','geometry.bed','NaN',1,'size',[md.mesh.numberofvertices])
+			md = checkfield(md,'fieldname','geometry.bed','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
 
 		return md
Index: /issm/trunk-jpl/src/m/classes/gia.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/gia.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/gia.m	(revision 19897)
@@ -44,6 +44,6 @@
 
 			if ~ismember(GiaAnalysisEnum(),analyses), return; end
-			md = checkfield(md,'fieldname','gia.mantle_viscosity','NaN',1,'size',[md.mesh.numberofvertices 1],'>',0);
-			md = checkfield(md,'fieldname','gia.lithosphere_thickness','NaN',1,'size',[md.mesh.numberofvertices 1],'>',0);
+			md = checkfield(md,'fieldname','gia.mantle_viscosity','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1],'>',0);
+			md = checkfield(md,'fieldname','gia.lithosphere_thickness','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1],'>',0);
 			md = checkfield(md,'fieldname','gia.cross_section_shape','numel',[1],'values',[1,2]);
 
Index: /issm/trunk-jpl/src/m/classes/gia.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/gia.py	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/gia.py	(revision 19897)
@@ -48,6 +48,6 @@
 			return md 
 		
-		md = checkfield(md,'fieldname','gia.mantle_viscosity','NaN',1,'size',[md.mesh.numberofvertices,1],'>',0)
-		md = checkfield(md,'fieldname','gia.lithosphere_thickness','NaN',1,'size',[md.mesh.numberofvertices,1],'>',0)
+		md = checkfield(md,'fieldname','gia.mantle_viscosity','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices,1],'>',0)
+		md = checkfield(md,'fieldname','gia.lithosphere_thickness','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices,1],'>',0)
 		md = checkfield(md,'fieldname','gia.cross_section_shape','numel',[1],'values',[1,2])
 
Index: /issm/trunk-jpl/src/m/classes/hydrologydc.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/hydrologydc.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/hydrologydc.m	(revision 19897)
@@ -114,5 +114,5 @@
 				md = checkfield(md,'fieldname','hydrology.leakage_factor','>',0,'numel',1);
 			end
-			md = checkfield(md,'fieldname','hydrology.basal_moulin_input','NaN',1,'timeseries',1);
+			md = checkfield(md,'fieldname','hydrology.basal_moulin_input','NaN',1,'Inf',1,'timeseries',1);
 
 			md = checkfield(md,'fieldname','hydrology.spcsediment_head','timeseries',1);
Index: /issm/trunk-jpl/src/m/classes/hydrologydc.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/hydrologydc.py	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/hydrologydc.py	(revision 19897)
@@ -163,5 +163,5 @@
 			md = checkfield(md,'fieldname','hydrology.leakage_factor','>',0.,'numel',[1])
 
-		md = checkfield(md,'fieldname','hydrology.basal_moulin_input','NaN',1,'timeseries',1)
+		md = checkfield(md,'fieldname','hydrology.basal_moulin_input','NaN',1,'Inf',1,'timeseries',1)
 		md = checkfield(md,'fieldname','hydrology.spcsediment_head','timeseries',1)
 		md = checkfield(md,'fieldname','hydrology.sediment_compressibility','>',0.,'numel',[1])
Index: /issm/trunk-jpl/src/m/classes/hydrologysommers.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/hydrologysommers.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/hydrologysommers.m	(revision 19897)
@@ -38,12 +38,12 @@
 			end
 
-			md = checkfield(md,'fieldname','hydrology.head','size',[md.mesh.numberofvertices 1],'NaN',1);
-			md = checkfield(md,'fieldname','hydrology.gap_height','>=',0,'size',[md.mesh.numberofelements 1],'NaN',1);
-			md = checkfield(md,'fieldname','hydrology.bump_spacing','>',0,'size',[md.mesh.numberofelements 1],'NaN',1);
-			md = checkfield(md,'fieldname','hydrology.bump_height','>=',0,'size',[md.mesh.numberofelements 1],'NaN',1);
-			md = checkfield(md,'fieldname','hydrology.englacial_input','>=',0,'NaN',1,'timeseries',1);
-			md = checkfield(md,'fieldname','hydrology.moulin_input','>=',0,'NaN',1,'timeseries',1);
-			md = checkfield(md,'fieldname','hydrology.reynolds','>',0,'size',[md.mesh.numberofelements 1],'NaN',1);
-			md = checkfield(md,'fieldname','hydrology.neumannflux','timeseries',1,'NaN',1);
+			md = checkfield(md,'fieldname','hydrology.head','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
+			md = checkfield(md,'fieldname','hydrology.gap_height','>=',0,'size',[md.mesh.numberofelements 1],'NaN',1,'Inf',1);
+			md = checkfield(md,'fieldname','hydrology.bump_spacing','>',0,'size',[md.mesh.numberofelements 1],'NaN',1,'Inf',1);
+			md = checkfield(md,'fieldname','hydrology.bump_height','>=',0,'size',[md.mesh.numberofelements 1],'NaN',1,'Inf',1);
+			md = checkfield(md,'fieldname','hydrology.englacial_input','>=',0,'NaN',1,'Inf',1,'timeseries',1);
+			md = checkfield(md,'fieldname','hydrology.moulin_input','>=',0,'NaN',1,'Inf',1,'timeseries',1);
+			md = checkfield(md,'fieldname','hydrology.reynolds','>',0,'size',[md.mesh.numberofelements 1],'NaN',1,'Inf',1);
+			md = checkfield(md,'fieldname','hydrology.neumannflux','timeseries',1,'NaN',1,'Inf',1);
 			md = checkfield(md,'fieldname','hydrology.spchead','size',[md.mesh.numberofvertices 1]);
 		end % }}}
Index: /issm/trunk-jpl/src/m/classes/initialization.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/initialization.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/initialization.m	(revision 19897)
@@ -65,15 +65,15 @@
 			if ismember(StressbalanceAnalysisEnum(),analyses)
 				if ~(isnan(md.initialization.vx) | isnan(md.initialization.vy)),
-					md = checkfield(md,'fieldname','initialization.vx','NaN',1,'size',[md.mesh.numberofvertices 1]);
-					md = checkfield(md,'fieldname','initialization.vy','NaN',1,'size',[md.mesh.numberofvertices 1]);
+					md = checkfield(md,'fieldname','initialization.vx','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
+					md = checkfield(md,'fieldname','initialization.vy','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
 				end
 			end
 			if ismember(MasstransportAnalysisEnum(),analyses),
-				md = checkfield(md,'fieldname','initialization.vx','NaN',1,'size',[md.mesh.numberofvertices 1]);
-				md = checkfield(md,'fieldname','initialization.vy','NaN',1,'size',[md.mesh.numberofvertices 1]);
+				md = checkfield(md,'fieldname','initialization.vx','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
+				md = checkfield(md,'fieldname','initialization.vy','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
 			end
 			if ismember(BalancethicknessAnalysisEnum(),analyses) & solution==BalancethicknessSolutionEnum,
-				md = checkfield(md,'fieldname','initialization.vx','NaN',1,'size',[md.mesh.numberofvertices 1]);
-				md = checkfield(md,'fieldname','initialization.vy','NaN',1,'size',[md.mesh.numberofvertices 1]);
+				md = checkfield(md,'fieldname','initialization.vx','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
+				md = checkfield(md,'fieldname','initialization.vy','NaN',1,'Inf',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)
@@ -82,11 +82,11 @@
 			end
 			if ismember(ThermalAnalysisEnum(),analyses),
-				md = checkfield(md,'fieldname','initialization.vx','NaN',1,'size',[md.mesh.numberofvertices 1]);
-				md = checkfield(md,'fieldname','initialization.vy','NaN',1,'size',[md.mesh.numberofvertices 1]);
+				md = checkfield(md,'fieldname','initialization.vx','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
+				md = checkfield(md,'fieldname','initialization.vy','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
 				if dimension(md.mesh)==3
-					md = checkfield(md,'fieldname','initialization.vz','NaN',1,'size',[md.mesh.numberofvertices 1]);
+					md = checkfield(md,'fieldname','initialization.vz','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
 				end
-				md = checkfield(md,'fieldname','initialization.pressure','NaN',1,'size',[md.mesh.numberofvertices 1]);
-				md = checkfield(md,'fieldname','initialization.temperature','NaN',1,'size',[md.mesh.numberofvertices 1]);
+				md = checkfield(md,'fieldname','initialization.pressure','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
+				md = checkfield(md,'fieldname','initialization.temperature','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
 			end
 			if (ismember(EnthalpyAnalysisEnum(),analyses) & md.thermal.isenthalpy)
@@ -96,10 +96,10 @@
 			if ismember(HydrologyShreveAnalysisEnum(),analyses),
 				if isa(md.hydrology,'hydrologyshreve'),
-					md = checkfield(md,'fieldname','initialization.watercolumn','NaN',1,'size',[md.mesh.numberofvertices 1]);
+					md = checkfield(md,'fieldname','initialization.watercolumn','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
 				end
 			end
 			if ismember(HydrologyDCInefficientAnalysisEnum(),analyses),
 				if isa(md.hydrology,'hydrologydc'),
-					md = checkfield(md,'fieldname','initialization.sediment_head','NaN',1,'size',[md.mesh.numberofvertices 1]);
+					md = checkfield(md,'fieldname','initialization.sediment_head','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
 				end
 			end
@@ -107,6 +107,6 @@
 				if isa(md.hydrology,'hydrologydc'),
 					if md.hydrology.isefficientlayer==1,
-						md = checkfield(md,'fieldname','initialization.epl_head','NaN',1,'size',[md.mesh.numberofvertices 1]);
-						md = checkfield(md,'fieldname','initialization.epl_thickness','NaN',1,'size',[md.mesh.numberofvertices 1]);
+						md = checkfield(md,'fieldname','initialization.epl_head','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
+						md = checkfield(md,'fieldname','initialization.epl_thickness','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
 					end
 				end
Index: /issm/trunk-jpl/src/m/classes/initialization.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/initialization.py	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/initialization.py	(revision 19897)
@@ -71,12 +71,12 @@
 		if StressbalanceAnalysisEnum() in analyses:
 			if not numpy.any(numpy.logical_or(numpy.isnan(md.initialization.vx),numpy.isnan(md.initialization.vy))):
-				md = checkfield(md,'fieldname','initialization.vx','NaN',1,'size',[md.mesh.numberofvertices])
-				md = checkfield(md,'fieldname','initialization.vy','NaN',1,'size',[md.mesh.numberofvertices])
+				md = checkfield(md,'fieldname','initialization.vx','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
+				md = checkfield(md,'fieldname','initialization.vy','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
 		if MasstransportAnalysisEnum() in analyses:
-			md = checkfield(md,'fieldname','initialization.vx','NaN',1,'size',[md.mesh.numberofvertices])
-			md = checkfield(md,'fieldname','initialization.vy','NaN',1,'size',[md.mesh.numberofvertices])
+			md = checkfield(md,'fieldname','initialization.vx','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
+			md = checkfield(md,'fieldname','initialization.vy','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
 		if BalancethicknessAnalysisEnum() in analyses:
-			md = checkfield(md,'fieldname','initialization.vx','NaN',1,'size',[md.mesh.numberofvertices])
-			md = checkfield(md,'fieldname','initialization.vy','NaN',1,'size',[md.mesh.numberofvertices])
+			md = checkfield(md,'fieldname','initialization.vx','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
+			md = checkfield(md,'fieldname','initialization.vy','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
 			#Triangle with zero velocity
 			if numpy.any(numpy.logical_and(numpy.sum(numpy.abs(md.initialization.vx[md.mesh.elements-1]),axis=1)==0,\
@@ -84,10 +84,10 @@
 				md.checkmessage("at least one triangle has all its vertices with a zero velocity")
 		if ThermalAnalysisEnum() in analyses:
-			md = checkfield(md,'fieldname','initialization.vx','NaN',1,'size',[md.mesh.numberofvertices])
-			md = checkfield(md,'fieldname','initialization.vy','NaN',1,'size',[md.mesh.numberofvertices])
-			md = checkfield(md,'fieldname','initialization.temperature','NaN',1,'size',[md.mesh.numberofvertices])
+			md = checkfield(md,'fieldname','initialization.vx','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
+			md = checkfield(md,'fieldname','initialization.vy','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
+			md = checkfield(md,'fieldname','initialization.temperature','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
 			if md.mesh.dimension()==3:
-				md = checkfield(md,'fieldname','initialization.vz','NaN',1,'size',[md.mesh.numberofvertices])
-			md = checkfield(md,'fieldname','initialization.pressure','NaN',1,'size',[md.mesh.numberofvertices])
+				md = checkfield(md,'fieldname','initialization.vz','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
+			md = checkfield(md,'fieldname','initialization.pressure','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
 			if (EnthalpyAnalysisEnum() in analyses and md.thermal.isenthalpy):
 				md = checkfield(md,'fieldname','initialization.waterfraction','>=',0,'size',[md.mesh.numberofvertices])
@@ -95,13 +95,13 @@
 		if HydrologyShreveAnalysisEnum() in analyses:
 			if hasattr(md.hydrology,'hydrologyshreve'):
-				md = checkfield(md,'fieldname','initialization.watercolumn','NaN',1,'size',[md.mesh.numberofvertices])
+				md = checkfield(md,'fieldname','initialization.watercolumn','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
 		if HydrologyDCInefficientAnalysisEnum() in analyses:
 			if hasattr(md.hydrology,'hydrologydc'):
-				md = checkfield(md,'fieldname','initialization.sediment_head','NaN',1,'size',[md.mesh.numberofvertices,1])
+				md = checkfield(md,'fieldname','initialization.sediment_head','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices,1])
 		if HydrologyDCEfficientAnalysisEnum() in analyses:
 			if hasattr(md.hydrology,'hydrologydc'):
 				if md.hydrology.isefficientlayer==1:
-					md = checkfield(md,'fieldname','initialization.epl_head','NaN',1,'size',[md.mesh.numberofvertices,1])
-					md = checkfield(md,'fieldname','initialization.epl_thickness','NaN',1,'size',[md.mesh.numberofvertices,1])
+					md = checkfield(md,'fieldname','initialization.epl_head','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices,1])
+					md = checkfield(md,'fieldname','initialization.epl_thickness','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices,1])
 
 		return md
Index: /issm/trunk-jpl/src/m/classes/inversion.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/inversion.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/inversion.m	(revision 19897)
@@ -159,10 +159,10 @@
 
 			if solution==BalancethicknessSolutionEnum()
-				md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
+				md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			elseif solution==BalancethicknessSoftSolutionEnum()
-				md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
+				md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			else
-				md = checkfield(md,'fieldname','inversion.vx_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
-				md = checkfield(md,'fieldname','inversion.vy_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
+				md = checkfield(md,'fieldname','inversion.vx_obs','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
+				md = checkfield(md,'fieldname','inversion.vy_obs','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			end
 		end % }}}
Index: /issm/trunk-jpl/src/m/classes/inversion.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/inversion.py	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/inversion.py	(revision 19897)
@@ -151,8 +151,8 @@
 
 		if solution==BalancethicknessSolutionEnum():
-			md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices],'NaN',1)
+			md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices],'NaN',1,'Inf',1)
 		else:
-			md = checkfield(md,'fieldname','inversion.vx_obs','size',[md.mesh.numberofvertices],'NaN',1)
-			md = checkfield(md,'fieldname','inversion.vy_obs','size',[md.mesh.numberofvertices],'NaN',1)
+			md = checkfield(md,'fieldname','inversion.vx_obs','size',[md.mesh.numberofvertices],'NaN',1,'Inf',1)
+			md = checkfield(md,'fieldname','inversion.vy_obs','size',[md.mesh.numberofvertices],'NaN',1,'Inf',1)
 
 		return md
Index: /issm/trunk-jpl/src/m/classes/inversionvalidation.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/inversionvalidation.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/inversionvalidation.m	(revision 19897)
@@ -67,5 +67,5 @@
 			md = checkfield(md,'fieldname','inversion.incomplete_adjoint','values',[0 1]);
 			md = checkfield(md,'fieldname','inversion.control_parameters','cell',1,'values',supportedcontrols());
-			md = checkfield(md,'fieldname','inversion.control_scaling_factors','size',[1 num_controls],'>',0,'NaN',1);
+			md = checkfield(md,'fieldname','inversion.control_scaling_factors','size',[1 num_controls],'>',0,'NaN',1,'Inf',1);
 			md = checkfield(md,'fieldname','inversion.cost_functions','size',[1 num_costfunc],'values',supportedcostfunctions());
 			md = checkfield(md,'fieldname','inversion.cost_functions_coefficients','size',[md.mesh.numberofvertices num_costfunc],'>=',0);
@@ -74,11 +74,11 @@
 
 			if solution==BalancethicknessSolutionEnum()
-				md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
+				md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			elseif solution==BalancethicknessSoftSolutionEnum()
-				md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
+				md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			else
-				md = checkfield(md,'fieldname','inversion.vx_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
+				md = checkfield(md,'fieldname','inversion.vx_obs','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 				if ~strcmp(domaintype(md.mesh),'2Dvertical'),
-					md = checkfield(md,'fieldname','inversion.vy_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
+					md = checkfield(md,'fieldname','inversion.vy_obs','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 				end
 			end
Index: /issm/trunk-jpl/src/m/classes/linearbasalforcings.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/linearbasalforcings.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/linearbasalforcings.m	(revision 19897)
@@ -49,5 +49,5 @@
 
 			if ismember(MasstransportAnalysisEnum(),analyses) & ~(solution==TransientSolutionEnum() & md.transient.ismasstransport==0),
-				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'timeseries',1);
+				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'timeseries',1);
 				md = checkfield(md,'fieldname','basalforcings.deepwater_melting_rate','>=',0,'numel',1);
 				md = checkfield(md,'fieldname','basalforcings.deepwater_elevation','<','basalforcings.upperwater_elevation','numel',1);
@@ -55,5 +55,5 @@
 			end
 			if ismember(BalancethicknessAnalysisEnum(),analyses),
-				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'size',[md.mesh.numberofvertices 1]);
+				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
 				md = checkfield(md,'fieldname','basalforcings.deepwater_melting_rate','>=',0,'numel',1);
 				md = checkfield(md,'fieldname','basalforcings.deepwater_elevation','<','basalforcings.upperwater_elevation','numel',1);
@@ -61,9 +61,9 @@
 			end
 			if ismember(ThermalAnalysisEnum(),analyses) & ~(solution==TransientSolutionEnum() & md.transient.isthermal==0),
-				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'timeseries',1);
+				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'timeseries',1);
 				md = checkfield(md,'fieldname','basalforcings.deepwater_melting_rate','>=',0,'numel',1);
 				md = checkfield(md,'fieldname','basalforcings.deepwater_elevation','<','basalforcings.upperwater_elevation','numel',1);
 				md = checkfield(md,'fieldname','basalforcings.upperwater_elevation','<',0,'numel',1);
-				md = checkfield(md,'fieldname','basalforcings.geothermalflux','NaN',1,'timeseries',1,'>=',0);
+				md = checkfield(md,'fieldname','basalforcings.geothermalflux','NaN',1,'Inf',1,'timeseries',1,'>=',0);
 			end
 		end % }}}
Index: /issm/trunk-jpl/src/m/classes/linearbasalforcings.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/linearbasalforcings.py	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/linearbasalforcings.py	(revision 19897)
@@ -69,5 +69,5 @@
 
 		if MasstransportAnalysisEnum() in analyses and not (solution==TransientSolutionEnum() and not md.transient.ismasstransport):
-			md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'timeseries',1)
+			md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'timeseries',1)
 			md = checkfield(md,'fieldname','basalforcings.deepwater_melting_rate','>=',0);
 			md = checkfield(md,'fieldname','basalforcings.deepwater_elevation','<',md.basalforcings.upperwater_elevation);
@@ -75,5 +75,5 @@
 
 		if BalancethicknessAnalysisEnum() in analyses:
-			md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'size',[md.mesh.numberofvertices])
+			md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
 			md = checkfield(md,'fieldname','basalforcings.deepwater_melting_rate','>=',0);
 			md = checkfield(md,'fieldname','basalforcings.deepwater_elevation','<',md.basalforcings.upperwater_elevation);
@@ -81,9 +81,9 @@
 
 		if ThermalAnalysisEnum() in analyses and not (solution==TransientSolutionEnum() and not md.transient.isthermal):
-			md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'timeseries',1)
+			md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'timeseries',1)
 			md = checkfield(md,'fieldname','basalforcings.deepwater_melting_rate','>=',0);
 			md = checkfield(md,'fieldname','basalforcings.deepwater_elevation','<',md.basalforcings.upperwater_elevation);
 			md = checkfield(md,'fieldname','basalforcings.upperwater_elevation','<',0);
-			md = checkfield(md,'fieldname','basalforcings.geothermalflux','NaN',1,'timeseries',1,'>=',0)
+			md = checkfield(md,'fieldname','basalforcings.geothermalflux','NaN',1,'Inf',1,'timeseries',1,'>=',0)
 
 		return md
Index: /issm/trunk-jpl/src/m/classes/m1qn3inversion.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/m1qn3inversion.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/m1qn3inversion.m	(revision 19897)
@@ -84,5 +84,5 @@
 			md = checkfield(md,'fieldname','inversion.incomplete_adjoint','values',[0 1]);
 			md = checkfield(md,'fieldname','inversion.control_parameters','cell',1,'values',supportedcontrols());
-			md = checkfield(md,'fieldname','inversion.control_scaling_factors','size',[1 num_controls],'>',0,'NaN',1);
+			md = checkfield(md,'fieldname','inversion.control_scaling_factors','size',[1 num_controls],'>',0,'NaN',1,'Inf',1);
 			md = checkfield(md,'fieldname','inversion.maxsteps','numel',1,'>=',0);
 			md = checkfield(md,'fieldname','inversion.maxiter','numel',1,'>=',0);
@@ -95,12 +95,12 @@
 
 			if solution==BalancethicknessSolutionEnum()
-				md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
-				md = checkfield(md,'fieldname','inversion.surface_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
+				md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
+				md = checkfield(md,'fieldname','inversion.surface_obs','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			elseif solution==BalancethicknessSoftSolutionEnum()
-				md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
+				md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			else
-				md = checkfield(md,'fieldname','inversion.vx_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
+				md = checkfield(md,'fieldname','inversion.vx_obs','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 				if ~strcmp(domaintype(md.mesh),'2Dvertical'),
-					md = checkfield(md,'fieldname','inversion.vy_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
+					md = checkfield(md,'fieldname','inversion.vy_obs','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 				end
 			end
Index: /issm/trunk-jpl/src/m/classes/m1qn3inversion.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/m1qn3inversion.py	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/m1qn3inversion.py	(revision 19897)
@@ -145,5 +145,5 @@
 		md = checkfield(md,'fieldname','inversion.incomplete_adjoint','values',[0,1])
 		md = checkfield(md,'fieldname','inversion.control_parameters','cell',1,'values',supportedcontrols())
-		md = checkfield(md,'fieldname','inversion.control_scaling_factors','size',[num_controls],'>',0,'NaN',1)
+		md = checkfield(md,'fieldname','inversion.control_scaling_factors','size',[num_controls],'>',0,'NaN',1,'Inf',1)
 		md = checkfield(md,'fieldname','inversion.maxsteps','numel',[1],'>=',0)
 		md = checkfield(md,'fieldname','inversion.maxiter','numel',[1],'>=',0)
@@ -156,8 +156,8 @@
 
 		if solution==BalancethicknessSolutionEnum():
-			md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices],'NaN',1)
+			md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices],'NaN',1,'Inf',1)
 		else:
-			md = checkfield(md,'fieldname','inversion.vx_obs','size',[md.mesh.numberofvertices],'NaN',1)
-			md = checkfield(md,'fieldname','inversion.vy_obs','size',[md.mesh.numberofvertices],'NaN',1)
+			md = checkfield(md,'fieldname','inversion.vx_obs','size',[md.mesh.numberofvertices],'NaN',1,'Inf',1)
+			md = checkfield(md,'fieldname','inversion.vy_obs','size',[md.mesh.numberofvertices],'NaN',1,'Inf',1)
 
 		return md
Index: /issm/trunk-jpl/src/m/classes/masscon.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/masscon.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/masscon.m	(revision 19897)
@@ -43,5 +43,5 @@
 			md = checkfield(md,'fieldname','self.definitionenum','field',self.definitionenum,'values',[Outputdefinition1Enum:Outputdefinition100Enum]);
 
-			md = checkfield(md,'fieldname','self.levelset','field',self.levelset,'timeseries',1,'NaN',1);
+			md = checkfield(md,'fieldname','self.levelset','field',self.levelset,'timeseries',1,'NaN',1,'Inf',1);
 
 		end % }}}
Index: /issm/trunk-jpl/src/m/classes/massconaxpby.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/massconaxpby.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/massconaxpby.m	(revision 19897)
@@ -53,6 +53,6 @@
 			md = checkfield(md,'fieldname','self.definitionenum','field',self.definitionenum,'values',[Outputdefinition1Enum:Outputdefinition100Enum]);
 
-			md = checkfield(md,'fieldname','self.alpha','field',self.alpha,'NaN',1,'size',[1 1]);
-			md = checkfield(md,'fieldname','self.betaa','field',self.beta,'NaN',1,'size',[1 1]);
+			md = checkfield(md,'fieldname','self.alpha','field',self.alpha,'NaN',1,'Inf',1,'size',[1 1]);
+			md = checkfield(md,'fieldname','self.betaa','field',self.beta,'NaN',1,'Inf',1,'size',[1 1]);
 
 		end % }}}
Index: /issm/trunk-jpl/src/m/classes/matice.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/matice.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/matice.m	(revision 19897)
@@ -147,5 +147,5 @@
 			md = checkfield(md,'fieldname','materials.rho_freshwater','>',0);
 			md = checkfield(md,'fieldname','materials.mu_water','>',0);
-			md = checkfield(md,'fieldname','materials.rheology_B','>',0,'timeseries',1,'NaN',1);
+			md = checkfield(md,'fieldname','materials.rheology_B','>',0,'timeseries',1,'NaN',1,'Inf',1);
 			md = checkfield(md,'fieldname','materials.rheology_n','>',0,'size',[md.mesh.numberofelements 1]);
 			md = checkfield(md,'fieldname','materials.rheology_law','values',{'None' 'Cuffey' 'Paterson' 'Arrhenius' 'LliboutryDuval'});
Index: /issm/trunk-jpl/src/m/classes/matice.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/matice.py	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/matice.py	(revision 19897)
@@ -123,5 +123,5 @@
 		md = checkfield(md,'fieldname','materials.rho_freshwater','>',0)
 		md = checkfield(md,'fieldname','materials.mu_water','>',0)
-		md = checkfield(md,'fieldname','materials.rheology_B','>',0,'timeseries',1,'NaN',1)
+		md = checkfield(md,'fieldname','materials.rheology_B','>',0,'timeseries',1,'NaN',1,'Inf',1)
 		md = checkfield(md,'fieldname','materials.rheology_n','>',0,'size',[md.mesh.numberofelements])
 		md = checkfield(md,'fieldname','materials.rheology_law','values',['None','Cuffey','Paterson','Arrhenius','LliboutryDuval'])
Index: /issm/trunk-jpl/src/m/classes/mesh2d.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/mesh2d.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/mesh2d.m	(revision 19897)
@@ -81,7 +81,7 @@
 		function md = checkconsistency(self,md,solution,analyses) % {{{
 
-			md = checkfield(md,'fieldname','mesh.x','NaN',1,'size',[md.mesh.numberofvertices 1]);
-			md = checkfield(md,'fieldname','mesh.y','NaN',1,'size',[md.mesh.numberofvertices 1]);
-			md = checkfield(md,'fieldname','mesh.elements','NaN',1,'>',0,'values',1:md.mesh.numberofvertices);
+			md = checkfield(md,'fieldname','mesh.x','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
+			md = checkfield(md,'fieldname','mesh.y','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
+			md = checkfield(md,'fieldname','mesh.elements','NaN',1,'Inf',1,'>',0,'values',1:md.mesh.numberofvertices);
 			md = checkfield(md,'fieldname','mesh.elements','size',[md.mesh.numberofelements 3]);
 			if any(~ismember(1:md.mesh.numberofvertices,sort(unique(md.mesh.elements(:)))));
@@ -91,5 +91,5 @@
 			md = checkfield(md,'fieldname','mesh.numberofvertices','>',0);
 			md = checkfield(md,'fieldname','mesh.average_vertex_connectivity','>=',9,'message','''mesh.average_vertex_connectivity'' should be at least 9 in 2d');
-			md = checkfield(md,'fieldname','mesh.segments','NaN',1,'>',0,'size',[NaN 3]);
+			md = checkfield(md,'fieldname','mesh.segments','NaN',1,'Inf',1,'>',0,'size',[NaN 3]);
 
 			switch(solution),
Index: /issm/trunk-jpl/src/m/classes/mesh2d.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/mesh2d.py	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/mesh2d.py	(revision 19897)
@@ -84,7 +84,7 @@
 	def checkconsistency(self,md,solution,analyses):    # {{{
 
-		md = checkfield(md,'fieldname','mesh.x','NaN',1,'size',[md.mesh.numberofvertices])
-		md = checkfield(md,'fieldname','mesh.y','NaN',1,'size',[md.mesh.numberofvertices])
-		md = checkfield(md,'fieldname','mesh.elements','NaN',1,'>',0,'values',numpy.arange(1,md.mesh.numberofvertices+1))
+		md = checkfield(md,'fieldname','mesh.x','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
+		md = checkfield(md,'fieldname','mesh.y','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
+		md = checkfield(md,'fieldname','mesh.elements','NaN',1,'Inf',1,'>',0,'values',numpy.arange(1,md.mesh.numberofvertices+1))
 		md = checkfield(md,'fieldname','mesh.elements','size',[md.mesh.numberofelements,3])
 		if numpy.any(numpy.logical_not(m.ismember(numpy.arange(1,md.mesh.numberofvertices+1),md.mesh.elements))):
Index: /issm/trunk-jpl/src/m/classes/mesh2dvertical.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/mesh2dvertical.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/mesh2dvertical.m	(revision 19897)
@@ -113,7 +113,7 @@
 		function md = checkconsistency(self,md,solution,analyses) % {{{
 
-			md = checkfield(md,'fieldname','mesh.x','NaN',1,'size',[md.mesh.numberofvertices 1]);
-			md = checkfield(md,'fieldname','mesh.y','NaN',1,'size',[md.mesh.numberofvertices 1]);
-			md = checkfield(md,'fieldname','mesh.elements','NaN',1,'>',0,'values',1:md.mesh.numberofvertices);
+			md = checkfield(md,'fieldname','mesh.x','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
+			md = checkfield(md,'fieldname','mesh.y','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
+			md = checkfield(md,'fieldname','mesh.elements','NaN',1,'Inf',1,'>',0,'values',1:md.mesh.numberofvertices);
 			md = checkfield(md,'fieldname','mesh.elements','size',[md.mesh.numberofelements 3]);
 			if any(~ismember(1:md.mesh.numberofvertices,sort(unique(md.mesh.elements(:)))));
Index: /issm/trunk-jpl/src/m/classes/mesh3dprisms.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/mesh3dprisms.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/mesh3dprisms.m	(revision 19897)
@@ -144,8 +144,8 @@
 		function md = checkconsistency(self,md,solution,analyses) % {{{
 
-			md = checkfield(md,'fieldname','mesh.x','NaN',1,'size',[md.mesh.numberofvertices 1]);
-			md = checkfield(md,'fieldname','mesh.y','NaN',1,'size',[md.mesh.numberofvertices 1]);
-			md = checkfield(md,'fieldname','mesh.z','NaN',1,'size',[md.mesh.numberofvertices 1]);
-			md = checkfield(md,'fieldname','mesh.elements','NaN',1,'>',0,'values',1:md.mesh.numberofvertices);
+			md = checkfield(md,'fieldname','mesh.x','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
+			md = checkfield(md,'fieldname','mesh.y','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
+			md = checkfield(md,'fieldname','mesh.z','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
+			md = checkfield(md,'fieldname','mesh.elements','NaN',1,'Inf',1,'>',0,'values',1:md.mesh.numberofvertices);
 			md = checkfield(md,'fieldname','mesh.elements','size',[md.mesh.numberofelements 6]);
 			if any(~ismember(1:md.mesh.numberofvertices,sort(unique(md.mesh.elements(:)))));
Index: /issm/trunk-jpl/src/m/classes/mesh3dprisms.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/mesh3dprisms.py	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/mesh3dprisms.py	(revision 19897)
@@ -106,8 +106,8 @@
 	def checkconsistency(self,md,solution,analyses):    # {{{
 
-		md = checkfield(md,'fieldname','mesh.x','NaN',1,'size',[md.mesh.numberofvertices])
-		md = checkfield(md,'fieldname','mesh.y','NaN',1,'size',[md.mesh.numberofvertices])
-		md = checkfield(md,'fieldname','mesh.z','NaN',1,'size',[md.mesh.numberofvertices])
-		md = checkfield(md,'fieldname','mesh.elements','NaN',1,'>',0,'values',numpy.arange(1,md.mesh.numberofvertices+1))
+		md = checkfield(md,'fieldname','mesh.x','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
+		md = checkfield(md,'fieldname','mesh.y','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
+		md = checkfield(md,'fieldname','mesh.z','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
+		md = checkfield(md,'fieldname','mesh.elements','NaN',1,'Inf',1,'>',0,'values',numpy.arange(1,md.mesh.numberofvertices+1))
 		md = checkfield(md,'fieldname','mesh.elements','size',[md.mesh.numberofelements,6])
 		if numpy.any(numpy.logical_not(m.ismember(numpy.arange(1,md.mesh.numberofvertices+1),md.mesh.elements))):
Index: /issm/trunk-jpl/src/m/classes/mesh3dsurface.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/mesh3dsurface.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/mesh3dsurface.m	(revision 19897)
@@ -81,11 +81,11 @@
 		function md = checkconsistency(obj,md,solution,analyses) % {{{
 
-			md = checkfield(md,'fieldname','mesh.x','NaN',1,'size',[md.mesh.numberofvertices 1]);
-			md = checkfield(md,'fieldname','mesh.y','NaN',1,'size',[md.mesh.numberofvertices 1]);
-			md = checkfield(md,'fieldname','mesh.z','NaN',1,'size',[md.mesh.numberofvertices 1]);
-			md = checkfield(md,'fieldname','mesh.lat','NaN',1,'size',[md.mesh.numberofvertices 1]);
-			md = checkfield(md,'fieldname','mesh.long','NaN',1,'size',[md.mesh.numberofvertices 1]);
-			md = checkfield(md,'fieldname','mesh.r','NaN',1,'size',[md.mesh.numberofvertices 1]);
-			md = checkfield(md,'fieldname','mesh.elements','NaN',1,'>',0,'values',1:md.mesh.numberofvertices);
+			md = checkfield(md,'fieldname','mesh.x','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
+			md = checkfield(md,'fieldname','mesh.y','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
+			md = checkfield(md,'fieldname','mesh.z','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
+			md = checkfield(md,'fieldname','mesh.lat','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
+			md = checkfield(md,'fieldname','mesh.long','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
+			md = checkfield(md,'fieldname','mesh.r','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
+			md = checkfield(md,'fieldname','mesh.elements','NaN',1,'Inf',1,'>',0,'values',1:md.mesh.numberofvertices);
 			md = checkfield(md,'fieldname','mesh.elements','size',[md.mesh.numberofelements 3]);
 			if any(~ismember(1:md.mesh.numberofvertices,sort(unique(md.mesh.elements(:)))));
Index: /issm/trunk-jpl/src/m/classes/mesh3dtetras.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/mesh3dtetras.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/mesh3dtetras.m	(revision 19897)
@@ -144,8 +144,8 @@
 		function md = checkconsistency(self,md,solution,analyses) % {{{
 
-			md = checkfield(md,'fieldname','mesh.x','NaN',1,'size',[md.mesh.numberofvertices 1]);
-			md = checkfield(md,'fieldname','mesh.y','NaN',1,'size',[md.mesh.numberofvertices 1]);
-			md = checkfield(md,'fieldname','mesh.z','NaN',1,'size',[md.mesh.numberofvertices 1]);
-			md = checkfield(md,'fieldname','mesh.elements','NaN',1,'>',0,'values',1:md.mesh.numberofvertices);
+			md = checkfield(md,'fieldname','mesh.x','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
+			md = checkfield(md,'fieldname','mesh.y','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
+			md = checkfield(md,'fieldname','mesh.z','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
+			md = checkfield(md,'fieldname','mesh.elements','NaN',1,'Inf',1,'>',0,'values',1:md.mesh.numberofvertices);
 			md = checkfield(md,'fieldname','mesh.elements','size',[md.mesh.numberofelements 4]);
 			if any(~ismember(1:md.mesh.numberofvertices,sort(unique(md.mesh.elements(:)))));
Index: /issm/trunk-jpl/src/m/classes/misfit.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/misfit.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/misfit.m	(revision 19897)
@@ -64,7 +64,7 @@
 				error('misfit error message: ''timeinterpolation'' field should be a string!');
 			end
-			md = checkfield(md,'fieldname','self.observation','field',self.observation,'timeseries',1,'NaN',1);
+			md = checkfield(md,'fieldname','self.observation','field',self.observation,'timeseries',1,'NaN',1,'Inf',1);
 			md = checkfield(md,'fieldname','self.timeinterpolation','field',self.timeinterpolation,'values',{'nearestneighbor'});
-			md = checkfield(md,'fieldname','self.weights','field',self.weights,'timeseries',1,'NaN',1);
+			md = checkfield(md,'fieldname','self.weights','field',self.weights,'timeseries',1,'NaN',1,'Inf',1);
 
 		end % }}}
Index: /issm/trunk-jpl/src/m/classes/mismipbasalforcings.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/mismipbasalforcings.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/mismipbasalforcings.m	(revision 19897)
@@ -49,5 +49,5 @@
 
 			if ismember(MasstransportAnalysisEnum(),analyses) & ~(solution==TransientSolutionEnum() & md.transient.ismasstransport==0),
-				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'timeseries',1);
+				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'timeseries',1);
 				md = checkfield(md,'fieldname','basalforcings.meltrate_factor','>=',0,'numel',1);
 				md = checkfield(md,'fieldname','basalforcings.threshold_thickness','>=',0,'numel',1);
@@ -55,5 +55,5 @@
 			end
 			if ismember(BalancethicknessAnalysisEnum(),analyses),
-				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'size',[md.mesh.numberofvertices 1]);
+				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
 				md = checkfield(md,'fieldname','basalforcings.meltrate_factor','>=',0,'numel',1);
 				md = checkfield(md,'fieldname','basalforcings.threshold_thickness','>=',0,'numel',1);
@@ -61,9 +61,9 @@
 			end
 			if ismember(ThermalAnalysisEnum(),analyses) & ~(solution==TransientSolutionEnum() & md.transient.isthermal==0),
-				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'timeseries',1);
+				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'timeseries',1);
 				md = checkfield(md,'fieldname','basalforcings.meltrate_factor','>=',0,'numel',1);
 				md = checkfield(md,'fieldname','basalforcings.threshold_thickness','>=',0,'numel',1);
 				md = checkfield(md,'fieldname','basalforcings.upperdepth_melt','<=',0,'numel',1);
-				md = checkfield(md,'fieldname','basalforcings.geothermalflux','NaN',1,'timeseries',1,'>=',0);
+				md = checkfield(md,'fieldname','basalforcings.geothermalflux','NaN',1,'Inf',1,'timeseries',1,'>=',0);
 			end
 			if isnan(md.geometry.bed),
Index: /issm/trunk-jpl/src/m/classes/mismipbasalforcings.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/mismipbasalforcings.py	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/mismipbasalforcings.py	(revision 19897)
@@ -58,5 +58,5 @@
         if MasstransportAnalysisEnum() in analyses and not (solution==TransientSolutionEnum() and md.transient.ismasstransport==0):
 
-	    md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'timeseries',1)
+	    md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'timeseries',1)
 	    md = checkfield(md,'fieldname','basalforcings.meltrate_factor','>=',0,'numel',[1])
 	    md = checkfield(md,'fieldname','basalforcings.threshold_thickness','>=',0,'numel',[1])
@@ -65,5 +65,5 @@
         if BalancethicknessAnalysisEnum() in analyses:
 
-	    md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'size',[md.mesh.numberofvertices])
+	    md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
 	    md = checkfield(md,'fieldname','basalforcings.meltrate_factor','>=',0,'numel',[1])
 	    md = checkfield(md,'fieldname','basalforcings.threshold_thickness','>=',0,'numel',[1])
@@ -72,9 +72,9 @@
         if ThermalAnalysisEnum() in analyses and not (solution==TransientSolutionEnum() and md.transient.isthermal==0):
 
-	    md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'timeseries',1)
+	    md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'timeseries',1)
 	    md = checkfield(md,'fieldname','basalforcings.meltrate_factor','>=',0,'numel',[1])
 	    md = checkfield(md,'fieldname','basalforcings.threshold_thickness','>=',0,'numel',[1])
 	    md = checkfield(md,'fieldname','basalforcings.upperdepth_melt','<=',0,'numel',[1])
-	    md = checkfield(md,'fieldname','basalforcings.geothermalflux','NaN',1,'timeseries',1,'>=',0)
+	    md = checkfield(md,'fieldname','basalforcings.geothermalflux','NaN',1,'Inf',1,'timeseries',1,'>=',0)
 	return md
     # }}}
Index: /issm/trunk-jpl/src/m/classes/spheremesh.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/spheremesh.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/spheremesh.m	(revision 19897)
@@ -41,11 +41,11 @@
 		function md = checkconsistency(self,md,solution,analyses) % {{{
 
-			md = checkfield(md,'fieldname','spheremesh.x','NaN',1,'size',[md.spheremesh.numberofvertices 1]);
-			md = checkfield(md,'fieldname','spheremesh.y','NaN',1,'size',[md.spheremesh.numberofvertices 1]);
-			md = checkfield(md,'fieldname','spheremesh.z','NaN',1,'size',[md.spheremesh.numberofvertices 1]);
-			md = checkfield(md,'fieldname','spheremesh.r','NaN',1,'size',[md.spheremesh.numberofvertices 1]);
-			md = checkfield(md,'fieldname','spheremesh.theta','NaN',1,'size',[md.spheremesh.numberofvertices 1]);
-			md = checkfield(md,'fieldname','spheremesh.phi','NaN',1,'size',[md.spheremesh.numberofvertices 1]);
-			md = checkfield(md,'fieldname','spheremesh.elements','NaN',1,'>',0,'values',1:md.spheremesh.numberofvertices);
+			md = checkfield(md,'fieldname','spheremesh.x','NaN',1,'Inf',1,'size',[md.spheremesh.numberofvertices 1]);
+			md = checkfield(md,'fieldname','spheremesh.y','NaN',1,'Inf',1,'size',[md.spheremesh.numberofvertices 1]);
+			md = checkfield(md,'fieldname','spheremesh.z','NaN',1,'Inf',1,'size',[md.spheremesh.numberofvertices 1]);
+			md = checkfield(md,'fieldname','spheremesh.r','NaN',1,'Inf',1,'size',[md.spheremesh.numberofvertices 1]);
+			md = checkfield(md,'fieldname','spheremesh.theta','NaN',1,'Inf',1,'size',[md.spheremesh.numberofvertices 1]);
+			md = checkfield(md,'fieldname','spheremesh.phi','NaN',1,'Inf',1,'size',[md.spheremesh.numberofvertices 1]);
+			md = checkfield(md,'fieldname','spheremesh.elements','NaN',1,'Inf',1,'>',0,'values',1:md.spheremesh.numberofvertices);
 			md = checkfield(md,'fieldname','spheremesh.elements','size',[md.spheremesh.numberofelements 3]);
 			if any(~ismember(1:md.spheremesh.numberofvertices,sort(unique(md.spheremesh.elements(:)))));
@@ -55,5 +55,5 @@
 			md = checkfield(md,'fieldname','spheremesh.numberofelements','>',0);
 			md = checkfield(md,'fieldname','spheremesh.numberofvertices','>',0);
-			md = checkfield(md,'fieldname','spheremesh.elementconnectivity','size',[md.spheremesh.numberofelements 3],'NaN',1);
+			md = checkfield(md,'fieldname','spheremesh.elementconnectivity','size',[md.spheremesh.numberofelements 3],'NaN',1,'Inf',1);
 		end % }}}
 		function disp(self) % {{{
Index: /issm/trunk-jpl/src/m/classes/stressbalance.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/stressbalance.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/stressbalance.m	(revision 19897)
@@ -137,10 +137,10 @@
 			md = checkfield(md,'fieldname','stressbalance.spcvy','timeseries',1);
 			md = checkfield(md,'fieldname','stressbalance.spcvz','timeseries',1);
-			md = checkfield(md,'fieldname','stressbalance.restol','size',[1 1],'>',0,'NaN',1);
+			md = checkfield(md,'fieldname','stressbalance.restol','size',[1 1],'>',0,'NaN',1,'Inf',1);
 			md = checkfield(md,'fieldname','stressbalance.reltol','size',[1 1]);
 			md = checkfield(md,'fieldname','stressbalance.abstol','size',[1 1]);
 			md = checkfield(md,'fieldname','stressbalance.isnewton','numel',[1],'values',[0 1 2]);
-			md = checkfield(md,'fieldname','stressbalance.FSreconditioning','size',[1 1],'NaN',1);
-			md = checkfield(md,'fieldname','stressbalance.viscosity_overshoot','size',[1 1],'NaN',1);
+			md = checkfield(md,'fieldname','stressbalance.FSreconditioning','size',[1 1],'NaN',1,'Inf',1);
+			md = checkfield(md,'fieldname','stressbalance.viscosity_overshoot','size',[1 1],'NaN',1,'Inf',1);
 			md = checkfield(md,'fieldname','stressbalance.maxiter','size',[1 1],'>=',1);
 			md = checkfield(md,'fieldname','stressbalance.referential','size',[md.mesh.numberofvertices 6]);
Index: /issm/trunk-jpl/src/m/classes/stressbalance.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/stressbalance.py	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/stressbalance.py	(revision 19897)
@@ -141,6 +141,6 @@
 		md = checkfield(md,'fieldname','stressbalance.abstol','size',[1])
 		md = checkfield(md,'fieldname','stressbalance.isnewton','numel',[1],'values',[0,1,2])
-		md = checkfield(md,'fieldname','stressbalance.FSreconditioning','size',[1],'NaN',1)
-		md = checkfield(md,'fieldname','stressbalance.viscosity_overshoot','size',[1],'NaN',1)
+		md = checkfield(md,'fieldname','stressbalance.FSreconditioning','size',[1],'NaN',1,'Inf',1)
+		md = checkfield(md,'fieldname','stressbalance.viscosity_overshoot','size',[1],'NaN',1,'Inf',1)
 		md = checkfield(md,'fieldname','stressbalance.maxiter','size',[1],'>=',1)
 		md = checkfield(md,'fieldname','stressbalance.referential','size',[md.mesh.numberofvertices,6])
Index: /issm/trunk-jpl/src/m/classes/taoinversion.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/taoinversion.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/taoinversion.m	(revision 19897)
@@ -118,10 +118,10 @@
 
 			if solution==BalancethicknessSolutionEnum()
-				md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
+				md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			elseif solution==BalancethicknessSoftSolutionEnum()
-				md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
+				md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			else
-				md = checkfield(md,'fieldname','inversion.vx_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
-				md = checkfield(md,'fieldname','inversion.vy_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
+				md = checkfield(md,'fieldname','inversion.vx_obs','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
+				md = checkfield(md,'fieldname','inversion.vy_obs','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			end
 		end % }}}
Index: /issm/trunk-jpl/src/m/classes/taoinversion.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/taoinversion.py	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/taoinversion.py	(revision 19897)
@@ -156,10 +156,10 @@
 
 		if solution==BalancethicknessSolutionEnum():
-			md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices, 1],'NaN',1)
+			md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices, 1],'NaN',1,'Inf',1)
 		elif solution==BalancethicknessSoftSolutionEnum():
-			md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices, 1],'NaN',1)
+			md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices, 1],'NaN',1,'Inf',1)
 		else:
-			md = checkfield(md,'fieldname','inversion.vx_obs','size',[md.mesh.numberofvertices, 1],'NaN',1)
-			md = checkfield(md,'fieldname','inversion.vy_obs','size',[md.mesh.numberofvertices, 1],'NaN',1)
+			md = checkfield(md,'fieldname','inversion.vx_obs','size',[md.mesh.numberofvertices, 1],'NaN',1,'Inf',1)
+			md = checkfield(md,'fieldname','inversion.vy_obs','size',[md.mesh.numberofvertices, 1],'NaN',1,'Inf',1)
 
 		def marshall(self, md, fid):
Index: /issm/trunk-jpl/src/m/classes/timestepping.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/timestepping.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/timestepping.m	(revision 19897)
@@ -53,7 +53,7 @@
 		function md = checkconsistency(self,md,solution,analyses) % {{{
 
-			md = checkfield(md,'fieldname','timestepping.start_time','numel',[1],'NaN',1);
-			md = checkfield(md,'fieldname','timestepping.final_time','numel',[1],'NaN',1);
-			md = checkfield(md,'fieldname','timestepping.time_step','numel',[1],'>=',0,'NaN',1);
+			md = checkfield(md,'fieldname','timestepping.start_time','numel',[1],'NaN',1,'Inf',1);
+			md = checkfield(md,'fieldname','timestepping.final_time','numel',[1],'NaN',1,'Inf',1);
+			md = checkfield(md,'fieldname','timestepping.time_step','numel',[1],'>=',0,'NaN',1,'Inf',1);
 			md = checkfield(md,'fieldname','timestepping.time_adapt','numel',[1],'values',[0 1]);
 			md = checkfield(md,'fieldname','timestepping.cfl_coefficient','numel',[1],'>',0,'<=',1);
Index: /issm/trunk-jpl/src/m/classes/timestepping.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/timestepping.py	(revision 19896)
+++ /issm/trunk-jpl/src/m/classes/timestepping.py	(revision 19897)
@@ -53,7 +53,7 @@
 	def checkconsistency(self,md,solution,analyses):    # {{{
 
-		md = checkfield(md,'fieldname','timestepping.start_time','numel',[1],'NaN',1)
-		md = checkfield(md,'fieldname','timestepping.final_time','numel',[1],'NaN',1)
-		md = checkfield(md,'fieldname','timestepping.time_step','numel',[1],'>=',0,'NaN',1)
+		md = checkfield(md,'fieldname','timestepping.start_time','numel',[1],'NaN',1,'Inf',1)
+		md = checkfield(md,'fieldname','timestepping.final_time','numel',[1],'NaN',1,'Inf',1)
+		md = checkfield(md,'fieldname','timestepping.time_step','numel',[1],'>=',0,'NaN',1,'Inf',1)
 		md = checkfield(md,'fieldname','timestepping.time_adapt','numel',[1],'values',[0,1])
 		md = checkfield(md,'fieldname','timestepping.cfl_coefficient','numel',[1],'>',0,'<=',1)
Index: /issm/trunk-jpl/src/m/consistency/checkfield.m
===================================================================
--- /issm/trunk-jpl/src/m/consistency/checkfield.m	(revision 19896)
+++ /issm/trunk-jpl/src/m/consistency/checkfield.m	(revision 19897)
@@ -8,4 +8,5 @@
 %   Available options:
 %      - NaN: 1 if check that there is no NaN
+%      - Inf: 1 if check that there is no Inf
 %      - size: [lines cols], NaN for non checked dimensions
 %      - >:  greater than provided value
@@ -91,4 +92,14 @@
 	end
 end
+
+%check Inf
+if getfieldvalue(options,'Inf',0);
+	field2=reshape(field,prod(size(field)),1);
+	if any(isinf(field2)),
+		md = checkmessage(md,getfieldvalue(options,'message',...
+			['Inf values found in field ''' fieldname '''']));
+	end
+end
+
 
 %check cell
