Index: ../trunk-jpl/src/py3/classes/SMBforcing.py =================================================================== --- ../trunk-jpl/src/py3/classes/SMBforcing.py (revision 19897) +++ ../trunk-jpl/src/py3/classes/SMBforcing.py (revision 19898) @@ -42,10 +42,10 @@ def checkconsistency(self,md,solution,analyses): # {{{ 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) return md Index: ../trunk-jpl/src/py3/classes/calvinglevermann.py =================================================================== --- ../trunk-jpl/src/py3/classes/calvinglevermann.py (revision 19897) +++ ../trunk-jpl/src/py3/classes/calvinglevermann.py (revision 19898) @@ -55,7 +55,7 @@ md = checkfield(md,'fieldname','calving.spclevelset','timeseries',1) 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 # }}} def marshall(self,md,fid): # {{{ Index: ../trunk-jpl/src/py3/classes/m1qn3inversion.py =================================================================== --- ../trunk-jpl/src/py3/classes/m1qn3inversion.py (revision 19897) +++ ../trunk-jpl/src/py3/classes/m1qn3inversion.py (revision 19898) @@ -144,7 +144,7 @@ md = checkfield(md,'fieldname','inversion.iscontrol','values',[0,1]) 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) md = checkfield(md,'fieldname','inversion.dxmin','numel',[1],'>',0.) @@ -155,10 +155,10 @@ md = checkfield(md,'fieldname','inversion.max_parameters','size',[md.mesh.numberofvertices,num_controls]) 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: ../trunk-jpl/src/py3/classes/frictioncoulomb.py =================================================================== --- ../trunk-jpl/src/py3/classes/frictioncoulomb.py (revision 19897) +++ ../trunk-jpl/src/py3/classes/frictioncoulomb.py (revision 19898) @@ -47,10 +47,10 @@ if StressbalanceAnalysisEnum() not in analyses and ThermalAnalysisEnum() not in analyses: 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: ../trunk-jpl/src/py3/classes/gia.py =================================================================== --- ../trunk-jpl/src/py3/classes/gia.py (revision 19897) +++ ../trunk-jpl/src/py3/classes/gia.py (revision 19898) @@ -47,8 +47,8 @@ if (GiaAnalysisEnum() not in analyses): 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]) #be sure that if we are running a masstransport ice flow model coupled with gia, that thickness forcings Index: ../trunk-jpl/src/py3/classes/balancethickness.py =================================================================== --- ../trunk-jpl/src/py3/classes/balancethickness.py (revision 19897) +++ ../trunk-jpl/src/py3/classes/balancethickness.py (revision 19898) @@ -42,7 +42,7 @@ return md 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]) return md Index: ../trunk-jpl/src/py3/classes/SMBd18opdd.py =================================================================== --- ../trunk-jpl/src/py3/classes/SMBd18opdd.py (revision 19897) +++ ../trunk-jpl/src/py3/classes/SMBd18opdd.py (revision 19898) @@ -90,15 +90,15 @@ 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]) md = checkfield(md,'fieldname','masstransport.requested_outputs','stringrow',1) Index: ../trunk-jpl/src/py3/classes/linearbasalforcings.py =================================================================== --- ../trunk-jpl/src/py3/classes/linearbasalforcings.py (revision 19897) +++ ../trunk-jpl/src/py3/classes/linearbasalforcings.py (revision 19898) @@ -68,23 +68,23 @@ def checkconsistency(self,md,solution,analyses): # {{{ 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); md = checkfield(md,'fieldname','basalforcings.upperwater_elevation','<',0); 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); md = checkfield(md,'fieldname','basalforcings.upperwater_elevation','<',0); 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: ../trunk-jpl/src/py3/classes/SMBpdd.py =================================================================== --- ../trunk-jpl/src/py3/classes/SMBpdd.py (revision 19897) +++ ../trunk-jpl/src/py3/classes/SMBpdd.py (revision 19898) @@ -119,31 +119,31 @@ 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) return md Index: ../trunk-jpl/src/py3/classes/taoinversion.py =================================================================== --- ../trunk-jpl/src/py3/classes/taoinversion.py (revision 19897) +++ ../trunk-jpl/src/py3/classes/taoinversion.py (revision 19898) @@ -155,12 +155,12 @@ 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: ../trunk-jpl/src/py3/classes/frictionweertman.py =================================================================== --- ../trunk-jpl/src/py3/classes/frictionweertman.py (revision 19897) +++ ../trunk-jpl/src/py3/classes/frictionweertman.py (revision 19898) @@ -36,8 +36,8 @@ if StressbalanceAnalysisEnum() not in analyses and ThermalAnalysisEnum() not in analyses: 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: ../trunk-jpl/src/py3/classes/mesh3dprisms.py =================================================================== --- ../trunk-jpl/src/py3/classes/mesh3dprisms.py (revision 19897) +++ ../trunk-jpl/src/py3/classes/mesh3dprisms.py (revision 19898) @@ -105,10 +105,10 @@ #}}} 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))): md.checkmessage("orphan nodes have been found. Check the mesh3dprisms outline") Index: ../trunk-jpl/src/py3/classes/SMBgradients.py =================================================================== --- ../trunk-jpl/src/py3/classes/SMBgradients.py (revision 19897) +++ ../trunk-jpl/src/py3/classes/SMBgradients.py (revision 19898) @@ -48,10 +48,10 @@ def checkconsistency(self,md,solution,analyses): # {{{ 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) return md Index: ../trunk-jpl/src/py3/classes/calving.py =================================================================== --- ../trunk-jpl/src/py3/classes/calving.py (revision 19897) +++ ../trunk-jpl/src/py3/classes/calving.py (revision 19898) @@ -54,8 +54,8 @@ 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: ../trunk-jpl/src/py3/classes/SMBcomponents.py =================================================================== --- ../trunk-jpl/src/py3/classes/SMBcomponents.py (revision 19897) +++ ../trunk-jpl/src/py3/classes/SMBcomponents.py (revision 19898) @@ -55,22 +55,22 @@ def checkconsistency(self,md,solution,analyses): # {{{ 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: ../trunk-jpl/src/py3/classes/stressbalance.py =================================================================== --- ../trunk-jpl/src/py3/classes/stressbalance.py (revision 19897) +++ ../trunk-jpl/src/py3/classes/stressbalance.py (revision 19898) @@ -140,8 +140,8 @@ md = checkfield(md,'fieldname','stressbalance.reltol','size',[1]) 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]) md = checkfield(md,'fieldname','stressbalance.loadingforce','size',[md.mesh.numberofvertices,3]) Index: ../trunk-jpl/src/py3/classes/geometry.py =================================================================== --- ../trunk-jpl/src/py3/classes/geometry.py (revision 19897) +++ ../trunk-jpl/src/py3/classes/geometry.py (revision 19898) @@ -45,13 +45,13 @@ #}}} 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: ../trunk-jpl/src/py3/classes/mismipbasalforcings.py =================================================================== --- ../trunk-jpl/src/py3/classes/mismipbasalforcings.py (revision 19897) +++ ../trunk-jpl/src/py3/classes/mismipbasalforcings.py (revision 19898) @@ -57,25 +57,25 @@ #Early return 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]) md = checkfield(md,'fieldname','basalforcings.upperdepth_melt','<=',0,'numel',[1]) 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]) md = checkfield(md,'fieldname','basalforcings.upperdepth_melt','<=',0,'numel',[1]) 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 # }}} def marshall(self,md,fid): # {{{ Index: ../trunk-jpl/src/py3/classes/matice.py =================================================================== --- ../trunk-jpl/src/py3/classes/matice.py (revision 19897) +++ ../trunk-jpl/src/py3/classes/matice.py (revision 19898) @@ -122,7 +122,7 @@ md = checkfield(md,'fieldname','materials.rho_water','>',0) 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']) md = checkfield(md,'fieldname','materials.lithosphere_shear_modulus','>',0,'numel',[1]); Index: ../trunk-jpl/src/py3/classes/timestepping.py =================================================================== --- ../trunk-jpl/src/py3/classes/timestepping.py (revision 19897) +++ ../trunk-jpl/src/py3/classes/timestepping.py (revision 19898) @@ -52,9 +52,9 @@ #}}} 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) if self.final_time-self.start_time<0: Index: ../trunk-jpl/src/py3/classes/SMBmeltcomponents.py =================================================================== --- ../trunk-jpl/src/py3/classes/SMBmeltcomponents.py (revision 19897) +++ ../trunk-jpl/src/py3/classes/SMBmeltcomponents.py (revision 19898) @@ -61,28 +61,28 @@ def checkconsistency(self,md,solution,analyses): # {{{ 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) return md Index: ../trunk-jpl/src/py3/classes/inversion.py =================================================================== --- ../trunk-jpl/src/py3/classes/inversion.py (revision 19897) +++ ../trunk-jpl/src/py3/classes/inversion.py (revision 19898) @@ -150,10 +150,10 @@ md.checkmessage("'inversion can only be performed for SSA, HO or FS ice flow models"); 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: ../trunk-jpl/src/py3/classes/friction.py =================================================================== --- ../trunk-jpl/src/py3/classes/friction.py (revision 19897) +++ ../trunk-jpl/src/py3/classes/friction.py (revision 19898) @@ -44,9 +44,9 @@ if StressbalanceAnalysisEnum() not in analyses and ThermalAnalysisEnum() not in analyses: 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: ../trunk-jpl/src/py3/classes/basalforcings.py =================================================================== --- ../trunk-jpl/src/py3/classes/basalforcings.py (revision 19897) +++ ../trunk-jpl/src/py3/classes/basalforcings.py (revision 19898) @@ -54,17 +54,17 @@ def checkconsistency(self,md,solution,analyses): # {{{ 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: ../trunk-jpl/src/py3/classes/mesh2d.py =================================================================== --- ../trunk-jpl/src/py3/classes/mesh2d.py (revision 19897) +++ ../trunk-jpl/src/py3/classes/mesh2d.py (revision 19898) @@ -83,9 +83,9 @@ #}}} 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))): if any(numpy.logical_not(m.ismember(numpy.arange(1,md.mesh.numberofvertices+1),md.mesh.elements))): Index: ../trunk-jpl/src/py3/classes/initialization.py =================================================================== --- ../trunk-jpl/src/py3/classes/initialization.py (revision 19897) +++ ../trunk-jpl/src/py3/classes/initialization.py (revision 19898) @@ -70,39 +70,39 @@ def checkconsistency(self,md,solution,analyses): # {{{ 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,\ numpy.sum(numpy.abs(md.initialization.vy[md.mesh.elements-1]),axis=1)==0)): 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]) md = checkfield(md,'fieldname','initialization.watercolumn' ,'>=',0,'size',[md.mesh.numberofvertices]) 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: ../trunk-jpl/src/py3/classes/hydrologydc.py =================================================================== --- ../trunk-jpl/src/py3/classes/hydrologydc.py (revision 19897) +++ ../trunk-jpl/src/py3/classes/hydrologydc.py (revision 19898) @@ -162,7 +162,7 @@ if self.transfer_flag==1: 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]) md = checkfield(md,'fieldname','hydrology.sediment_porosity','>',0.,'numel',[1])