Changeset 16764


Ignore:
Timestamp:
11/14/13 14:50:13 (11 years ago)
Author:
Eric.Larour
Message:

CHG: checkfield could not run for massatfluggate or misfit classes, because these classes do not
have access to their own fields through the model! So we modified checkfield.m and checkfield.py to accept
either directly a field, or indirectly a fieldname which then is used to retrieve from the model.

Location:
issm/trunk-jpl/src/m
Files:
64 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified issm/trunk-jpl/src/m/classes/autodiff.m

    r16400 r16764  
    4242
    4343                        %Driver value:
    44                         md = checkfield(md,'autodiff.driver','values',{'fos_forward','fov_forward','fov_forward_all','fos_reverse','fov_reverse','fov_reverse_all'});
     44                        md = checkfield(md,'fieldname','autodiff.driver','values',{'fos_forward','fov_forward','fov_forward_all','fos_reverse','fov_reverse','fov_reverse_all'});
    4545                       
    4646                        %buffer values:
    47                         md = checkfield(md,'autodiff.obufsize','>=',16);
    48                         md = checkfield(md,'autodiff.lbufsize','>=',16);
    49                         md = checkfield(md,'autodiff.cbufsize','>=',16);
    50                         md = checkfield(md,'autodiff.tbufsize','>=',16);
    51                         md = checkfield(md,'autodiff.gcTriggerRatio','>=',0);
    52                         md = checkfield(md,'autodiff.gcTriggerMaxSize','>=',65536);
     47                        md = checkfield(md,'fieldname','autodiff.obufsize','>=',16);
     48                        md = checkfield(md,'fieldname','autodiff.lbufsize','>=',16);
     49                        md = checkfield(md,'fieldname','autodiff.cbufsize','>=',16);
     50                        md = checkfield(md,'fieldname','autodiff.tbufsize','>=',16);
     51                        md = checkfield(md,'fieldname','autodiff.gcTriggerRatio','>=',0);
     52                        md = checkfield(md,'fieldname','autodiff.gcTriggerMaxSize','>=',65536);
    5353
    5454                        %go through our dependents and independents and check consistency:
  • TabularUnified issm/trunk-jpl/src/m/classes/autodiff.py

    r16400 r16764  
    6262                        return md
    6363               
    64                 md = checkfield(md,'autodiff.obufsize','>=',524288)
    65                 md = checkfield(md,'autodiff.lbufsize','>=',524288)
    66                 md = checkfield(md,'autodiff.cbufsize','>=',524288)
    67                 md = checkfield(md,'autodiff.tbufsize','>=',524288)
    68                 md = checkfield(md,'autodiff.gcTriggerRatio','>=',2.0)
    69                 md = checkfield(md,'autodiff.gcTriggerMaxSize','>=',2000000)
     64                md = checkfield(md,'fieldname','autodiff.obufsize','>=',524288)
     65                md = checkfield(md,'fieldname','autodiff.lbufsize','>=',524288)
     66                md = checkfield(md,'fieldname','autodiff.cbufsize','>=',524288)
     67                md = checkfield(md,'fieldname','autodiff.tbufsize','>=',524288)
     68                md = checkfield(md,'fieldname','autodiff.gcTriggerRatio','>=',2.0)
     69                md = checkfield(md,'fieldname','autodiff.gcTriggerMaxSize','>=',2000000)
    7070
    7171                #Driver value:
    72                 md = checkfield(md,'autodiff.driver','values',['fos_forward','fov_forward','fov_forward_all','fos_reverse','fov_reverse','fov_reverse_all'])
     72                md = checkfield(md,'fieldname','autodiff.driver','values',['fos_forward','fov_forward','fov_forward_all','fos_reverse','fov_reverse','fov_reverse_all'])
    7373
    7474                #go through our dependents and independents and check consistency:
  • TabularUnified issm/trunk-jpl/src/m/classes/balancethickness.m

    r15567 r16764  
    2929                        if solution~=BalancethicknessSolutionEnum(), return; end
    3030
    31                         md = checkfield(md,'balancethickness.spcthickness');
    32                         md = checkfield(md,'balancethickness.thickening_rate','size',[md.mesh.numberofvertices 1],'NaN',1);
    33                         md = checkfield(md,'balancethickness.stabilization','size',[1 1],'values',[0 1 2 3]);
     31                        md = checkfield(md,'fieldname','balancethickness.spcthickness');
     32                        md = checkfield(md,'fieldname','balancethickness.thickening_rate','size',[md.mesh.numberofvertices 1],'NaN',1);
     33                        md = checkfield(md,'fieldname','balancethickness.stabilization','size',[1 1],'values',[0 1 2 3]);
    3434                end % }}}
    3535                function disp(obj) % {{{
  • TabularUnified issm/trunk-jpl/src/m/classes/balancethickness.py

    r15567 r16764  
    4242                        return md
    4343
    44                 md = checkfield(md,'balancethickness.spcthickness')
    45                 md = checkfield(md,'balancethickness.thickening_rate','size',[md.mesh.numberofvertices],'NaN',1)
    46                 md = checkfield(md,'balancethickness.stabilization','size',[1],'values',[0,1,2,3])
     44                md = checkfield(md,'fieldname','balancethickness.spcthickness')
     45                md = checkfield(md,'fieldname','balancethickness.thickening_rate','size',[md.mesh.numberofvertices],'NaN',1)
     46                md = checkfield(md,'fieldname','balancethickness.stabilization','size',[1],'values',[0,1,2,3])
    4747
    4848                return md
  • TabularUnified issm/trunk-jpl/src/m/classes/basalforcings.m

    r15767 r16764  
    2525
    2626                        if ismember(MasstransportAnalysisEnum(),analyses) & ~(solution==TransientSolutionEnum() & md.transient.ismasstransport==0),
    27                                 md = checkfield(md,'basalforcings.melting_rate','NaN',1,'forcing',1);
     27                                md = checkfield(md,'fieldname','basalforcings.melting_rate','NaN',1,'forcing',1);
    2828                        end
    2929                        if ismember(BalancethicknessAnalysisEnum(),analyses),
    30                                 md = checkfield(md,'basalforcings.melting_rate','NaN',1,'size',[md.mesh.numberofvertices 1]);
     30                                md = checkfield(md,'fieldname','basalforcings.melting_rate','NaN',1,'size',[md.mesh.numberofvertices 1]);
    3131                        end
    3232                        if ismember(ThermalAnalysisEnum(),analyses) & ~(solution==TransientSolutionEnum() & md.transient.isthermal==0),
    33                                 md = checkfield(md,'basalforcings.melting_rate','NaN',1,'forcing',1);
    34                                 md = checkfield(md,'basalforcings.geothermalflux','NaN',1,'forcing',1,'>=',0);
     33                                md = checkfield(md,'fieldname','basalforcings.melting_rate','NaN',1,'forcing',1);
     34                                md = checkfield(md,'fieldname','basalforcings.geothermalflux','NaN',1,'forcing',1,'>=',0);
    3535                        end
    3636                end % }}}
  • TabularUnified issm/trunk-jpl/src/m/classes/basalforcings.py

    r15767 r16764  
    3636
    3737                if MasstransportAnalysisEnum() in analyses and not (solution==TransientSolutionEnum() and not md.transient.ismasstransport):
    38                         md = checkfield(md,'basalforcings.melting_rate','NaN',1,'forcing',1)
     38                        md = checkfield(md,'fieldname','basalforcings.melting_rate','NaN',1,'forcing',1)
    3939
    4040                if BalancethicknessAnalysisEnum() in analyses:
    41                         md = checkfield(md,'basalforcings.melting_rate','NaN',1,'size',[md.mesh.numberofvertices])
     41                        md = checkfield(md,'fieldname','basalforcings.melting_rate','NaN',1,'size',[md.mesh.numberofvertices])
    4242
    4343                if ThermalAnalysisEnum() in analyses and not (solution==TransientSolutionEnum() and not md.transient.isthermal):
    44                         md = checkfield(md,'basalforcings.melting_rate','NaN',1,'forcing',1)
    45                         md = checkfield(md,'basalforcings.geothermalflux','NaN',1,'forcing',1,'>=',0)
     44                        md = checkfield(md,'fieldname','basalforcings.melting_rate','NaN',1,'forcing',1)
     45                        md = checkfield(md,'fieldname','basalforcings.geothermalflux','NaN',1,'forcing',1,'>=',0)
    4646
    4747                return md
  • TabularUnified issm/trunk-jpl/src/m/classes/constants.m

    r15131 r16764  
    3333                function md = checkconsistency(obj,md,solution,analyses) % {{{
    3434
    35 %                       md = checkfield(md,'constants.g','>',0,'size',[1 1]);
    36                         md = checkfield(md,'constants.yts','>',0,'size',[1 1]);
    37                         md = checkfield(md,'constants.referencetemperature','size',[1 1]);
     35%                       md = checkfield(md,'fieldname','constants.g','>',0,'size',[1 1]);
     36                        md = checkfield(md,'fieldname','constants.yts','>',0,'size',[1 1]);
     37                        md = checkfield(md,'fieldname','constants.referencetemperature','size',[1 1]);
    3838
    3939                end % }}}
  • TabularUnified issm/trunk-jpl/src/m/classes/constants.py

    r15131 r16764  
    4545        def checkconsistency(self,md,solution,analyses):    # {{{
    4646
    47                 md = checkfield(md,'constants.g','>',0,'size',[1])
    48                 md = checkfield(md,'constants.yts','>',0,'size',[1])
    49                 md = checkfield(md,'constants.referencetemperature','size',[1])
     47                md = checkfield(md,'fieldname','constants.g','>',0,'size',[1])
     48                md = checkfield(md,'fieldname','constants.yts','>',0,'size',[1])
     49                md = checkfield(md,'fieldname','constants.referencetemperature','size',[1])
    5050
    5151                return md
  • TabularUnified issm/trunk-jpl/src/m/classes/damage.m

    r16304 r16764  
    8080                function md = checkconsistency(obj,md,solution,analyses) % {{{
    8181                       
    82                         md = checkfield(md,'damage.D','>=',0,'<=',obj.max_damage,'size',[md.mesh.numberofvertices 1]);
    83                         md = checkfield(md,'damage.max_damage','<',1,'>=',0);
    84                         md = checkfield(md,'damage.law','values',{'undamaged','pralong'});
    85                         md = checkfield(md,'damage.spcdamage','forcing',1);
     82                        md = checkfield(md,'fieldname','damage.D','>=',0,'<=',obj.max_damage,'size',[md.mesh.numberofvertices 1]);
     83                        md = checkfield(md,'fieldname','damage.max_damage','<',1,'>=',0);
     84                        md = checkfield(md,'fieldname','damage.law','values',{'undamaged','pralong'});
     85                        md = checkfield(md,'fieldname','damage.spcdamage','forcing',1);
    8686                       
    87                         md = checkfield(md,'damage.stabilization','numel',[1],'values',[0 1 2]);
    88                         md = checkfield(md,'damage.maxiter','>=0',0);
    89                         md = checkfield(md,'damage.penalty_factor','>=0',0);
    90                         md = checkfield(md,'damage.penalty_lock','>=0',0);
    91                         md = checkfield(md,'damage.penalty_threshold','>=0',0);
     87                        md = checkfield(md,'fieldname','damage.stabilization','numel',[1],'values',[0 1 2]);
     88                        md = checkfield(md,'fieldname','damage.maxiter','>=0',0);
     89                        md = checkfield(md,'fieldname','damage.penalty_factor','>=0',0);
     90                        md = checkfield(md,'fieldname','damage.penalty_lock','>=0',0);
     91                        md = checkfield(md,'fieldname','damage.penalty_threshold','>=0',0);
    9292
    9393                        if strcmpi(obj.law,'pralong'),
    94                                 md = checkfield(md,'damage.healing','>=',0);
    95                                 md = checkfield(md,'damage.c1','>=',0);
    96                                 md = checkfield(md,'damage.c2','>=',0);
    97                                 md = checkfield(md,'damage.c3','>=',0);
    98                                 md = checkfield(md,'damage.c4','>=',0);
    99                                 md = checkfield(md,'damage.stress_threshold','>=',0);
     94                                md = checkfield(md,'fieldname','damage.healing','>=',0);
     95                                md = checkfield(md,'fieldname','damage.c1','>=',0);
     96                                md = checkfield(md,'fieldname','damage.c2','>=',0);
     97                                md = checkfield(md,'fieldname','damage.c3','>=',0);
     98                                md = checkfield(md,'fieldname','damage.c4','>=',0);
     99                                md = checkfield(md,'fieldname','damage.stress_threshold','>=',0);
    100100                        elseif strcmpi(obj.law,'undamaged'),
    101101                                if (solution==DamageEvolutionSolutionEnum),
  • TabularUnified issm/trunk-jpl/src/m/classes/damage.py

    r16198 r16764  
    9999        def checkconsistency(self,md,solution,analyses):    # {{{
    100100
    101                 md = checkfield(md,'damage.D','>=',0,'<=',self.max_damage,'size',[md.mesh.numberofvertices])
    102                 md = checkfield(md,'damage.max_damage','<',1,'>=',0)
    103                 md = checkfield(md,'damage.law','values',['undamaged','pralong'])
    104                 md = checkfield(md,'damage.spcdamage','forcing',1)
     101                md = checkfield(md,'fieldname','damage.D','>=',0,'<=',self.max_damage,'size',[md.mesh.numberofvertices])
     102                md = checkfield(md,'fieldname','damage.max_damage','<',1,'>=',0)
     103                md = checkfield(md,'fieldname','damage.law','values',['undamaged','pralong'])
     104                md = checkfield(md,'fieldname','damage.spcdamage','forcing',1)
    105105                       
    106                 md = checkfield(md,'damage.stabilization','numel',[1],'values',[0,1,2]);
    107                 md = checkfield(md,'damage.maxiter','>=0',0);
    108                 md = checkfield(md,'damage.penalty_factor','>=0',0);
    109                 md = checkfield(md,'damage.penalty_lock','>=0',0);
    110                 md = checkfield(md,'damage.penalty_threshold','>=0',0);
     106                md = checkfield(md,'fieldname','damage.stabilization','numel',[1],'values',[0,1,2]);
     107                md = checkfield(md,'fieldname','damage.maxiter','>=0',0);
     108                md = checkfield(md,'fieldname','damage.penalty_factor','>=0',0);
     109                md = checkfield(md,'fieldname','damage.penalty_lock','>=0',0);
     110                md = checkfield(md,'fieldname','damage.penalty_threshold','>=0',0);
    111111
    112112                if self.law == 'pralong':
    113                         md = checkfield(md,'damage.healing','>=',0);
    114                         md = checkfield(md,'damage.c1','>=',0)
    115                         md = checkfield(md,'damage.c2','>=',0)
    116                         md = checkfield(md,'damage.c3','>=',0)
    117                         md = checkfield(md,'damage.c4','>=',0)
    118                         md = checkfield(md,'damage.stress_threshold','>=',0)
     113                        md = checkfield(md,'fieldname','damage.healing','>=',0);
     114                        md = checkfield(md,'fieldname','damage.c1','>=',0)
     115                        md = checkfield(md,'fieldname','damage.c2','>=',0)
     116                        md = checkfield(md,'fieldname','damage.c3','>=',0)
     117                        md = checkfield(md,'fieldname','damage.c4','>=',0)
     118                        md = checkfield(md,'fieldname','damage.stress_threshold','>=',0)
    119119                elif strcmpi(self.law,'undamaged'):
    120120                        if (solution==DamageEvolutionSolutionEnum):
  • TabularUnified issm/trunk-jpl/src/m/classes/flaim.m

    r13646 r16764  
    3737                        if solution~=FlaimSolutionEnum(), return; end
    3838
    39                         md = checkfield(md,'flaim.tracks','file',1);
     39                        md = checkfield(md,'fieldname','flaim.tracks','file',1);
    4040                        if any(isnan(md.flaim.criterion)) || isempty(md.flaim.criterion)
    41                                 md = checkfield(md,'flaim.targets','file',1);
     41                                md = checkfield(md,'fieldname','flaim.targets','file',1);
    4242                        else
    43                                 md = checkfield(md,'flaim.criterion','numel',[md.mesh.numberofvertices md.mesh.numberofelements]);
     43                                md = checkfield(md,'fieldname','flaim.criterion','numel',[md.mesh.numberofvertices md.mesh.numberofelements]);
    4444                        end
    4545
  • TabularUnified issm/trunk-jpl/src/m/classes/flaim.py

    r14640 r16764  
    6363                        return md
    6464
    65                 md = checkfield(md,'flaim.tracks','file',1)
     65                md = checkfield(md,'fieldname','flaim.tracks','file',1)
    6666                if numpy.any(numpy.isnan(md.flaim.criterion)) or not md.flaim.criterion:
    67                         md = checkfield(md,'flaim.targets','file',1)
     67                        md = checkfield(md,'fieldname','flaim.targets','file',1)
    6868                else:
    69                         md = checkfield(md,'flaim.criterion','numel',[md.mesh.numberofvertices,md.mesh.numberofelements])
     69                        md = checkfield(md,'fieldname','flaim.criterion','numel',[md.mesh.numberofvertices,md.mesh.numberofelements])
    7070
    7171                return md
  • TabularUnified issm/trunk-jpl/src/m/classes/flowequation.m

    r16332 r16764  
    8080                        if ismember(StressbalanceAnalysisEnum(),analyses),
    8181
    82                                 md = checkfield(md,'flowequation.isSIA','numel',[1],'values',[0 1]);
    83                                 md = checkfield(md,'flowequation.isSSA','numel',[1],'values',[0 1]);
    84                                 md = checkfield(md,'flowequation.isL1L2','numel',[1],'values',[0 1]);
    85                                 md = checkfield(md,'flowequation.isHO','numel',[1],'values',[0 1]);
    86                                 md = checkfield(md,'flowequation.isFS','numel',[1],'values',[0 1]);
    87                                 md = checkfield(md,'flowequation.fe_SSA','values',{'P1','P1bubble','P1bubblecondensed','P2'});
    88                                 md = checkfield(md,'flowequation.fe_HO' ,'values',{'P1','P1bubble','P1bubblecondensed','P1xP2','P2xP1','P2'});
    89                                 md = checkfield(md,'flowequation.fe_FS' ,'values',{'P1P1','P1P1GLS','MINIcondensed','MINI','TaylorHood'});
    90                                 md = checkfield(md,'flowequation.borderSSA','size',[md.mesh.numberofvertices 1],'values',[0 1]);
    91                                 md = checkfield(md,'flowequation.borderHO','size',[md.mesh.numberofvertices 1],'values',[0 1]);
    92                                 md = checkfield(md,'flowequation.borderFS','size',[md.mesh.numberofvertices 1],'values',[0 1]);
     82                                md = checkfield(md,'fieldname','flowequation.isSIA','numel',[1],'values',[0 1]);
     83                                md = checkfield(md,'fieldname','flowequation.isSSA','numel',[1],'values',[0 1]);
     84                                md = checkfield(md,'fieldname','flowequation.isL1L2','numel',[1],'values',[0 1]);
     85                                md = checkfield(md,'fieldname','flowequation.isHO','numel',[1],'values',[0 1]);
     86                                md = checkfield(md,'fieldname','flowequation.isFS','numel',[1],'values',[0 1]);
     87                                md = checkfield(md,'fieldname','flowequation.fe_SSA','values',{'P1','P1bubble','P1bubblecondensed','P2'});
     88                                md = checkfield(md,'fieldname','flowequation.fe_HO' ,'values',{'P1','P1bubble','P1bubblecondensed','P1xP2','P2xP1','P2'});
     89                                md = checkfield(md,'fieldname','flowequation.fe_FS' ,'values',{'P1P1','P1P1GLS','MINIcondensed','MINI','TaylorHood'});
     90                                md = checkfield(md,'fieldname','flowequation.borderSSA','size',[md.mesh.numberofvertices 1],'values',[0 1]);
     91                                md = checkfield(md,'fieldname','flowequation.borderHO','size',[md.mesh.numberofvertices 1],'values',[0 1]);
     92                                md = checkfield(md,'fieldname','flowequation.borderFS','size',[md.mesh.numberofvertices 1],'values',[0 1]);
    9393                                if strcmp(meshtype(md.mesh),'2Dhorizontal')
    94                                         md = checkfield(md,'flowequation.vertex_equation','size',[md.mesh.numberofvertices 1],'values',[1:2]);
    95                                         md = checkfield(md,'flowequation.element_equation','size',[md.mesh.numberofelements 1],'values',[1:2]);
     94                                        md = checkfield(md,'fieldname','flowequation.vertex_equation','size',[md.mesh.numberofvertices 1],'values',[1:2]);
     95                                        md = checkfield(md,'fieldname','flowequation.element_equation','size',[md.mesh.numberofelements 1],'values',[1:2]);
    9696                                elseif strcmp(meshtype(md.mesh),'2Dvertical')
    97                                         md = checkfield(md,'flowequation.vertex_equation','size',[md.mesh.numberofvertices 1],'values',[4]);
    98                                         md = checkfield(md,'flowequation.element_equation','size',[md.mesh.numberofelements 1],'values',[4]);
     97                                        md = checkfield(md,'fieldname','flowequation.vertex_equation','size',[md.mesh.numberofvertices 1],'values',[4]);
     98                                        md = checkfield(md,'fieldname','flowequation.element_equation','size',[md.mesh.numberofelements 1],'values',[4]);
    9999                                elseif strcmp(meshtype(md.mesh),'3D'),
    100                                         md = checkfield(md,'flowequation.vertex_equation','size',[md.mesh.numberofvertices 1],'values',[0:8]);
    101                                         md = checkfield(md,'flowequation.element_equation','size',[md.mesh.numberofelements 1],'values',[0:8]);
     100                                        md = checkfield(md,'fieldname','flowequation.vertex_equation','size',[md.mesh.numberofvertices 1],'values',[0:8]);
     101                                        md = checkfield(md,'fieldname','flowequation.element_equation','size',[md.mesh.numberofelements 1],'values',[0:8]);
    102102                                else
    103103                                        error('Case not supported yet');
  • TabularUnified issm/trunk-jpl/src/m/classes/flowequation.py

    r16295 r16764  
    6868
    6969                if StressbalanceAnalysisEnum() in analyses:
    70                         md = checkfield(md,'flowequation.isSIA','numel',[1],'values',[0,1])
    71                         md = checkfield(md,'flowequation.isSSA','numel',[1],'values',[0,1])
    72                         md = checkfield(md,'flowequation.isL1L2','numel',[1],'values',[0,1])
    73                         md = checkfield(md,'flowequation.isHO','numel',[1],'values',[0,1])
    74                         md = checkfield(md,'flowequation.isFS','numel',[1],'values',[0,1])
    75                         md = checkfield(md,'flowequation.fe_SSA','values',['P1','P1bubble','P1bubblecondensed','P2'])
    76                         md = checkfield(md,'flowequation.fe_HO' ,'values',['P1','P1bubble','P1bubblecondensed','P1xP2','P2xP1','P2'])
    77                         md = checkfield(md,'flowequation.fe_FS' ,'values',['P1P1','P1P1GLS','MINIcondensed','MINI','TaylorHood'])
    78                         md = checkfield(md,'flowequation.borderSSA','size',[md.mesh.numberofvertices],'values',[0,1])
    79                         md = checkfield(md,'flowequation.borderHO','size',[md.mesh.numberofvertices],'values',[0,1])
    80                         md = checkfield(md,'flowequation.borderFS','size',[md.mesh.numberofvertices],'values',[0,1])
     70                        md = checkfield(md,'fieldname','flowequation.isSIA','numel',[1],'values',[0,1])
     71                        md = checkfield(md,'fieldname','flowequation.isSSA','numel',[1],'values',[0,1])
     72                        md = checkfield(md,'fieldname','flowequation.isL1L2','numel',[1],'values',[0,1])
     73                        md = checkfield(md,'fieldname','flowequation.isHO','numel',[1],'values',[0,1])
     74                        md = checkfield(md,'fieldname','flowequation.isFS','numel',[1],'values',[0,1])
     75                        md = checkfield(md,'fieldname','flowequation.fe_SSA','values',['P1','P1bubble','P1bubblecondensed','P2'])
     76                        md = checkfield(md,'fieldname','flowequation.fe_HO' ,'values',['P1','P1bubble','P1bubblecondensed','P1xP2','P2xP1','P2'])
     77                        md = checkfield(md,'fieldname','flowequation.fe_FS' ,'values',['P1P1','P1P1GLS','MINIcondensed','MINI','TaylorHood'])
     78                        md = checkfield(md,'fieldname','flowequation.borderSSA','size',[md.mesh.numberofvertices],'values',[0,1])
     79                        md = checkfield(md,'fieldname','flowequation.borderHO','size',[md.mesh.numberofvertices],'values',[0,1])
     80                        md = checkfield(md,'fieldname','flowequation.borderFS','size',[md.mesh.numberofvertices],'values',[0,1])
    8181                        if strcmp(md.mesh.meshtype(),'2Dhorizontal'):
    82                                 md = checkfield(md,'flowequation.vertex_equation','size',[md.mesh.numberofvertices],'values',[1,2])
    83                                 md = checkfield(md,'flowequation.element_equation','size',[md.mesh.numberofelements],'values',[1,2])
     82                                md = checkfield(md,'fieldname','flowequation.vertex_equation','size',[md.mesh.numberofvertices],'values',[1,2])
     83                                md = checkfield(md,'fieldname','flowequation.element_equation','size',[md.mesh.numberofelements],'values',[1,2])
    8484                        elif strcmp(md.mesh.meshtype(),'3D'):
    85                                 md = checkfield(md,'flowequation.vertex_equation','size',[md.mesh.numberofvertices],'values',numpy.arange(0,8+1))
    86                                 md = checkfield(md,'flowequation.element_equation','size',[md.mesh.numberofelements],'values',numpy.arange(0,8+1))
     85                                md = checkfield(md,'fieldname','flowequation.vertex_equation','size',[md.mesh.numberofvertices],'values',numpy.arange(0,8+1))
     86                                md = checkfield(md,'fieldname','flowequation.element_equation','size',[md.mesh.numberofelements],'values',numpy.arange(0,8+1))
    8787                        else:
    8888                                raise RuntimeError('mesh type not supported yet')
  • TabularUnified issm/trunk-jpl/src/m/classes/friction.m

    r15771 r16764  
    2727                        if ~ismember(StressbalanceAnalysisEnum(),analyses) & ~ismember(ThermalAnalysisEnum(),analyses), return; end
    2828
    29                         md = checkfield(md,'friction.coefficient','NaN',1,'size',[md.mesh.numberofvertices 1]);
    30                         md = checkfield(md,'friction.q','NaN',1,'size',[md.mesh.numberofelements 1]);
    31                         md = checkfield(md,'friction.p','NaN',1,'size',[md.mesh.numberofelements 1]);
     29                        md = checkfield(md,'fieldname','friction.coefficient','NaN',1,'size',[md.mesh.numberofvertices 1]);
     30                        md = checkfield(md,'fieldname','friction.q','NaN',1,'size',[md.mesh.numberofelements 1]);
     31                        md = checkfield(md,'fieldname','friction.p','NaN',1,'size',[md.mesh.numberofelements 1]);
    3232                end % }}}
    3333                function disp(obj) % {{{
  • TabularUnified issm/trunk-jpl/src/m/classes/friction.py

    r15771 r16764  
    3838                        return md
    3939
    40                 md = checkfield(md,'friction.coefficient','NaN',1,'size',[md.mesh.numberofvertices])
    41                 md = checkfield(md,'friction.q','NaN',1,'size',[md.mesh.numberofelements])
    42                 md = checkfield(md,'friction.p','NaN',1,'size',[md.mesh.numberofelements])
     40                md = checkfield(md,'fieldname','friction.coefficient','NaN',1,'size',[md.mesh.numberofvertices])
     41                md = checkfield(md,'fieldname','friction.q','NaN',1,'size',[md.mesh.numberofelements])
     42                md = checkfield(md,'fieldname','friction.p','NaN',1,'size',[md.mesh.numberofelements])
    4343
    4444                return md
  • TabularUnified issm/trunk-jpl/src/m/classes/geometry.m

    r16335 r16764  
    2727
    2828                        if (solution==TransientSolutionEnum() & md.transient.isgia) | (solution==GiaSolutionEnum()),
    29                                 md = checkfield(md,'geometry.thickness','forcing',1,'NaN',1,'>=',0);
     29                                md = checkfield(md,'fieldname','geometry.thickness','forcing',1,'NaN',1,'>=',0);
    3030                        else
    31                                 md = checkfield(md,'geometry.surface'  ,'NaN',1,'size',[md.mesh.numberofvertices 1]);
    32                                 md = checkfield(md,'geometry.bed'      ,'NaN',1,'size',[md.mesh.numberofvertices 1]);
    33                                 md = checkfield(md,'geometry.thickness','NaN',1,'size',[md.mesh.numberofvertices 1],'>',0);
     31                                md = checkfield(md,'fieldname','geometry.surface'  ,'NaN',1,'size',[md.mesh.numberofvertices 1]);
     32                                md = checkfield(md,'fieldname','geometry.bed'      ,'NaN',1,'size',[md.mesh.numberofvertices 1]);
     33                                md = checkfield(md,'fieldname','geometry.thickness','NaN',1,'size',[md.mesh.numberofvertices 1],'>',0);
    3434                                if any((obj.thickness-obj.surface+obj.bed)>10^-9),
    3535                                        md = checkmessage(md,['equality thickness=surface-bed violated']);
    3636                                end
    3737                                if solution==TransientSolutionEnum() & md.transient.isgroundingline,
    38                                         md = checkfield(md,'geometry.bathymetry','NaN',1,'size',[md.mesh.numberofvertices 1]);
     38                                        md = checkfield(md,'fieldname','geometry.bathymetry','NaN',1,'size',[md.mesh.numberofvertices 1]);
    3939                                end
    4040                        end
  • TabularUnified issm/trunk-jpl/src/m/classes/geometry.py

    r15133 r16764  
    3838        def checkconsistency(self,md,solution,analyses):    # {{{
    3939
    40                 md = checkfield(md,'geometry.surface'  ,'NaN',1,'size',[md.mesh.numberofvertices])
    41                 md = checkfield(md,'geometry.bed'      ,'NaN',1,'size',[md.mesh.numberofvertices])
    42                 md = checkfield(md,'geometry.thickness','NaN',1,'size',[md.mesh.numberofvertices],'>',0,'forcing',1)
     40                md = checkfield(md,'fieldname','geometry.surface'  ,'NaN',1,'size',[md.mesh.numberofvertices])
     41                md = checkfield(md,'fieldname','geometry.bed'      ,'NaN',1,'size',[md.mesh.numberofvertices])
     42                md = checkfield(md,'fieldname','geometry.thickness','NaN',1,'size',[md.mesh.numberofvertices],'>',0,'forcing',1)
    4343                if any((self.thickness-self.surface+self.bed)>10**-9):
    4444                        md.checkmessage("equality thickness=surface-bed violated")
    4545                if solution==TransientSolutionEnum() and md.transient.isgroundingline:
    46                         md = checkfield(md,'geometry.bathymetry','NaN',1,'size',[md.mesh.numberofvertices])
     46                        md = checkfield(md,'fieldname','geometry.bathymetry','NaN',1,'size',[md.mesh.numberofvertices])
    4747
    4848                return md
  • TabularUnified issm/trunk-jpl/src/m/classes/gia.m

    r15767 r16764  
    2525
    2626                        if ~ismember(GiaAnalysisEnum(),analyses), return; end
    27                         md = checkfield(md,'gia.mantle_viscosity','NaN',1,'size',[md.mesh.numberofvertices 1],'>',0);
    28                         md = checkfield(md,'gia.lithosphere_thickness','NaN',1,'size',[md.mesh.numberofvertices 1],'>',0);
    29                         md = checkfield(md,'gia.cross_section_shape','numel',[1],'values',[1,2]);
     27                        md = checkfield(md,'fieldname','gia.mantle_viscosity','NaN',1,'size',[md.mesh.numberofvertices 1],'>',0);
     28                        md = checkfield(md,'fieldname','gia.lithosphere_thickness','NaN',1,'size',[md.mesh.numberofvertices 1],'>',0);
     29                        md = checkfield(md,'fieldname','gia.cross_section_shape','numel',[1],'values',[1,2]);
    3030
    3131                        %be sure that if we are running a masstransport ice flow model coupled with gia, that thickness forcings
  • TabularUnified issm/trunk-jpl/src/m/classes/gia.py

    r15767 r16764  
    4242                        return md
    4343               
    44                 md = checkfield(md,'gia.mantle_viscosity','NaN',1,'size',[md.mesh.numberofvertices,1],'>',0)
    45                 md = checkfield(md,'gia.lithosphere_thickness','NaN',1,'size',[md.mesh.numberofvertices,1],'>',0)
    46                 md = checkfield(md,'gia.cross_section_shape','numel',[1],'values',[1,2])
     44                md = checkfield(md,'fieldname','gia.mantle_viscosity','NaN',1,'size',[md.mesh.numberofvertices,1],'>',0)
     45                md = checkfield(md,'fieldname','gia.lithosphere_thickness','NaN',1,'size',[md.mesh.numberofvertices,1],'>',0)
     46                md = checkfield(md,'fieldname','gia.cross_section_shape','numel',[1],'values',[1,2])
    4747
    4848                #be sure that if we are running a masstransport ice flow model coupled with gia, that thickness forcings
  • TabularUnified issm/trunk-jpl/src/m/classes/groundingline.m

    r15987 r16764  
    2929                function md = checkconsistency(obj,md,solution,analyses) % {{{
    3030
    31                         md = checkfield(md,'groundingline.migration','values',{'None' 'AgressiveMigration' 'SoftMigration' 'SubelementMigration','SubelementMigration2'});
     31                        md = checkfield(md,'fieldname','groundingline.migration','values',{'None' 'AgressiveMigration' 'SoftMigration' 'SubelementMigration','SubelementMigration2'});
    3232
    3333                        if ~strcmp(obj.migration,'None'),
  • TabularUnified issm/trunk-jpl/src/m/classes/groundingline.py

    r16005 r16764  
    4242        def checkconsistency(self,md,solution,analyses):    # {{{
    4343
    44                 md = checkfield(md,'groundingline.migration','values',['None','AgressiveMigration','SoftMigration','SubelementMigration','SubelementMigration2'])
     44                md = checkfield(md,'fieldname','groundingline.migration','values',['None','AgressiveMigration','SoftMigration','SubelementMigration','SubelementMigration2'])
    4545
    4646                if not strcmp(self.migration,'None'):
  • TabularUnified issm/trunk-jpl/src/m/classes/hydrologydc.m

    r16726 r16764  
    7272                        end
    7373
    74                         md = checkfield(md,'hydrology.water_compressibility','>',0,'numel',1);
    75                         md = checkfield(md,'hydrology.isefficientlayer','numel',[1],'values',[0 1]);
    76                         md = checkfield(md,'hydrology.penalty_factor','>',0,'numel',1);
    77                         md = checkfield(md,'hydrology.rel_tol','>',0,'numel',1);
    78                         md = checkfield(md,'hydrology.sedimentlimit_flag','numel',[1],'values',[0 1 2 3]);
    79                         md = checkfield(md,'hydrology.transfer_flag','numel',[1],'values',[0 1]);
     74                        md = checkfield(md,'fieldname','hydrology.water_compressibility','>',0,'numel',1);
     75                        md = checkfield(md,'fieldname','hydrology.isefficientlayer','numel',[1],'values',[0 1]);
     76                        md = checkfield(md,'fieldname','hydrology.penalty_factor','>',0,'numel',1);
     77                        md = checkfield(md,'fieldname','hydrology.rel_tol','>',0,'numel',1);
     78                        md = checkfield(md,'fieldname','hydrology.sedimentlimit_flag','numel',[1],'values',[0 1 2 3]);
     79                        md = checkfield(md,'fieldname','hydrology.transfer_flag','numel',[1],'values',[0 1]);
    8080                        if obj.sedimentlimit_flag==1,
    81                                 md = checkfield(md,'hydrology.sedimentlimit','>',0,'numel',1);
     81                                md = checkfield(md,'fieldname','hydrology.sedimentlimit','>',0,'numel',1);
    8282            end
    8383                        if obj.transfer_flag==1,
    84                                 md = checkfield(md,'hydrology.leakage_factor','>',0,'numel',1);
     84                                md = checkfield(md,'fieldname','hydrology.leakage_factor','>',0,'numel',1);
    8585            end
    8686
    87                         md = checkfield(md,'hydrology.spcsediment_head','forcing',1);
    88                         md = checkfield(md,'hydrology.sediment_compressibility','>',0,'numel',1);
    89                         md = checkfield(md,'hydrology.sediment_porosity','>',0,'numel',1);
    90                         md = checkfield(md,'hydrology.sediment_thickness','>',0,'numel',1);
    91                         md = checkfield(md,'hydrology.sediment_transmitivity','>',0,'numel',1);
     87                        md = checkfield(md,'fieldname','hydrology.spcsediment_head','forcing',1);
     88                        md = checkfield(md,'fieldname','hydrology.sediment_compressibility','>',0,'numel',1);
     89                        md = checkfield(md,'fieldname','hydrology.sediment_porosity','>',0,'numel',1);
     90                        md = checkfield(md,'fieldname','hydrology.sediment_thickness','>',0,'numel',1);
     91                        md = checkfield(md,'fieldname','hydrology.sediment_transmitivity','>',0,'numel',1);
    9292
    9393                        if obj.isefficientlayer==1,
    94                                 md = checkfield(md,'hydrology.spcepl_head','forcing',1);
    95                                 md = checkfield(md,'hydrology.mask_eplactive','size',[md.mesh.numberofvertices 1],'values',[0 1]);
    96                                 md = checkfield(md,'hydrology.epl_compressibility','>',0,'numel',1);
    97                                 md = checkfield(md,'hydrology.epl_porosity','>',0,'numel',1);
    98                                 md = checkfield(md,'hydrology.epl_initial_thickness','>',0,'numel',1);
    99                                 md = checkfield(md,'hydrology.epl_conductivity','>',0,'numel',1);
     94                                md = checkfield(md,'fieldname','hydrology.spcepl_head','forcing',1);
     95                                md = checkfield(md,'fieldname','hydrology.mask_eplactive','size',[md.mesh.numberofvertices 1],'values',[0 1]);
     96                                md = checkfield(md,'fieldname','hydrology.epl_compressibility','>',0,'numel',1);
     97                                md = checkfield(md,'fieldname','hydrology.epl_porosity','>',0,'numel',1);
     98                                md = checkfield(md,'fieldname','hydrology.epl_initial_thickness','>',0,'numel',1);
     99                                md = checkfield(md,'fieldname','hydrology.epl_conductivity','>',0,'numel',1);
    100100            end
    101101                end
  • TabularUnified issm/trunk-jpl/src/m/classes/hydrologyshreve.m

    r15133 r16764  
    4444                        end
    4545
    46                         md = checkfield(md,'hydrology.spcwatercolumn','forcing',1);
    47                         md = checkfield(md,'hydrology.stabilization','>=',0);
     46                        md = checkfield(md,'fieldname','hydrology.spcwatercolumn','forcing',1);
     47                        md = checkfield(md,'fieldname','hydrology.stabilization','>=',0);
    4848                end % }}}
    4949                function disp(obj) % {{{
  • TabularUnified issm/trunk-jpl/src/m/classes/hydrologyshreve.py

    r15133 r16764  
    5757                        return md
    5858
    59                 md = checkfield(md,'hydrology.spcwatercolumn','forcing',1)
    60                 md = checkfield(md,'hydrology.stabilization','>=',0)
     59                md = checkfield(md,'fieldname','hydrology.spcwatercolumn','forcing',1)
     60                md = checkfield(md,'fieldname','hydrology.stabilization','>=',0)
    6161
    6262                return md
  • TabularUnified issm/trunk-jpl/src/m/classes/initialization.m

    r16470 r16764  
    3232                        if ismember(StressbalanceAnalysisEnum(),analyses)
    3333                                if ~(isnan(md.initialization.vx) | isnan(md.initialization.vy)),
    34                                         md = checkfield(md,'initialization.vx','NaN',1,'size',[md.mesh.numberofvertices 1]);
    35                                         md = checkfield(md,'initialization.vy','NaN',1,'size',[md.mesh.numberofvertices 1]);
     34                                        md = checkfield(md,'fieldname','initialization.vx','NaN',1,'size',[md.mesh.numberofvertices 1]);
     35                                        md = checkfield(md,'fieldname','initialization.vy','NaN',1,'size',[md.mesh.numberofvertices 1]);
    3636                                end
    3737                        end
    3838                        if ismember(MasstransportAnalysisEnum(),analyses),
    39                                 md = checkfield(md,'initialization.vx','NaN',1,'size',[md.mesh.numberofvertices 1]);
    40                                 md = checkfield(md,'initialization.vy','NaN',1,'size',[md.mesh.numberofvertices 1]);
     39                                md = checkfield(md,'fieldname','initialization.vx','NaN',1,'size',[md.mesh.numberofvertices 1]);
     40                                md = checkfield(md,'fieldname','initialization.vy','NaN',1,'size',[md.mesh.numberofvertices 1]);
    4141                        end
    4242                        if ismember(BalancethicknessAnalysisEnum(),analyses) & solution==BalancethicknessSolutionEnum,
    43                                 md = checkfield(md,'initialization.vx','NaN',1,'size',[md.mesh.numberofvertices 1]);
    44                                 md = checkfield(md,'initialization.vy','NaN',1,'size',[md.mesh.numberofvertices 1]);
     43                                md = checkfield(md,'fieldname','initialization.vx','NaN',1,'size',[md.mesh.numberofvertices 1]);
     44                                md = checkfield(md,'fieldname','initialization.vy','NaN',1,'size',[md.mesh.numberofvertices 1]);
    4545                                %Triangle with zero velocity
    4646                                if any(sum(abs(md.initialization.vx(md.mesh.elements)),2)==0 & sum(abs(md.initialization.vy(md.mesh.elements)),2)==0)
     
    4949                        end
    5050                        if ismember(ThermalAnalysisEnum(),analyses),
    51                                 md = checkfield(md,'initialization.vx','NaN',1,'size',[md.mesh.numberofvertices 1]);
    52                                 md = checkfield(md,'initialization.vy','NaN',1,'size',[md.mesh.numberofvertices 1]);
     51                                md = checkfield(md,'fieldname','initialization.vx','NaN',1,'size',[md.mesh.numberofvertices 1]);
     52                                md = checkfield(md,'fieldname','initialization.vy','NaN',1,'size',[md.mesh.numberofvertices 1]);
    5353                                if strcmp(meshtype(md.mesh),'3D')
    54                                         md = checkfield(md,'initialization.vz','NaN',1,'size',[md.mesh.numberofvertices 1]);
     54                                        md = checkfield(md,'fieldname','initialization.vz','NaN',1,'size',[md.mesh.numberofvertices 1]);
    5555                                end
    56                                 md = checkfield(md,'initialization.pressure','NaN',1,'size',[md.mesh.numberofvertices 1]);
     56                                md = checkfield(md,'fieldname','initialization.pressure','NaN',1,'size',[md.mesh.numberofvertices 1]);
    5757                        end
    5858                        if (ismember(EnthalpyAnalysisEnum(),analyses) & md.thermal.isenthalpy)
    59                                 md = checkfield(md,'initialization.waterfraction','>=',0,'size',[md.mesh.numberofvertices 1]);
    60                                 md = checkfield(md,'initialization.watercolumn'  ,'>=',0,'size',[md.mesh.numberofvertices 1]);
     59                                md = checkfield(md,'fieldname','initialization.waterfraction','>=',0,'size',[md.mesh.numberofvertices 1]);
     60                                md = checkfield(md,'fieldname','initialization.watercolumn'  ,'>=',0,'size',[md.mesh.numberofvertices 1]);
    6161                        end
    6262                        if ismember(HydrologyShreveAnalysisEnum(),analyses),
    6363                                if isa(md.hydrology,'hydrologyshreve'),
    64                                         md = checkfield(md,'initialization.watercolumn','NaN',1,'size',[md.mesh.numberofvertices 1]);
     64                                        md = checkfield(md,'fieldname','initialization.watercolumn','NaN',1,'size',[md.mesh.numberofvertices 1]);
    6565                                end
    6666                        end
    6767                        if ismember(HydrologyDCInefficientAnalysisEnum(),analyses),
    6868                                if isa(md.hydrology,'hydrologydc'),
    69                                         md = checkfield(md,'initialization.sediment_head','NaN',1,'size',[md.mesh.numberofvertices 1]);
     69                                        md = checkfield(md,'fieldname','initialization.sediment_head','NaN',1,'size',[md.mesh.numberofvertices 1]);
    7070                                end
    7171                        end
     
    7373                                if isa(md.hydrology,'hydrologydc'),
    7474                                        if md.hydrology.isefficientlayer==1,
    75                                                 md = checkfield(md,'initialization.epl_head','NaN',1,'size',[md.mesh.numberofvertices 1]);
     75                                                md = checkfield(md,'fieldname','initialization.epl_head','NaN',1,'size',[md.mesh.numberofvertices 1]);
    7676                                        end
    7777                                end
  • TabularUnified issm/trunk-jpl/src/m/classes/initialization.py

    r16470 r16764  
    5050                if StressbalanceAnalysisEnum() in analyses:
    5151                        if not numpy.any(numpy.logical_or(numpy.isnan(md.initialization.vx),numpy.isnan(md.initialization.vy))):
    52                                 md = checkfield(md,'initialization.vx','NaN',1,'size',[md.mesh.numberofvertices])
    53                                 md = checkfield(md,'initialization.vy','NaN',1,'size',[md.mesh.numberofvertices])
     52                                md = checkfield(md,'fieldname','initialization.vx','NaN',1,'size',[md.mesh.numberofvertices])
     53                                md = checkfield(md,'fieldname','initialization.vy','NaN',1,'size',[md.mesh.numberofvertices])
    5454                if MasstransportAnalysisEnum() in analyses:
    55                         md = checkfield(md,'initialization.vx','NaN',1,'size',[md.mesh.numberofvertices])
    56                         md = checkfield(md,'initialization.vy','NaN',1,'size',[md.mesh.numberofvertices])
     55                        md = checkfield(md,'fieldname','initialization.vx','NaN',1,'size',[md.mesh.numberofvertices])
     56                        md = checkfield(md,'fieldname','initialization.vy','NaN',1,'size',[md.mesh.numberofvertices])
    5757                if BalancethicknessAnalysisEnum() in analyses:
    58                         md = checkfield(md,'initialization.vx','NaN',1,'size',[md.mesh.numberofvertices])
    59                         md = checkfield(md,'initialization.vy','NaN',1,'size',[md.mesh.numberofvertices])
     58                        md = checkfield(md,'fieldname','initialization.vx','NaN',1,'size',[md.mesh.numberofvertices])
     59                        md = checkfield(md,'fieldname','initialization.vy','NaN',1,'size',[md.mesh.numberofvertices])
    6060                        #Triangle with zero velocity
    6161                        if numpy.any(numpy.logical_and(numpy.sum(numpy.abs(md.initialization.vx[md.mesh.elements-1]),axis=1)==0,\
     
    6363                                md.checkmessage("at least one triangle has all its vertices with a zero velocity")
    6464                if ThermalAnalysisEnum() in analyses:
    65                         md = checkfield(md,'initialization.vx','NaN',1,'size',[md.mesh.numberofvertices])
    66                         md = checkfield(md,'initialization.vy','NaN',1,'size',[md.mesh.numberofvertices])
     65                        md = checkfield(md,'fieldname','initialization.vx','NaN',1,'size',[md.mesh.numberofvertices])
     66                        md = checkfield(md,'fieldname','initialization.vy','NaN',1,'size',[md.mesh.numberofvertices])
    6767                        if strcmp(md.mesh.meshtype(),'3D'):
    68                                 md = checkfield(md,'initialization.vz','NaN',1,'size',[md.mesh.numberofvertices])
    69                         md = checkfield(md,'initialization.pressure','NaN',1,'size',[md.mesh.numberofvertices])
     68                                md = checkfield(md,'fieldname','initialization.vz','NaN',1,'size',[md.mesh.numberofvertices])
     69                        md = checkfield(md,'fieldname','initialization.pressure','NaN',1,'size',[md.mesh.numberofvertices])
    7070                if (EnthalpyAnalysisEnum() in analyses and md.thermal.isenthalpy):
    71                         md = checkfield(md,'initialization.waterfraction','>=',0,'size',[md.mesh.numberofvertices])
    72                         md = checkfield(md,'initialization.watercolumn'  ,'>=',0,'size',[md.mesh.numberofvertices])
     71                        md = checkfield(md,'fieldname','initialization.waterfraction','>=',0,'size',[md.mesh.numberofvertices])
     72                        md = checkfield(md,'fieldname','initialization.watercolumn'  ,'>=',0,'size',[md.mesh.numberofvertices])
    7373                if HydrologyShreveAnalysisEnum() in analyses:
    74                         md = checkfield(md,'initialization.watercolumn','NaN',1,'size',[md.mesh.numberofvertices])
     74                        md = checkfield(md,'fieldname','initialization.watercolumn','NaN',1,'size',[md.mesh.numberofvertices])
    7575                return md
    7676        # }}}
  • TabularUnified issm/trunk-jpl/src/m/classes/inversion.m

    r16576 r16764  
    107107                        num_costfunc=size(md.inversion.cost_functions,2);
    108108
    109                         md = checkfield(md,'inversion.iscontrol','values',[0 1]);
    110                         md = checkfield(md,'inversion.tao','values',[0 1]);
    111                         md = checkfield(md,'inversion.incomplete_adjoint','values',[0 1]);
    112                         md = checkfield(md,'inversion.control_parameters','cell',1,'values',...
     109                        md = checkfield(md,'fieldname','inversion.iscontrol','values',[0 1]);
     110                        md = checkfield(md,'fieldname','inversion.tao','values',[0 1]);
     111                        md = checkfield(md,'fieldname','inversion.incomplete_adjoint','values',[0 1]);
     112                        md = checkfield(md,'fieldname','inversion.control_parameters','cell',1,'values',...
    113113                                {'BalancethicknessThickeningRate' 'FrictionCoefficient' 'MaterialsRheologyBbar' 'DamageDbar' 'Vx' 'Vy' 'Thickness'});
    114                         md = checkfield(md,'inversion.nsteps','numel',1,'>=',0);
    115                         md = checkfield(md,'inversion.maxiter_per_step','size',[md.inversion.nsteps 1],'>=',0);
    116                         md = checkfield(md,'inversion.step_threshold','size',[md.inversion.nsteps 1]);
    117                         md = checkfield(md,'inversion.cost_functions','size',[1 num_costfunc],'values',[101:105 201 501:506]);
    118                         md = checkfield(md,'inversion.cost_functions_coefficients','size',[md.mesh.numberofvertices num_costfunc],'>=',0);
    119                         md = checkfield(md,'inversion.gradient_scaling','size',[md.inversion.nsteps num_controls]);
    120                         md = checkfield(md,'inversion.min_parameters','size',[md.mesh.numberofvertices num_controls]);
    121                         md = checkfield(md,'inversion.max_parameters','size',[md.mesh.numberofvertices num_controls]);
     114                        md = checkfield(md,'fieldname','inversion.nsteps','numel',1,'>=',0);
     115                        md = checkfield(md,'fieldname','inversion.maxiter_per_step','size',[md.inversion.nsteps 1],'>=',0);
     116                        md = checkfield(md,'fieldname','inversion.step_threshold','size',[md.inversion.nsteps 1]);
     117                        md = checkfield(md,'fieldname','inversion.cost_functions','size',[1 num_costfunc],'values',[101:105 201 501:506]);
     118                        md = checkfield(md,'fieldname','inversion.cost_functions_coefficients','size',[md.mesh.numberofvertices num_costfunc],'>=',0);
     119                        md = checkfield(md,'fieldname','inversion.gradient_scaling','size',[md.inversion.nsteps num_controls]);
     120                        md = checkfield(md,'fieldname','inversion.min_parameters','size',[md.mesh.numberofvertices num_controls]);
     121                        md = checkfield(md,'fieldname','inversion.max_parameters','size',[md.mesh.numberofvertices num_controls]);
    122122
    123123                        %Only SSA, HO and FS are supported right now
     
    129129
    130130                        if solution==BalancethicknessSolutionEnum()
    131                                 md = checkfield(md,'inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
     131                                md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
    132132                        elseif solution==BalancethicknessSoftSolutionEnum()
    133                                 md = checkfield(md,'inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
     133                                md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
    134134                        else
    135                                 md = checkfield(md,'inversion.vx_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
    136                                 md = checkfield(md,'inversion.vy_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
     135                                md = checkfield(md,'fieldname','inversion.vx_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
     136                                md = checkfield(md,'fieldname','inversion.vy_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
    137137                        end
    138138                end % }}}
  • TabularUnified issm/trunk-jpl/src/m/classes/inversion.py

    r16307 r16764  
    116116                num_costfunc=numpy.size(md.inversion.cost_functions)
    117117
    118                 md = checkfield(md,'inversion.iscontrol','values',[0,1])
    119                 md = checkfield(md,'inversion.tao','values',[0,1])
    120                 md = checkfield(md,'inversion.incomplete_adjoint','values',[0,1])
    121                 md = checkfield(md,'inversion.control_parameters','cell',1,'values',['BalancethicknessThickeningRate','FrictionCoefficient','MaterialsRheologyBbar','DamageDbar','Vx','Vy'])
    122                 md = checkfield(md,'inversion.nsteps','numel',[1],'>=',0)
    123                 md = checkfield(md,'inversion.maxiter_per_step','size',[md.inversion.nsteps],'>=',0)
    124                 md = checkfield(md,'inversion.step_threshold','size',[md.inversion.nsteps])
    125                 md = checkfield(md,'inversion.cost_functions','size',[num_costfunc],'values',[101,102,103,104,105,201,501,502,503,504,505])
    126                 md = checkfield(md,'inversion.cost_functions_coefficients','size',[md.mesh.numberofvertices,num_costfunc],'>=',0)
    127                 md = checkfield(md,'inversion.gradient_scaling','size',[md.inversion.nsteps,num_controls])
    128                 md = checkfield(md,'inversion.min_parameters','size',[md.mesh.numberofvertices,num_controls])
    129                 md = checkfield(md,'inversion.max_parameters','size',[md.mesh.numberofvertices,num_controls])
     118                md = checkfield(md,'fieldname','inversion.iscontrol','values',[0,1])
     119                md = checkfield(md,'fieldname','inversion.tao','values',[0,1])
     120                md = checkfield(md,'fieldname','inversion.incomplete_adjoint','values',[0,1])
     121                md = checkfield(md,'fieldname','inversion.control_parameters','cell',1,'values',['BalancethicknessThickeningRate','FrictionCoefficient','MaterialsRheologyBbar','DamageDbar','Vx','Vy'])
     122                md = checkfield(md,'fieldname','inversion.nsteps','numel',[1],'>=',0)
     123                md = checkfield(md,'fieldname','inversion.maxiter_per_step','size',[md.inversion.nsteps],'>=',0)
     124                md = checkfield(md,'fieldname','inversion.step_threshold','size',[md.inversion.nsteps])
     125                md = checkfield(md,'fieldname','inversion.cost_functions','size',[num_costfunc],'values',[101,102,103,104,105,201,501,502,503,504,505])
     126                md = checkfield(md,'fieldname','inversion.cost_functions_coefficients','size',[md.mesh.numberofvertices,num_costfunc],'>=',0)
     127                md = checkfield(md,'fieldname','inversion.gradient_scaling','size',[md.inversion.nsteps,num_controls])
     128                md = checkfield(md,'fieldname','inversion.min_parameters','size',[md.mesh.numberofvertices,num_controls])
     129                md = checkfield(md,'fieldname','inversion.max_parameters','size',[md.mesh.numberofvertices,num_controls])
    130130
    131131                #Only SSA, HO and FS are supported right now
     
    135135
    136136                if solution==BalancethicknessSolutionEnum():
    137                         md = checkfield(md,'inversion.thickness_obs','size',[md.mesh.numberofvertices],'NaN',1)
     137                        md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices],'NaN',1)
    138138                else:
    139                         md = checkfield(md,'inversion.vx_obs','size',[md.mesh.numberofvertices],'NaN',1)
    140                         md = checkfield(md,'inversion.vy_obs','size',[md.mesh.numberofvertices],'NaN',1)
     139                        md = checkfield(md,'fieldname','inversion.vx_obs','size',[md.mesh.numberofvertices],'NaN',1)
     140                        md = checkfield(md,'fieldname','inversion.vy_obs','size',[md.mesh.numberofvertices],'NaN',1)
    141141
    142142                return md
  • TabularUnified issm/trunk-jpl/src/m/classes/mask.m

    r16455 r16764  
    2323                function md = checkconsistency(obj,md,solution,analyses) % {{{
    2424
    25                         md = checkfield(md,'mask.groundedice_levelset','size',[md.mesh.numberofvertices 1]);
    26                         md = checkfield(md,'mask.ice_levelset'        ,'size',[md.mesh.numberofvertices 1]);
     25                        md = checkfield(md,'fieldname','mask.groundedice_levelset','size',[md.mesh.numberofvertices 1]);
     26                        md = checkfield(md,'fieldname','mask.ice_levelset'        ,'size',[md.mesh.numberofvertices 1]);
    2727                        isice=(md.mask.ice_levelset>0);
    2828                        if any(sum(isice(md.mesh.elements),2)==0),
  • TabularUnified issm/trunk-jpl/src/m/classes/mask.py

    r15987 r16764  
    3232        def checkconsistency(self,md,solution,analyses):    # {{{
    3333
    34                 md = checkfield(md,'mask.ice_levelset'        ,'size',[md.mesh.numberofvertices])
     34                md = checkfield(md,'fieldname','mask.ice_levelset'        ,'size',[md.mesh.numberofvertices])
    3535                isice=numpy.array(md.mask.ice_levelset>0,int)
    3636                totallyicefree=(numpy.sum(isice[md.mesh.elements-1],axis=1)==0).astype(int)
  • TabularUnified issm/trunk-jpl/src/m/classes/masstransport.m

    r16470 r16764  
    8787                        if ~ismember(MasstransportAnalysisEnum(),analyses) |  (solution==TransientSolutionEnum() & md.transient.ismasstransport==0), return; end
    8888
    89                         md = checkfield(md,'masstransport.spcthickness','forcing',1);
    90                         md = checkfield(md,'masstransport.isfreesurface','values',[0 1]);
    91                         md = checkfield(md,'masstransport.hydrostatic_adjustment','values',{'Absolute' 'Incremental'});
    92                         md = checkfield(md,'masstransport.stabilization','values',[0 1 2 3]);
    93                         md = checkfield(md,'masstransport.min_thickness','>',0);
    94                         md = checkfield(md,'masstransport.requested_outputs','stringrow',1);
     89                        md = checkfield(md,'fieldname','masstransport.spcthickness','forcing',1);
     90                        md = checkfield(md,'fieldname','masstransport.isfreesurface','values',[0 1]);
     91                        md = checkfield(md,'fieldname','masstransport.hydrostatic_adjustment','values',{'Absolute' 'Incremental'});
     92                        md = checkfield(md,'fieldname','masstransport.stabilization','values',[0 1 2 3]);
     93                        md = checkfield(md,'fieldname','masstransport.min_thickness','>',0);
     94                        md = checkfield(md,'fieldname','masstransport.requested_outputs','stringrow',1);
    9595
    9696                end % }}}
  • TabularUnified issm/trunk-jpl/src/m/classes/masstransport.py

    r16464 r16764  
    6767                        return md
    6868
    69                 md = checkfield(md,'masstransport.spcthickness','forcing',1)
    70                 md = checkfield(md,'masstransport.isfreesurface','values',[0,1])
    71                 md = checkfield(md,'masstransport.hydrostatic_adjustment','values',['Absolute','Incremental'])
    72                 md = checkfield(md,'masstransport.stabilization','values',[0,1,2,3])
    73                 md = checkfield(md,'masstransport.min_thickness','>',0)
    74                 md = checkfield(md,'masstransport.requested_outputs','stringrow',1)
     69                md = checkfield(md,'fieldname','masstransport.spcthickness','forcing',1)
     70                md = checkfield(md,'fieldname','masstransport.isfreesurface','values',[0,1])
     71                md = checkfield(md,'fieldname','masstransport.hydrostatic_adjustment','values',['Absolute','Incremental'])
     72                md = checkfield(md,'fieldname','masstransport.stabilization','values',[0,1,2,3])
     73                md = checkfield(md,'fieldname','masstransport.min_thickness','>',0)
     74                md = checkfield(md,'fieldname','masstransport.requested_outputs','stringrow',1)
    7575
    7676                return md
  • TabularUnified issm/trunk-jpl/src/m/classes/matice.m

    r16620 r16764  
    9898                end % }}}
    9999                function md = checkconsistency(obj,md,solution,analyses) % {{{
    100                         md = checkfield(md,'materials.rho_ice','>',0);
    101                         md = checkfield(md,'materials.rho_water','>',0);
    102                         md = checkfield(md,'materials.rho_freshwater','>',0);
    103                         md = checkfield(md,'materials.mu_water','>',0);
    104                         md = checkfield(md,'materials.rheology_B','>',0,'size',[md.mesh.numberofvertices 1]);
    105                         md = checkfield(md,'materials.rheology_n','>',0,'size',[md.mesh.numberofelements 1]);
    106                         md = checkfield(md,'materials.rheology_law','values',{'None' 'Paterson' 'Arrhenius' 'LliboutryDuval'});
     100                        md = checkfield(md,'fieldname','materials.rho_ice','>',0);
     101                        md = checkfield(md,'fieldname','materials.rho_water','>',0);
     102                        md = checkfield(md,'fieldname','materials.rho_freshwater','>',0);
     103                        md = checkfield(md,'fieldname','materials.mu_water','>',0);
     104                        md = checkfield(md,'fieldname','materials.rheology_B','>',0,'size',[md.mesh.numberofvertices 1]);
     105                        md = checkfield(md,'fieldname','materials.rheology_n','>',0,'size',[md.mesh.numberofelements 1]);
     106                        md = checkfield(md,'fieldname','materials.rheology_law','values',{'None' 'Paterson' 'Arrhenius' 'LliboutryDuval'});
    107107
    108108                        if ismember(GiaAnalysisEnum(),analyses),
    109                                 md = checkfield(md,'materials.lithosphere_shear_modulus','>',0,'numel',1);
    110                                 md = checkfield(md,'materials.lithosphere_density','>',0,'numel',1);
    111                                 md = checkfield(md,'materials.mantle_shear_modulus','>',0,'numel',1);
    112                                 md = checkfield(md,'materials.mantle_density','>',0,'numel',1);
     109                                md = checkfield(md,'fieldname','materials.lithosphere_shear_modulus','>',0,'numel',1);
     110                                md = checkfield(md,'fieldname','materials.lithosphere_density','>',0,'numel',1);
     111                                md = checkfield(md,'fieldname','materials.mantle_shear_modulus','>',0,'numel',1);
     112                                md = checkfield(md,'fieldname','materials.mantle_density','>',0,'numel',1);
    113113                        end
    114114
  • TabularUnified issm/trunk-jpl/src/m/classes/matice.py

    r16590 r16764  
    113113                #}}}
    114114        def checkconsistency(self,md,solution,analyses):    # {{{
    115                 md = checkfield(md,'materials.rho_ice','>',0)
    116                 md = checkfield(md,'materials.rho_water','>',0)
    117                 md = checkfield(md,'materials.rho_freshwater','>',0)
    118                 md = checkfield(md,'materials.mu_water','>',0)
    119                 md = checkfield(md,'materials.rheology_B','>',0,'size',[md.mesh.numberofvertices])
    120                 md = checkfield(md,'materials.rheology_n','>',0,'size',[md.mesh.numberofelements])
    121                 md = checkfield(md,'materials.rheology_law','values',['None','Paterson','Arrhenius','LliboutryDuval'])
    122                 md = checkfield(md,'materials.lithosphere_shear_modulus','>',0,'numel',[1]);
    123                 md = checkfield(md,'materials.lithosphere_density','>',0,'numel',[1]);
    124                 md = checkfield(md,'materials.mantle_shear_modulus','>',0,'numel',[1]);
    125                 md = checkfield(md,'materials.mantle_density','>',0,'numel',[1]);
     115                md = checkfield(md,'fieldname','materials.rho_ice','>',0)
     116                md = checkfield(md,'fieldname','materials.rho_water','>',0)
     117                md = checkfield(md,'fieldname','materials.rho_freshwater','>',0)
     118                md = checkfield(md,'fieldname','materials.mu_water','>',0)
     119                md = checkfield(md,'fieldname','materials.rheology_B','>',0,'size',[md.mesh.numberofvertices])
     120                md = checkfield(md,'fieldname','materials.rheology_n','>',0,'size',[md.mesh.numberofelements])
     121                md = checkfield(md,'fieldname','materials.rheology_law','values',['None','Paterson','Arrhenius','LliboutryDuval'])
     122                md = checkfield(md,'fieldname','materials.lithosphere_shear_modulus','>',0,'numel',[1]);
     123                md = checkfield(md,'fieldname','materials.lithosphere_density','>',0,'numel',[1]);
     124                md = checkfield(md,'fieldname','materials.mantle_shear_modulus','>',0,'numel',[1]);
     125                md = checkfield(md,'fieldname','materials.mantle_density','>',0,'numel',[1]);
    126126                return md
    127127        # }}}
  • TabularUnified issm/trunk-jpl/src/m/classes/mesh.m

    r16294 r16764  
    7979                function md = checkconsistency(obj,md,solution,analyses) % {{{
    8080
    81                         md = checkfield(md,'mesh.x','NaN',1,'size',[md.mesh.numberofvertices 1]);
    82                         md = checkfield(md,'mesh.y','NaN',1,'size',[md.mesh.numberofvertices 1]);
    83                         md = checkfield(md,'mesh.z','NaN',1,'size',[md.mesh.numberofvertices 1]);
    84                         md = checkfield(md,'mesh.elements','NaN',1,'>',0,'values',1:md.mesh.numberofvertices);
     81                        md = checkfield(md,'fieldname','mesh.x','NaN',1,'size',[md.mesh.numberofvertices 1]);
     82                        md = checkfield(md,'fieldname','mesh.y','NaN',1,'size',[md.mesh.numberofvertices 1]);
     83                        md = checkfield(md,'fieldname','mesh.z','NaN',1,'size',[md.mesh.numberofvertices 1]);
     84                        md = checkfield(md,'fieldname','mesh.elements','NaN',1,'>',0,'values',1:md.mesh.numberofvertices);
    8585                        if(md.mesh.dimension==2),
    86                                 md = checkfield(md,'mesh.elements','size',[md.mesh.numberofelements 3]);
    87                         else
    88                                 md = checkfield(md,'mesh.elements','size',[md.mesh.numberofelements 6]);
     86                                md = checkfield(md,'fieldname','mesh.elements','size',[md.mesh.numberofelements 3]);
     87                        else
     88                                md = checkfield(md,'fieldname','mesh.elements','size',[md.mesh.numberofelements 6]);
    8989                        end
    9090                        if any(~ismember(1:md.mesh.numberofvertices,sort(unique(md.mesh.elements(:)))));
    9191                                md = checkmessage(md,'orphan nodes have been found. Check the mesh outline');
    9292                        end
    93                         md = checkfield(md,'mesh.dimension','values',[2 3]);
    94                         md = checkfield(md,'mesh.numberoflayers','>=',0);
    95                         md = checkfield(md,'mesh.numberofelements','>',0);
    96                         md = checkfield(md,'mesh.numberofvertices','>',0);
     93                        md = checkfield(md,'fieldname','mesh.dimension','values',[2 3]);
     94                        md = checkfield(md,'fieldname','mesh.numberoflayers','>=',0);
     95                        md = checkfield(md,'fieldname','mesh.numberofelements','>',0);
     96                        md = checkfield(md,'fieldname','mesh.numberofvertices','>',0);
    9797                        %no checks for numberofedges lat long and hemisphere
    98                         md = checkfield(md,'mesh.elementonbed','size',[md.mesh.numberofelements 1],'values',[0 1]);
    99                         md = checkfield(md,'mesh.elementonsurface','size',[md.mesh.numberofelements 1],'values',[0 1]);
    100                         md = checkfield(md,'mesh.vertexonbed','size',[md.mesh.numberofvertices 1],'values',[0 1]);
    101                         md = checkfield(md,'mesh.vertexonsurface','size',[md.mesh.numberofvertices 1],'values',[0 1]);
     98                        md = checkfield(md,'fieldname','mesh.elementonbed','size',[md.mesh.numberofelements 1],'values',[0 1]);
     99                        md = checkfield(md,'fieldname','mesh.elementonsurface','size',[md.mesh.numberofelements 1],'values',[0 1]);
     100                        md = checkfield(md,'fieldname','mesh.vertexonbed','size',[md.mesh.numberofvertices 1],'values',[0 1]);
     101                        md = checkfield(md,'fieldname','mesh.vertexonsurface','size',[md.mesh.numberofvertices 1],'values',[0 1]);
    102102                        if (md.mesh.dimension==3),
    103                                 md = checkfield(md,'mesh.z','>=',md.geometry.bed-10^-10,'message','''mesh.z'' lower than bedrock');
    104                                 md = checkfield(md,'mesh.z','<=',md.geometry.surface+10^-10,'message','''mesh.z'' higher than surface elevation');
     103                                md = checkfield(md,'fieldname','mesh.z','>=',md.geometry.bed-10^-10,'message','''mesh.z'' lower than bedrock');
     104                                md = checkfield(md,'fieldname','mesh.z','<=',md.geometry.surface+10^-10,'message','''mesh.z'' higher than surface elevation');
    105105                        end
    106106                        if (md.mesh.dimension==2),
    107                                 md = checkfield(md,'mesh.average_vertex_connectivity','>=',9,'message','''mesh.average_vertex_connectivity'' should be at least 9 in 2d');
    108                         else
    109                                 md = checkfield(md,'mesh.average_vertex_connectivity','>=',24,'message','''mesh.average_vertex_connectivity'' should be at least 24 in 3d');
     107                                md = checkfield(md,'fieldname','mesh.average_vertex_connectivity','>=',9,'message','''mesh.average_vertex_connectivity'' should be at least 9 in 2d');
     108                        else
     109                                md = checkfield(md,'fieldname','mesh.average_vertex_connectivity','>=',24,'message','''mesh.average_vertex_connectivity'' should be at least 24 in 3d');
    110110                        end
    111111
     
    114114                                case MasstransportSolutionEnum(),
    115115                                        if md.masstransport.stabilization==3,
    116                                                 md = checkfield(md,'mesh.dimension','values',2,'message','Discontinuous Galerkin only supported for 2d meshes');
     116                                                md = checkfield(md,'fieldname','mesh.dimension','values',2,'message','Discontinuous Galerkin only supported for 2d meshes');
    117117                                        end
    118118                                case BalancethicknessSolutionEnum(),
    119119                                        if md.balancethickness.stabilization==3,
    120                                                 md = checkfield(md,'mesh.dimension','values',2,'message','Discontinuous Galerkin only supported for 2d meshes');
     120                                                md = checkfield(md,'fieldname','mesh.dimension','values',2,'message','Discontinuous Galerkin only supported for 2d meshes');
    121121                                        end
    122122                                case TransientSolutionEnum(),
    123123                                        if md.transient.ismasstransport & md.masstransport.stabilization==3,
    124                                                 md = checkfield(md,'mesh.dimension','values',2,'message','Discontinuous Galerkin only supported for 2d meshes');
     124                                                md = checkfield(md,'fieldname','mesh.dimension','values',2,'message','Discontinuous Galerkin only supported for 2d meshes');
    125125                                        end
    126126                                case ThermalSolutionEnum(),
    127                                         md = checkfield(md,'mesh.dimension','values',3,'message','thermal solution only supported on 3d meshes');
     127                                        md = checkfield(md,'fieldname','mesh.dimension','values',3,'message','thermal solution only supported on 3d meshes');
    128128                        end
    129129                end % }}}
  • TabularUnified issm/trunk-jpl/src/m/classes/mesh.py

    r16294 r16764  
    123123        def checkconsistency(self,md,solution,analyses):    # {{{
    124124
    125                 md = checkfield(md,'mesh.x','NaN',1,'size',[md.mesh.numberofvertices])
    126                 md = checkfield(md,'mesh.y','NaN',1,'size',[md.mesh.numberofvertices])
    127                 md = checkfield(md,'mesh.z','NaN',1,'size',[md.mesh.numberofvertices])
    128                 md = checkfield(md,'mesh.elements','NaN',1,'>',0,'values',numpy.arange(1,md.mesh.numberofvertices+1))
     125                md = checkfield(md,'fieldname','mesh.x','NaN',1,'size',[md.mesh.numberofvertices])
     126                md = checkfield(md,'fieldname','mesh.y','NaN',1,'size',[md.mesh.numberofvertices])
     127                md = checkfield(md,'fieldname','mesh.z','NaN',1,'size',[md.mesh.numberofvertices])
     128                md = checkfield(md,'fieldname','mesh.elements','NaN',1,'>',0,'values',numpy.arange(1,md.mesh.numberofvertices+1))
    129129                if md.mesh.dimension==2:
    130                         md = checkfield(md,'mesh.elements','size',[md.mesh.numberofelements,3])
     130                        md = checkfield(md,'fieldname','mesh.elements','size',[md.mesh.numberofelements,3])
    131131                else:
    132                         md = checkfield(md,'mesh.elements','size',[md.mesh.numberofelements,6])
     132                        md = checkfield(md,'fieldname','mesh.elements','size',[md.mesh.numberofelements,6])
    133133                if numpy.any(numpy.logical_not(ismember(numpy.arange(1,md.mesh.numberofvertices+1),md.mesh.elements))):
    134134                        md.checkmessage("orphan nodes have been found. Check the mesh outline")
    135                 md = checkfield(md,'mesh.dimension','values',[2,3])
    136                 md = checkfield(md,'mesh.numberoflayers','>=',0)
    137                 md = checkfield(md,'mesh.numberofelements','>',0)
    138                 md = checkfield(md,'mesh.numberofvertices','>',0)
     135                md = checkfield(md,'fieldname','mesh.dimension','values',[2,3])
     136                md = checkfield(md,'fieldname','mesh.numberoflayers','>=',0)
     137                md = checkfield(md,'fieldname','mesh.numberofelements','>',0)
     138                md = checkfield(md,'fieldname','mesh.numberofvertices','>',0)
    139139                #no checks for numberofedges lat long and hemisphere
    140                 md = checkfield(md,'mesh.elementonbed','size',[md.mesh.numberofelements],'values',[0,1])
    141                 md = checkfield(md,'mesh.elementonsurface','size',[md.mesh.numberofelements],'values',[0,1])
    142                 md = checkfield(md,'mesh.vertexonbed','size',[md.mesh.numberofvertices],'values',[0,1])
    143                 md = checkfield(md,'mesh.vertexonsurface','size',[md.mesh.numberofvertices],'values',[0,1])
     140                md = checkfield(md,'fieldname','mesh.elementonbed','size',[md.mesh.numberofelements],'values',[0,1])
     141                md = checkfield(md,'fieldname','mesh.elementonsurface','size',[md.mesh.numberofelements],'values',[0,1])
     142                md = checkfield(md,'fieldname','mesh.vertexonbed','size',[md.mesh.numberofvertices],'values',[0,1])
     143                md = checkfield(md,'fieldname','mesh.vertexonsurface','size',[md.mesh.numberofvertices],'values',[0,1])
    144144                if md.mesh.dimension==2:
    145                         md = checkfield(md,'mesh.average_vertex_connectivity','>=',9,'message',"'mesh.average_vertex_connectivity' should be at least 9 in 2d")
     145                        md = checkfield(md,'fieldname','mesh.average_vertex_connectivity','>=',9,'message',"'mesh.average_vertex_connectivity' should be at least 9 in 2d")
    146146                else:
    147                         md = checkfield(md,'mesh.average_vertex_connectivity','>=',24,'message',"'mesh.average_vertex_connectivity' should be at least 24 in 3d")
     147                        md = checkfield(md,'fieldname','mesh.average_vertex_connectivity','>=',24,'message',"'mesh.average_vertex_connectivity' should be at least 24 in 3d")
    148148
    149149                #Solution specific checks
    150150                if   solution==MasstransportSolutionEnum():
    151151                        if md.masstransport.stabilization==3:
    152                                 md = checkfield(md,'mesh.dimension','values',2,'message',"Discontinuous Galerkin only supported for 2d meshes")
     152                                md = checkfield(md,'fieldname','mesh.dimension','values',2,'message',"Discontinuous Galerkin only supported for 2d meshes")
    153153                elif solution==BalancethicknessSolutionEnum():
    154154                        if md.balancethickness.stabilization==3:
    155                                 md = checkfield(md,'mesh.dimension','values',2,'message',"Discontinuous Galerkin only supported for 2d meshes")
     155                                md = checkfield(md,'fieldname','mesh.dimension','values',2,'message',"Discontinuous Galerkin only supported for 2d meshes")
    156156                elif solution==TransientSolutionEnum():
    157157                        if md.transient.ismasstransport and md.masstransport.stabilization==3:
    158                                 md = checkfield(md,'mesh.dimension','values',2,'message',"Discontinuous Galerkin only supported for 2d meshes")
     158                                md = checkfield(md,'fieldname','mesh.dimension','values',2,'message',"Discontinuous Galerkin only supported for 2d meshes")
    159159                elif solution==ThermalSolutionEnum():
    160                         md = checkfield(md,'mesh.dimension','values',3,'message','thermal solution only supported on 3d meshes')
     160                        md = checkfield(md,'fieldname','mesh.dimension','values',3,'message','thermal solution only supported on 3d meshes')
    161161
    162162                return md
  • TabularUnified issm/trunk-jpl/src/m/classes/mesh2d.m

    r16295 r16764  
    4949                function md = checkconsistency(obj,md,solution,analyses) % {{{
    5050
    51                         md = checkfield(md,'mesh.x','NaN',1,'size',[md.mesh.numberofvertices 1]);
    52                         md = checkfield(md,'mesh.y','NaN',1,'size',[md.mesh.numberofvertices 1]);
    53                         md = checkfield(md,'mesh.elements','NaN',1,'>',0,'values',1:md.mesh.numberofvertices);
    54                         md = checkfield(md,'mesh.elements','size',[md.mesh.numberofelements 3]);
     51                        md = checkfield(md,'fieldname','mesh.x','NaN',1,'size',[md.mesh.numberofvertices 1]);
     52                        md = checkfield(md,'fieldname','mesh.y','NaN',1,'size',[md.mesh.numberofvertices 1]);
     53                        md = checkfield(md,'fieldname','mesh.elements','NaN',1,'>',0,'values',1:md.mesh.numberofvertices);
     54                        md = checkfield(md,'fieldname','mesh.elements','size',[md.mesh.numberofelements 3]);
    5555                        if any(~ismember(1:md.mesh.numberofvertices,sort(unique(md.mesh.elements(:)))));
    5656                                md = checkmessage(md,'orphan nodes have been found. Check the mesh outline');
    5757                        end
    58                         md = checkfield(md,'mesh.numberofelements','>',0);
    59                         md = checkfield(md,'mesh.numberofvertices','>',0);
    60                         md = checkfield(md,'mesh.average_vertex_connectivity','>=',9,'message','''mesh.average_vertex_connectivity'' should be at least 9 in 2d');
     58                        md = checkfield(md,'fieldname','mesh.numberofelements','>',0);
     59                        md = checkfield(md,'fieldname','mesh.numberofvertices','>',0);
     60                        md = checkfield(md,'fieldname','mesh.average_vertex_connectivity','>=',9,'message','''mesh.average_vertex_connectivity'' should be at least 9 in 2d');
    6161
    6262                        switch(solution),
  • TabularUnified issm/trunk-jpl/src/m/classes/mesh2d.py

    r16295 r16764  
    8383        def checkconsistency(self,md,solution,analyses):    # {{{
    8484
    85                 md = checkfield(md,'mesh.x','NaN',1,'size',[md.mesh.numberofvertices])
    86                 md = checkfield(md,'mesh.y','NaN',1,'size',[md.mesh.numberofvertices])
    87                 md = checkfield(md,'mesh.z','NaN',1,'size',[md.mesh.numberofvertices])
    88                 md = checkfield(md,'mesh.elements','NaN',1,'>',0,'values',numpy.arange(1,md.mesh.numberofvertices+1))
    89                 md = checkfield(md,'mesh.elements','size',[md.mesh.numberofelements,3])
     85                md = checkfield(md,'fieldname','mesh.x','NaN',1,'size',[md.mesh.numberofvertices])
     86                md = checkfield(md,'fieldname','mesh.y','NaN',1,'size',[md.mesh.numberofvertices])
     87                md = checkfield(md,'fieldname','mesh.z','NaN',1,'size',[md.mesh.numberofvertices])
     88                md = checkfield(md,'fieldname','mesh.elements','NaN',1,'>',0,'values',numpy.arange(1,md.mesh.numberofvertices+1))
     89                md = checkfield(md,'fieldname','mesh.elements','size',[md.mesh.numberofelements,3])
    9090                if numpy.any(numpy.logical_not(ismember(numpy.arange(1,md.mesh.numberofvertices+1),md.mesh.elements))):
    9191                        md.checkmessage("orphan nodes have been found. Check the mesh outline")
    92                 md = checkfield(md,'mesh.numberofelements','>',0)
    93                 md = checkfield(md,'mesh.numberofvertices','>',0)
    94                 md = checkfield(md,'mesh.average_vertex_connectivity','>=',9,'message',"'mesh.average_vertex_connectivity' should be at least 9 in 2d")
     92                md = checkfield(md,'fieldname','mesh.numberofelements','>',0)
     93                md = checkfield(md,'fieldname','mesh.numberofvertices','>',0)
     94                md = checkfield(md,'fieldname','mesh.average_vertex_connectivity','>=',9,'message',"'mesh.average_vertex_connectivity' should be at least 9 in 2d")
    9595                if solution==ThermalSolutionEnum():
    9696                        md.checkmessage("thermal not supported for 2d mesh")
  • TabularUnified issm/trunk-jpl/src/m/classes/mesh2dvertical.m

    r16395 r16764  
    5858                function md = checkconsistency(obj,md,solution,analyses) % {{{
    5959
    60                         md = checkfield(md,'mesh.x','NaN',1,'size',[md.mesh.numberofvertices 1]);
    61                         md = checkfield(md,'mesh.y','NaN',1,'size',[md.mesh.numberofvertices 1]);
    62                         md = checkfield(md,'mesh.elements','NaN',1,'>',0,'values',1:md.mesh.numberofvertices);
    63                         md = checkfield(md,'mesh.elements','size',[md.mesh.numberofelements 3]);
     60                        md = checkfield(md,'fieldname','mesh.x','NaN',1,'size',[md.mesh.numberofvertices 1]);
     61                        md = checkfield(md,'fieldname','mesh.y','NaN',1,'size',[md.mesh.numberofvertices 1]);
     62                        md = checkfield(md,'fieldname','mesh.elements','NaN',1,'>',0,'values',1:md.mesh.numberofvertices);
     63                        md = checkfield(md,'fieldname','mesh.elements','size',[md.mesh.numberofelements 3]);
    6464                        if any(~ismember(1:md.mesh.numberofvertices,sort(unique(md.mesh.elements(:)))));
    6565                                md = checkmessage(md,'orphan nodes have been found. Check the mesh outline');
    6666                        end
    67                         md = checkfield(md,'mesh.numberofelements','>',0);
    68                         md = checkfield(md,'mesh.numberofvertices','>',0);
    69                         md = checkfield(md,'mesh.vertexonbed','size',[md.mesh.numberofvertices 1],'values',[0 1]);
    70                         md = checkfield(md,'mesh.vertexonsurface','size',[md.mesh.numberofvertices 1],'values',[0 1]);
    71                         md = checkfield(md,'mesh.average_vertex_connectivity','>=',9,'message','''mesh.average_vertex_connectivity'' should be at least 9 in 2d');
     67                        md = checkfield(md,'fieldname','mesh.numberofelements','>',0);
     68                        md = checkfield(md,'fieldname','mesh.numberofvertices','>',0);
     69                        md = checkfield(md,'fieldname','mesh.vertexonbed','size',[md.mesh.numberofvertices 1],'values',[0 1]);
     70                        md = checkfield(md,'fieldname','mesh.vertexonsurface','size',[md.mesh.numberofvertices 1],'values',[0 1]);
     71                        md = checkfield(md,'fieldname','mesh.average_vertex_connectivity','>=',9,'message','''mesh.average_vertex_connectivity'' should be at least 9 in 2d');
    7272
    7373                        switch(solution),
  • TabularUnified issm/trunk-jpl/src/m/classes/miscellaneous.m

    r15131 r16764  
    2121                function md = checkconsistency(obj,md,solution,analyses) % {{{
    2222
    23                         md = checkfield(md,'miscellaneous.name','empty',1);
     23                        md = checkfield(md,'fieldname','miscellaneous.name','empty',1);
    2424
    2525                end % }}}
  • TabularUnified issm/trunk-jpl/src/m/classes/miscellaneous.py

    r15131 r16764  
    3434        #}}}
    3535        def checkconsistency(self,md,solution,analyses):    # {{{
    36                 md = checkfield(md,'miscellaneous.name','empty',1)
     36                md = checkfield(md,'fieldname','miscellaneous.name','empty',1)
    3737                return md
    3838        # }}}
  • TabularUnified issm/trunk-jpl/src/m/classes/outputdefinition.m

    r16407 r16764  
    2424                function md = checkconsistency(obj,md,solution,analyses) % {{{
    2525
    26                         md = checkfield(md,'outputdefinition.definitions','cell',1);
     26                        md = checkfield(md,'fieldname','outputdefinition.definitions','cell',1);
    2727
    2828                        for i=1:length(obj.definitions),
  • TabularUnified issm/trunk-jpl/src/m/classes/outputdefinition.py

    r16407 r16764  
    2929        def checkconsistency(self,md,solution,analyses):    # {{{
    3030               
    31                 md = checkfield(md,'outputdefinition.definitions','cell',1)
     31                md = checkfield(md,'fieldname','outputdefinition.definitions','cell',1)
    3232                for definition in self.definitions:
    3333                        definition.checkconsistency(md,solution,analyses);
  • TabularUnified issm/trunk-jpl/src/m/classes/settings.m

    r16470 r16764  
    4949                function md = checkconsistency(obj,md,solution,analyses) % {{{
    5050
    51                         md = checkfield(md,'settings.io_gather','numel',[1],'values',[0 1]);
    52                         md = checkfield(md,'settings.lowmem','numel',[1],'values',[0 1]);
    53                         md = checkfield(md,'settings.output_frequency','numel',[1],'>=',1);
    54                         md = checkfield(md,'settings.waitonlock','numel',[1]);
     51                        md = checkfield(md,'fieldname','settings.io_gather','numel',[1],'values',[0 1]);
     52                        md = checkfield(md,'fieldname','settings.lowmem','numel',[1],'values',[0 1]);
     53                        md = checkfield(md,'fieldname','settings.output_frequency','numel',[1],'>=',1);
     54                        md = checkfield(md,'fieldname','settings.waitonlock','numel',[1]);
    5555
    5656                end % }}}
  • TabularUnified issm/trunk-jpl/src/m/classes/settings.py

    r16470 r16764  
    5151        #}}}
    5252        def checkconsistency(self,md,solution,analyses):    # {{{
    53                 md = checkfield(md,'settings.io_gather','numel',[1],'values',[0,1])
    54                 md = checkfield(md,'settings.lowmem','numel',[1],'values',[0,1])
    55                 md = checkfield(md,'settings.output_frequency','numel',[1],'>=',1)
    56                 md = checkfield(md,'settings.waitonlock','numel',[1])
     53                md = checkfield(md,'fieldname','settings.io_gather','numel',[1],'values',[0,1])
     54                md = checkfield(md,'fieldname','settings.lowmem','numel',[1],'values',[0,1])
     55                md = checkfield(md,'fieldname','settings.output_frequency','numel',[1],'>=',1)
     56                md = checkfield(md,'fieldname','settings.waitonlock','numel',[1])
    5757
    5858                return md
  • TabularUnified issm/trunk-jpl/src/m/classes/snowpack.m

    r16363 r16764  
    219219                function md = checkconsistency(obj,md,solution,analyses) % {{{
    220220                        %snowpack:  %{{{
    221                         md=checkfield(md,'snowpack.snowpack_meas_tss','values',[0 1]);
    222                         md=checkfield(md,'snowpack.snowpack_enforce_measured_snow_heights','values',[0 1]);
    223                         md=checkfield(md,'snowpack.snowpack_sw_mode','values',[0 1 2]);
    224                         md=checkfield(md,'snowpack.snowpack_incoming_longwave','values',[0 1]);
    225                         md=checkfield(md,'snowpack.snowpack_height_of_wind_value','>=',0);
    226                         md=checkfield(md,'snowpack.snowpack_height_of_meteo_values','>=',0);
    227                         md=checkfield(md,'snowpack.snowpack_neutral','values',[-1 0 1]);
    228                         md=checkfield(md,'snowpack.snowpack_roughness_length','>=',0);
    229                         md=checkfield(md,'snowpack.snowpack_number_slopes','values',[1 3 5 9]);
    230                         md=checkfield(md,'snowpack.snowpack_snow_redistribution','values',[0 1]);
    231                         md=checkfield(md,'snowpack.snowpack_calculation_step_length','>',0);
    232                         md=checkfield(md,'snowpack.snowpack_change_bc','values',[0 1]);
    233                         md=checkfield(md,'snowpack.snowpack_thresh_change_bc','<=',0);
    234                         md=checkfield(md,'snowpack.snowpack_snp_soil','values',[0 1]);
    235                         md=checkfield(md,'snowpack.snowpack_soil_flux','values',[0 1]);
    236                         md=checkfield(md,'snowpack.snowpack_geo_heat','>=',0);
    237                         md=checkfield(md,'snowpack.snowpack_canopy','values',[0 1]);
     221                        md=checkfield(md,'fieldname','snowpack.snowpack_meas_tss','values',[0 1]);
     222                        md=checkfield(md,'fieldname','snowpack.snowpack_enforce_measured_snow_heights','values',[0 1]);
     223                        md=checkfield(md,'fieldname','snowpack.snowpack_sw_mode','values',[0 1 2]);
     224                        md=checkfield(md,'fieldname','snowpack.snowpack_incoming_longwave','values',[0 1]);
     225                        md=checkfield(md,'fieldname','snowpack.snowpack_height_of_wind_value','>=',0);
     226                        md=checkfield(md,'fieldname','snowpack.snowpack_height_of_meteo_values','>=',0);
     227                        md=checkfield(md,'fieldname','snowpack.snowpack_neutral','values',[-1 0 1]);
     228                        md=checkfield(md,'fieldname','snowpack.snowpack_roughness_length','>=',0);
     229                        md=checkfield(md,'fieldname','snowpack.snowpack_number_slopes','values',[1 3 5 9]);
     230                        md=checkfield(md,'fieldname','snowpack.snowpack_snow_redistribution','values',[0 1]);
     231                        md=checkfield(md,'fieldname','snowpack.snowpack_calculation_step_length','>',0);
     232                        md=checkfield(md,'fieldname','snowpack.snowpack_change_bc','values',[0 1]);
     233                        md=checkfield(md,'fieldname','snowpack.snowpack_thresh_change_bc','<=',0);
     234                        md=checkfield(md,'fieldname','snowpack.snowpack_snp_soil','values',[0 1]);
     235                        md=checkfield(md,'fieldname','snowpack.snowpack_soil_flux','values',[0 1]);
     236                        md=checkfield(md,'fieldname','snowpack.snowpack_geo_heat','>=',0);
     237                        md=checkfield(md,'fieldname','snowpack.snowpack_canopy','values',[0 1]);
    238238                        %}}}
    239239                        %snowpackadvanced:  %{{{
    240                         md=checkfield(md,'snowpack.snowpackadvanced_variant','values',{'JAPAN','DEFAULT','ANTARCTICA'});
    241                         md=checkfield(md,'snowpack.snowpackadvanced_hn_density','values',{'PARAMETERIZED','EVENT','MEASURED'});
     240                        md=checkfield(md,'fieldname','snowpack.snowpackadvanced_variant','values',{'JAPAN','DEFAULT','ANTARCTICA'});
     241                        md=checkfield(md,'fieldname','snowpack.snowpackadvanced_hn_density','values',{'PARAMETERIZED','EVENT','MEASURED'});
    242242                        %}}}
    243243                        %general:  %{{{
    244                         md=checkfield(md,'snowpack.general_buff_chunk_size','>',0);
    245                         md=checkfield(md,'snowpack.general_buff_before','>',0);
     244                        md=checkfield(md,'fieldname','snowpack.general_buff_chunk_size','>',0);
     245                        md=checkfield(md,'fieldname','snowpack.general_buff_before','>',0);
    246246                        %}}}
    247247                        %input {{{
    248                         md=checkfield(md,'snowpack.input_coordsys','values',{'CH1903','UTM','UPS','PROJ4','LOCAL'});
    249                         md=checkfield(md,'snowpack.input_coordparam','values','null');
    250                         md=checkfield(md,'snowpack.input_time_zone','>',-12,'<',12);
    251                         md=checkfield(md,'snowpack.input_meteo','values',{'BORMA','COSMO','GEOTOP','GRIB','GSN','IMIS','SMET','SNOWPACK'});
    252                         md=checkfield(md,'snowpack.input_meteopath','empty',1);
    253                         md=checkfield(md,'snowpack.input_station1 ','empty',1);
    254                         md=checkfield(md,'snowpack.input_snowfile1','empty',1);
     248                        md=checkfield(md,'fieldname','snowpack.input_coordsys','values',{'CH1903','UTM','UPS','PROJ4','LOCAL'});
     249                        md=checkfield(md,'fieldname','snowpack.input_coordparam','values','null');
     250                        md=checkfield(md,'fieldname','snowpack.input_time_zone','>',-12,'<',12);
     251                        md=checkfield(md,'fieldname','snowpack.input_meteo','values',{'BORMA','COSMO','GEOTOP','GRIB','GSN','IMIS','SMET','SNOWPACK'});
     252                        md=checkfield(md,'fieldname','snowpack.input_meteopath','empty',1);
     253                        md=checkfield(md,'fieldname','snowpack.input_station1 ','empty',1);
     254                        md=checkfield(md,'fieldname','snowpack.input_snowfile1','empty',1);
    255255                        %}}}
    256256                        %output {{{
    257                         md=checkfield(md,'snowpack.output_coordsys','values',{'CH1903','UTM','UPS','PROJ4','LOCAL'});
    258                         md=checkfield(md,'snowpack.output_coordparam','values','null');
    259                         md=checkfield(md,'snowpack.output_time_zone','>',-12,'<',12);
    260                         md=checkfield(md,'snowpack.output_meteopath','empty',1);
    261                         md=checkfield(md,'snowpack.output_experiment','empty',1);
    262                         md=checkfield(md,'snowpack.output_ts_write','values',[0 1]);
    263                         md=checkfield(md,'snowpack.output_ts_start','>=',0);
    264                         md=checkfield(md,'snowpack.output_ts_days_between','>=',0);
    265                         md=checkfield(md,'snowpack.output_profile','values',{'ASCII','IMIS','ASCII IMIS'});
    266                         md=checkfield(md,'snowpack.output_prof_write','values',[0 1]);
    267                         md=checkfield(md,'snowpack.output_prof_start','>=',0);
    268                         md=checkfield(md,'snowpack.output_prof_days_between','>=',0);
     257                        md=checkfield(md,'fieldname','snowpack.output_coordsys','values',{'CH1903','UTM','UPS','PROJ4','LOCAL'});
     258                        md=checkfield(md,'fieldname','snowpack.output_coordparam','values','null');
     259                        md=checkfield(md,'fieldname','snowpack.output_time_zone','>',-12,'<',12);
     260                        md=checkfield(md,'fieldname','snowpack.output_meteopath','empty',1);
     261                        md=checkfield(md,'fieldname','snowpack.output_experiment','empty',1);
     262                        md=checkfield(md,'fieldname','snowpack.output_ts_write','values',[0 1]);
     263                        md=checkfield(md,'fieldname','snowpack.output_ts_start','>=',0);
     264                        md=checkfield(md,'fieldname','snowpack.output_ts_days_between','>=',0);
     265                        md=checkfield(md,'fieldname','snowpack.output_profile','values',{'ASCII','IMIS','ASCII IMIS'});
     266                        md=checkfield(md,'fieldname','snowpack.output_prof_write','values',[0 1]);
     267                        md=checkfield(md,'fieldname','snowpack.output_prof_start','>=',0);
     268                        md=checkfield(md,'fieldname','snowpack.output_prof_days_between','>=',0);
    269269                        %}}}
    270270                        %interpolations1d %{{{
    271                         md=checkfield(md,'snowpack.interpolations1d_window_size','>',0);
    272                         md=checkfield(md,'snowpack.interpolations1d_hnw_resample','values',{'NONE','NEAREST_NEIGHBOUR','ACCUMULATE','LINEAR'});
    273                         md=checkfield(md,'snowpack.interpolations1d_hs_resample','values',{'NONE','NEAREST_NEIGHBOUR','ACCUMULATE','LINEAR'});
    274                         md=checkfield(md,'snowpack.interpolations1d_tsg_resample','values',{'NONE','NEAREST_NEIGHBOUR','ACCUMULATE','LINEAR'});
    275                         md=checkfield(md,'snowpack.interpolations1d_rho_hn_resample','values',{'NONE','NEAREST_NEIGHBOUR','ACCUMULATE','LINEAR'});
    276                         md=checkfield(md,'snowpack.interpolations1d_vw_resample','values',{'NONE','NEAREST_NEIGHBOUR','ACCUMULATE','LINEAR'});
    277                         md=checkfield(md,'snowpack.interpolations1d_vw_args','values',{'EXTRAPOLATE'});
     271                        md=checkfield(md,'fieldname','snowpack.interpolations1d_window_size','>',0);
     272                        md=checkfield(md,'fieldname','snowpack.interpolations1d_hnw_resample','values',{'NONE','NEAREST_NEIGHBOUR','ACCUMULATE','LINEAR'});
     273                        md=checkfield(md,'fieldname','snowpack.interpolations1d_hs_resample','values',{'NONE','NEAREST_NEIGHBOUR','ACCUMULATE','LINEAR'});
     274                        md=checkfield(md,'fieldname','snowpack.interpolations1d_tsg_resample','values',{'NONE','NEAREST_NEIGHBOUR','ACCUMULATE','LINEAR'});
     275                        md=checkfield(md,'fieldname','snowpack.interpolations1d_rho_hn_resample','values',{'NONE','NEAREST_NEIGHBOUR','ACCUMULATE','LINEAR'});
     276                        md=checkfield(md,'fieldname','snowpack.interpolations1d_vw_resample','values',{'NONE','NEAREST_NEIGHBOUR','ACCUMULATE','LINEAR'});
     277                        md=checkfield(md,'fieldname','snowpack.interpolations1d_vw_args','values',{'EXTRAPOLATE'});
    278278                        %}}}
    279279                        %filters {{{
    280280                        filter_values={'MIN_MAX','RATE_FILTER1','RATE_FILTER2','UNHEATED_RAIN_GAUGE_FILTER','WMO_UNDERCATCH_FILTER','WMO_UNDERCATCH_FILTER-SIMPLIFIED','UNVENTILLATED_TEMPERATURE_SENSOR','ADD_AN_OFFSET'};
    281281
    282                         md=checkfield(md,'snowpack.filters_ta_filter1','values',{filter_values});
    283                         if strcmpi(md.snowpack.filters_ta_filter1,'MIN_MAX'), md=checkfield(md,'snowpack.filters_ta_filter1','size',[1 NaN]); end
    284                         md=checkfield(md,'snowpack.filters_ta_arg1','values',{filter_values});
    285                         if strcmpi(md.snowpack.filters_ta_arg1,'MIN_MAX'), md=checkfield(md,'snowpack.filters_ta_arg1','size',[1 NaN]); end
    286                         md=checkfield(md,'snowpack.filters_rh_filter1','values',{filter_values});
    287                         if strcmpi(md.snowpack.filters_rh_filter1,'MIN_MAX'), md=checkfield(md,'snowpack.filters_rh_filter1','size',[1 NaN]); end
    288                         md=checkfield(md,'snowpack.filters_rh_arg1','values',{filter_values});
    289                         if strcmpi(md.snowpack.filters_rh_arg1,'MIN_MAX'), md=checkfield(md,'snowpack.filters_rh_arg1','size',[1 NaN]); end
    290                         md=checkfield(md,'snowpack.filters_rh_filter2','values',{filter_values});
    291                         if strcmpi(md.snowpack.filters_rh_filter2,'MIN_MAX'), md=checkfield(md,'snowpack.filters_rh_filter2','size',[1 NaN]); end
    292                         md=checkfield(md,'snowpack.filters_rh_arg2','values',{filter_values});
    293                         if strcmpi(md.snowpack.filters_rh_arg2,'MIN_MAX'), md=checkfield(md,'snowpack.filters_rh_arg2','size',[1 NaN]); end
    294                         md=checkfield(md,'snowpack.filters_iswr_filter1','values',{filter_values});
    295                         if strcmpi(md.snowpack.filters_iswr_filter1,'MIN_MAX'), md=checkfield(md,'snowpack.filters_iswr_filter1','size',[1 NaN]); end
    296                         md=checkfield(md,'snowpack.filters_iswr_arg1','values',{filter_values});
    297                         if strcmpi(md.snowpack.filters_iswr_arg1,'MIN_MAX'), md=checkfield(md,'snowpack.filters_iswr_arg1','size',[1 NaN]); end
    298                         md=checkfield(md,'snowpack.filters_iswr_filter2','values',{filter_values});
    299                         if strcmpi(md.snowpack.filters_iswr_filter2,'MIN_MAX'), md=checkfield(md,'snowpack.filters_iswr_filter2','size',[1 NaN]); end
    300                         md=checkfield(md,'snowpack.filters_iswr_arg2','values',{filter_values});
    301                         if strcmpi(md.snowpack.filters_iswr_arg2,'MIN_MAX'), md=checkfield(md,'snowpack.filters_iswr_arg2','size',[1 NaN]); end
    302                         md=checkfield(md,'snowpack.filters_rswr_filter1','values',{filter_values});
    303                         if strcmpi(md.snowpack.filters_rswr_filter1,'MIN_MAX'), md=checkfield(md,'snowpack.filters_rswr_filter1','size',[1 NaN]); end
    304                         md=checkfield(md,'snowpack.filters_rswr_arg1','values',{filter_values});
    305                         if strcmpi(md.snowpack.filters_rswr_arg1,'MIN_MAX'), md=checkfield(md,'snowpack.filters_rswr_arg1','size',[1 NaN]); end
    306                         md=checkfield(md,'snowpack.filters_rswr_filter2','values',{filter_values});
    307                         if strcmpi(md.snowpack.filters_rswr_filter2,'MIN_MAX'), md=checkfield(md,'snowpack.filters_rswr_filter2','size',[1 NaN]); end
    308                         md=checkfield(md,'snowpack.filters_rswr_arg2','values',{filter_values});
    309                         if strcmpi(md.snowpack.filters_rswr_arg2,'MIN_MAX'), md=checkfield(md,'snowpack.filters_rswr_arg2','size',[1 NaN]); end
     282                        md=checkfield(md,'fieldname','snowpack.filters_ta_filter1','values',{filter_values});
     283                        if strcmpi(md.snowpack.filters_ta_filter1,'MIN_MAX'), md=checkfield(md,'fieldname','snowpack.filters_ta_filter1','size',[1 NaN]); end
     284                        md=checkfield(md,'fieldname','snowpack.filters_ta_arg1','values',{filter_values});
     285                        if strcmpi(md.snowpack.filters_ta_arg1,'MIN_MAX'), md=checkfield(md,'fieldname','snowpack.filters_ta_arg1','size',[1 NaN]); end
     286                        md=checkfield(md,'fieldname','snowpack.filters_rh_filter1','values',{filter_values});
     287                        if strcmpi(md.snowpack.filters_rh_filter1,'MIN_MAX'), md=checkfield(md,'fieldname','snowpack.filters_rh_filter1','size',[1 NaN]); end
     288                        md=checkfield(md,'fieldname','snowpack.filters_rh_arg1','values',{filter_values});
     289                        if strcmpi(md.snowpack.filters_rh_arg1,'MIN_MAX'), md=checkfield(md,'fieldname','snowpack.filters_rh_arg1','size',[1 NaN]); end
     290                        md=checkfield(md,'fieldname','snowpack.filters_rh_filter2','values',{filter_values});
     291                        if strcmpi(md.snowpack.filters_rh_filter2,'MIN_MAX'), md=checkfield(md,'fieldname','snowpack.filters_rh_filter2','size',[1 NaN]); end
     292                        md=checkfield(md,'fieldname','snowpack.filters_rh_arg2','values',{filter_values});
     293                        if strcmpi(md.snowpack.filters_rh_arg2,'MIN_MAX'), md=checkfield(md,'fieldname','snowpack.filters_rh_arg2','size',[1 NaN]); end
     294                        md=checkfield(md,'fieldname','snowpack.filters_iswr_filter1','values',{filter_values});
     295                        if strcmpi(md.snowpack.filters_iswr_filter1,'MIN_MAX'), md=checkfield(md,'fieldname','snowpack.filters_iswr_filter1','size',[1 NaN]); end
     296                        md=checkfield(md,'fieldname','snowpack.filters_iswr_arg1','values',{filter_values});
     297                        if strcmpi(md.snowpack.filters_iswr_arg1,'MIN_MAX'), md=checkfield(md,'fieldname','snowpack.filters_iswr_arg1','size',[1 NaN]); end
     298                        md=checkfield(md,'fieldname','snowpack.filters_iswr_filter2','values',{filter_values});
     299                        if strcmpi(md.snowpack.filters_iswr_filter2,'MIN_MAX'), md=checkfield(md,'fieldname','snowpack.filters_iswr_filter2','size',[1 NaN]); end
     300                        md=checkfield(md,'fieldname','snowpack.filters_iswr_arg2','values',{filter_values});
     301                        if strcmpi(md.snowpack.filters_iswr_arg2,'MIN_MAX'), md=checkfield(md,'fieldname','snowpack.filters_iswr_arg2','size',[1 NaN]); end
     302                        md=checkfield(md,'fieldname','snowpack.filters_rswr_filter1','values',{filter_values});
     303                        if strcmpi(md.snowpack.filters_rswr_filter1,'MIN_MAX'), md=checkfield(md,'fieldname','snowpack.filters_rswr_filter1','size',[1 NaN]); end
     304                        md=checkfield(md,'fieldname','snowpack.filters_rswr_arg1','values',{filter_values});
     305                        if strcmpi(md.snowpack.filters_rswr_arg1,'MIN_MAX'), md=checkfield(md,'fieldname','snowpack.filters_rswr_arg1','size',[1 NaN]); end
     306                        md=checkfield(md,'fieldname','snowpack.filters_rswr_filter2','values',{filter_values});
     307                        if strcmpi(md.snowpack.filters_rswr_filter2,'MIN_MAX'), md=checkfield(md,'fieldname','snowpack.filters_rswr_filter2','size',[1 NaN]); end
     308                        md=checkfield(md,'fieldname','snowpack.filters_rswr_arg2','values',{filter_values});
     309                        if strcmpi(md.snowpack.filters_rswr_arg2,'MIN_MAX'), md=checkfield(md,'fieldname','snowpack.filters_rswr_arg2','size',[1 NaN]); end
    310310
    311311                        %for ta between 190 and 280 k;
    312                         md=checkfield(md,'snowpack.filters_ilwr_filter1','values',{filter_values});
    313                         if strcmpi(md.snowpack.filters_ilwr_filter1,'MIN_MAX'), md=checkfield(md,'snowpack.filters_ilwr_filter1','size',[1 NaN]); end
    314                         md=checkfield(md,'snowpack.filters_ilwr_arg1','values',{filter_values});
    315                         if strcmpi(md.snowpack.filters_ilwr_arg1,'MIN_MAX'), md=checkfield(md,'snowpack.filters_ilwr_arg1','size',[1 NaN]); end
    316                         md=checkfield(md,'snowpack.filters_ilwr_filter2','values',{filter_values});
    317                         if strcmpi(md.snowpack.filters_ilwr_filter2,'MIN_MAX'), md=checkfield(md,'snowpack.filters_ilwr_filter2','size',[1 NaN]); end
    318                         md=checkfield(md,'snowpack.filters_ilwr_arg2','values',{filter_values});
    319                         if strcmpi(md.snowpack.filters_ilwr_arg2,'MIN_MAX'), md=checkfield(md,'snowpack.filters_ilwr_arg2','size',[1 NaN]); end
    320                         md=checkfield(md,'snowpack.filters_tss_filter1','values',{filter_values});
    321                         if strcmpi(md.snowpack.filters_tss_filter1,'MIN_MAX'), md=checkfield(md,'snowpack.filters_tss_filter1','size',[1 NaN]); end
    322                         md=checkfield(md,'snowpack.filters_tss_arg1','values',{filter_values});
    323                         if strcmpi(md.snowpack.filters_tss_arg1,'MIN_MAX'), md=checkfield(md,'snowpack.filters_tss_arg1','size',[1 NaN]); end
    324                         md=checkfield(md,'snowpack.filters_tsg_filter1','values',{filter_values});
    325                         if strcmpi(md.snowpack.filters_tsg_filter1,'MIN_MAX'), md=checkfield(md,'snowpack.filters_tsg_filter1','size',[1 NaN]); end
    326                         md=checkfield(md,'snowpack.filters_tsg_arg1','values',{filter_values});
    327                         if strcmpi(md.snowpack.filters_tsg_arg1,'MIN_MAX'), md=checkfield(md,'snowpack.filters_tsg_arg1','size',[1 NaN]); end
    328                         md=checkfield(md,'snowpack.filters_vw_filter1','values',{filter_values});
    329                         if strcmpi(md.snowpack.filters_vw_filter1,'MIN_MAX'), md=checkfield(md,'snowpack.filters_vw_filter1','size',[1 NaN]); end
    330                         md=checkfield(md,'snowpack.filters_vw_arg1','values',{filter_values});
    331                         if strcmpi(md.snowpack.filters_vw_arg1,'MIN_MAX'), md=checkfield(md,'snowpack.filters_vw_arg1','size',[1 NaN]); end
    332                         md=checkfield(md,'snowpack.filters_vw_filter2','values',{filter_values});
    333                         if strcmpi(md.snowpack.filters_vw_filter2,'MIN_MAX'), md=checkfield(md,'snowpack.filters_vw_filter2','size',[1 NaN]); end
    334                         md=checkfield(md,'snowpack.filters_vw_arg2','values',{filter_values});
    335                         if strcmpi(md.snowpack.filters_vw_arg2,'MIN_MAX'), md=checkfield(md,'snowpack.filters_vw_arg2','size',[1 NaN]); end
     312                        md=checkfield(md,'fieldname','snowpack.filters_ilwr_filter1','values',{filter_values});
     313                        if strcmpi(md.snowpack.filters_ilwr_filter1,'MIN_MAX'), md=checkfield(md,'fieldname','snowpack.filters_ilwr_filter1','size',[1 NaN]); end
     314                        md=checkfield(md,'fieldname','snowpack.filters_ilwr_arg1','values',{filter_values});
     315                        if strcmpi(md.snowpack.filters_ilwr_arg1,'MIN_MAX'), md=checkfield(md,'fieldname','snowpack.filters_ilwr_arg1','size',[1 NaN]); end
     316                        md=checkfield(md,'fieldname','snowpack.filters_ilwr_filter2','values',{filter_values});
     317                        if strcmpi(md.snowpack.filters_ilwr_filter2,'MIN_MAX'), md=checkfield(md,'fieldname','snowpack.filters_ilwr_filter2','size',[1 NaN]); end
     318                        md=checkfield(md,'fieldname','snowpack.filters_ilwr_arg2','values',{filter_values});
     319                        if strcmpi(md.snowpack.filters_ilwr_arg2,'MIN_MAX'), md=checkfield(md,'fieldname','snowpack.filters_ilwr_arg2','size',[1 NaN]); end
     320                        md=checkfield(md,'fieldname','snowpack.filters_tss_filter1','values',{filter_values});
     321                        if strcmpi(md.snowpack.filters_tss_filter1,'MIN_MAX'), md=checkfield(md,'fieldname','snowpack.filters_tss_filter1','size',[1 NaN]); end
     322                        md=checkfield(md,'fieldname','snowpack.filters_tss_arg1','values',{filter_values});
     323                        if strcmpi(md.snowpack.filters_tss_arg1,'MIN_MAX'), md=checkfield(md,'fieldname','snowpack.filters_tss_arg1','size',[1 NaN]); end
     324                        md=checkfield(md,'fieldname','snowpack.filters_tsg_filter1','values',{filter_values});
     325                        if strcmpi(md.snowpack.filters_tsg_filter1,'MIN_MAX'), md=checkfield(md,'fieldname','snowpack.filters_tsg_filter1','size',[1 NaN]); end
     326                        md=checkfield(md,'fieldname','snowpack.filters_tsg_arg1','values',{filter_values});
     327                        if strcmpi(md.snowpack.filters_tsg_arg1,'MIN_MAX'), md=checkfield(md,'fieldname','snowpack.filters_tsg_arg1','size',[1 NaN]); end
     328                        md=checkfield(md,'fieldname','snowpack.filters_vw_filter1','values',{filter_values});
     329                        if strcmpi(md.snowpack.filters_vw_filter1,'MIN_MAX'), md=checkfield(md,'fieldname','snowpack.filters_vw_filter1','size',[1 NaN]); end
     330                        md=checkfield(md,'fieldname','snowpack.filters_vw_arg1','values',{filter_values});
     331                        if strcmpi(md.snowpack.filters_vw_arg1,'MIN_MAX'), md=checkfield(md,'fieldname','snowpack.filters_vw_arg1','size',[1 NaN]); end
     332                        md=checkfield(md,'fieldname','snowpack.filters_vw_filter2','values',{filter_values});
     333                        if strcmpi(md.snowpack.filters_vw_filter2,'MIN_MAX'), md=checkfield(md,'fieldname','snowpack.filters_vw_filter2','size',[1 NaN]); end
     334                        md=checkfield(md,'fieldname','snowpack.filters_vw_arg2','values',{filter_values});
     335                        if strcmpi(md.snowpack.filters_vw_arg2,'MIN_MAX'), md=checkfield(md,'fieldname','snowpack.filters_vw_arg2','size',[1 NaN]); end
    336336
    337337                        %}}}
  • TabularUnified issm/trunk-jpl/src/m/classes/spheremesh.m

    r16287 r16764  
    4242                function md = checkconsistency(obj,md,solution,analyses) % {{{
    4343
    44                         md = checkfield(md,'spheremesh.x','NaN',1,'size',[md.spheremesh.numberofvertices 1]);
    45                         md = checkfield(md,'spheremesh.y','NaN',1,'size',[md.spheremesh.numberofvertices 1]);
    46                         md = checkfield(md,'spheremesh.z','NaN',1,'size',[md.spheremesh.numberofvertices 1]);
    47                         md = checkfield(md,'spheremesh.r','NaN',1,'size',[md.spheremesh.numberofvertices 1]);
    48                         md = checkfield(md,'spheremesh.theta','NaN',1,'size',[md.spheremesh.numberofvertices 1]);
    49                         md = checkfield(md,'spheremesh.phi','NaN',1,'size',[md.spheremesh.numberofvertices 1]);
    50                         md = checkfield(md,'spheremesh.elements','NaN',1,'>',0,'values',1:md.spheremesh.numberofvertices);
     44                        md = checkfield(md,'fieldname','spheremesh.x','NaN',1,'size',[md.spheremesh.numberofvertices 1]);
     45                        md = checkfield(md,'fieldname','spheremesh.y','NaN',1,'size',[md.spheremesh.numberofvertices 1]);
     46                        md = checkfield(md,'fieldname','spheremesh.z','NaN',1,'size',[md.spheremesh.numberofvertices 1]);
     47                        md = checkfield(md,'fieldname','spheremesh.r','NaN',1,'size',[md.spheremesh.numberofvertices 1]);
     48                        md = checkfield(md,'fieldname','spheremesh.theta','NaN',1,'size',[md.spheremesh.numberofvertices 1]);
     49                        md = checkfield(md,'fieldname','spheremesh.phi','NaN',1,'size',[md.spheremesh.numberofvertices 1]);
     50                        md = checkfield(md,'fieldname','spheremesh.elements','NaN',1,'>',0,'values',1:md.spheremesh.numberofvertices);
    5151                        if(md.spheremesh.dimension==2),
    52                                 md = checkfield(md,'spheremesh.elements','size',[md.spheremesh.numberofelements 3]);
     52                                md = checkfield(md,'fieldname','spheremesh.elements','size',[md.spheremesh.numberofelements 3]);
    5353                        else
    54                                 md = checkfield(md,'spheremesh.elements','size',[md.spheremesh.numberofelements 6]);
     54                                md = checkfield(md,'fieldname','spheremesh.elements','size',[md.spheremesh.numberofelements 6]);
    5555                        end
    5656                        if any(~ismember(1:md.spheremesh.numberofvertices,sort(unique(md.spheremesh.elements(:)))));
    5757                                md = checkmessage(md,'orphan nodes have been found. Check the spheremesh outline');
    5858                        end
    59                         md = checkfield(md,'spheremesh.dimension','values',[2 3]);
    60                         md = checkfield(md,'spheremesh.numberoflayers','>=',0);
    61                         md = checkfield(md,'spheremesh.numberofelements','>',0);
    62                         md = checkfield(md,'spheremesh.numberofvertices','>',0);
     59                        md = checkfield(md,'fieldname','spheremesh.dimension','values',[2 3]);
     60                        md = checkfield(md,'fieldname','spheremesh.numberoflayers','>=',0);
     61                        md = checkfield(md,'fieldname','spheremesh.numberofelements','>',0);
     62                        md = checkfield(md,'fieldname','spheremesh.numberofvertices','>',0);
    6363                        if (md.spheremesh.dimension==2),
    64                                 md = checkfield(md,'spheremesh.average_vertex_connectivity','>=',9,'message','''spheremesh.average_vertex_connectivity'' should be at least 9 in 2d');
     64                                md = checkfield(md,'fieldname','spheremesh.average_vertex_connectivity','>=',9,'message','''spheremesh.average_vertex_connectivity'' should be at least 9 in 2d');
    6565                        else
    66                                 md = checkfield(md,'spheremesh.average_vertex_connectivity','>=',24,'message','''spheremesh.average_vertex_connectivity'' should be at least 24 in 3d');
     66                                md = checkfield(md,'fieldname','spheremesh.average_vertex_connectivity','>=',24,'message','''spheremesh.average_vertex_connectivity'' should be at least 24 in 3d');
    6767                        end
    68                         md = checkfield(md,'spheremesh.elementconnectivity','size',[md.spheremesh.numberofelements 3],'NaN',1);
     68                        md = checkfield(md,'fieldname','spheremesh.elementconnectivity','size',[md.spheremesh.numberofelements 3],'NaN',1);
    6969
    7070                        %Solution specific checks
     
    7272                                case MasstransportSolutionEnum(),
    7373                                        if md.masstransport.stabilization==3,
    74                                                 md = checkfield(md,'spheremesh.dimension','values',2,'message','Discontinuous Galerkin only supported for 2d spheremeshes');
     74                                                md = checkfield(md,'fieldname','spheremesh.dimension','values',2,'message','Discontinuous Galerkin only supported for 2d spheremeshes');
    7575                                        end
    7676                                case TransientSolutionEnum(),
    7777                                        if md.transient.ismasstransport & md.masstransport.stabilization==3,
    78                                                 md = checkfield(md,'spheremesh.dimension','values',2,'message','Discontinuous Galerkin only supported for 2d spheremeshes');
     78                                                md = checkfield(md,'fieldname','spheremesh.dimension','values',2,'message','Discontinuous Galerkin only supported for 2d spheremeshes');
    7979                                        end
    8080                                case ThermalSolutionEnum(),
    81                                         md = checkfield(md,'spheremesh.dimension','values',3,'message','thermal solution only supported on 3d spheremeshes');
     81                                        md = checkfield(md,'fieldname','spheremesh.dimension','values',3,'message','thermal solution only supported on 3d spheremeshes');
    8282                        end
    8383                end % }}}
  • TabularUnified issm/trunk-jpl/src/m/classes/steadystate.m

    r16470 r16764  
    4242                                md = checkmessage(md,['for a steadystate computation, timestepping.time_step must be zero.']);
    4343                        end
    44                         md = checkfield(md,'steadystate.requested_outputs','stringrow',1);
     44                        md = checkfield(md,'fieldname','steadystate.requested_outputs','stringrow',1);
    4545
    4646                        if isnan(md.stressbalance.reltol),
  • TabularUnified issm/trunk-jpl/src/m/classes/steadystate.py

    r16471 r16764  
    5858                        md.checkmessage("for a steadystate computation, stressbalance.reltol (relative convergence criterion) must be defined!")
    5959
    60                 md = checkfield(md,'steadystate.requested_outputs','stringrow',1)
     60                md = checkfield(md,'fieldname','steadystate.requested_outputs','stringrow',1)
    6161
    6262                return md
  • TabularUnified issm/trunk-jpl/src/m/classes/stressbalance.m

    r16463 r16764  
    8282                        if ~ismember(StressbalanceAnalysisEnum(),analyses), return; end
    8383
    84                         md = checkfield(md,'stressbalance.spcvx','forcing',1);
    85                         md = checkfield(md,'stressbalance.spcvy','forcing',1);
    86                         md = checkfield(md,'stressbalance.spcvz','forcing',1);
    87                         md = checkfield(md,'stressbalance.restol','size',[1 1],'>',0,'NaN',1);
    88                         md = checkfield(md,'stressbalance.reltol','size',[1 1]);
    89                         md = checkfield(md,'stressbalance.abstol','size',[1 1]);
    90                         md = checkfield(md,'stressbalance.isnewton','numel',[1],'values',[0 1 2]);
    91                         md = checkfield(md,'stressbalance.FSreconditioning','size',[1 1],'NaN',1);
    92                         md = checkfield(md,'stressbalance.viscosity_overshoot','size',[1 1],'NaN',1);
    93                         md = checkfield(md,'stressbalance.maxiter','size',[1 1],'>=',1);
    94                         md = checkfield(md,'stressbalance.referential','size',[md.mesh.numberofvertices 6]);
    95                         md = checkfield(md,'stressbalance.loadingforce','size',[md.mesh.numberofvertices 3]);
    96                         md = checkfield(md,'stressbalance.requested_outputs','stringrow',1);
     84                        md = checkfield(md,'fieldname','stressbalance.spcvx','forcing',1);
     85                        md = checkfield(md,'fieldname','stressbalance.spcvy','forcing',1);
     86                        md = checkfield(md,'fieldname','stressbalance.spcvz','forcing',1);
     87                        md = checkfield(md,'fieldname','stressbalance.restol','size',[1 1],'>',0,'NaN',1);
     88                        md = checkfield(md,'fieldname','stressbalance.reltol','size',[1 1]);
     89                        md = checkfield(md,'fieldname','stressbalance.abstol','size',[1 1]);
     90                        md = checkfield(md,'fieldname','stressbalance.isnewton','numel',[1],'values',[0 1 2]);
     91                        md = checkfield(md,'fieldname','stressbalance.FSreconditioning','size',[1 1],'NaN',1);
     92                        md = checkfield(md,'fieldname','stressbalance.viscosity_overshoot','size',[1 1],'NaN',1);
     93                        md = checkfield(md,'fieldname','stressbalance.maxiter','size',[1 1],'>=',1);
     94                        md = checkfield(md,'fieldname','stressbalance.referential','size',[md.mesh.numberofvertices 6]);
     95                        md = checkfield(md,'fieldname','stressbalance.loadingforce','size',[md.mesh.numberofvertices 3]);
     96                        md = checkfield(md,'fieldname','stressbalance.requested_outputs','stringrow',1);
    9797
    9898                        %singular solution
     
    117117                                        md = checkmessage(md,['no referential should be specified for basal vertices of grounded ice']);
    118118                                end
    119                                 md = checkfield(md,'stressbalance.FSreconditioning','>',0);
     119                                md = checkfield(md,'fieldname','stressbalance.FSreconditioning','>',0);
    120120                        end
    121121                end % }}}
  • TabularUnified issm/trunk-jpl/src/m/classes/stressbalance.py

    r16463 r16764  
    127127                        return md
    128128
    129                 md = checkfield(md,'stressbalance.spcvx','forcing',1)
    130                 md = checkfield(md,'stressbalance.spcvy','forcing',1)
     129                md = checkfield(md,'fieldname','stressbalance.spcvx','forcing',1)
     130                md = checkfield(md,'fieldname','stressbalance.spcvy','forcing',1)
    131131                if strcmp(md.mesh.meshtype(),'3D'):
    132                         md = checkfield(md,'stressbalance.spcvz','forcing',1)
    133                 md = checkfield(md,'stressbalance.restol','size',[1],'>',0)
    134                 md = checkfield(md,'stressbalance.reltol','size',[1])
    135                 md = checkfield(md,'stressbalance.abstol','size',[1])
    136                 md = checkfield(md,'stressbalance.isnewton','numel',[1],'values',[0,1,2])
    137                 md = checkfield(md,'stressbalance.FSreconditioning','size',[1],'NaN',1)
    138                 md = checkfield(md,'stressbalance.viscosity_overshoot','size',[1],'NaN',1)
    139                 md = checkfield(md,'stressbalance.maxiter','size',[1],'>=',1)
    140                 md = checkfield(md,'stressbalance.referential','size',[md.mesh.numberofvertices,6])
    141                 md = checkfield(md,'stressbalance.loadingforce','size',[md.mesh.numberofvertices,3])
    142                 md = checkfield(md,'stressbalance.requested_outputs','stringrow',1);
     132                        md = checkfield(md,'fieldname','stressbalance.spcvz','forcing',1)
     133                md = checkfield(md,'fieldname','stressbalance.restol','size',[1],'>',0)
     134                md = checkfield(md,'fieldname','stressbalance.reltol','size',[1])
     135                md = checkfield(md,'fieldname','stressbalance.abstol','size',[1])
     136                md = checkfield(md,'fieldname','stressbalance.isnewton','numel',[1],'values',[0,1,2])
     137                md = checkfield(md,'fieldname','stressbalance.FSreconditioning','size',[1],'NaN',1)
     138                md = checkfield(md,'fieldname','stressbalance.viscosity_overshoot','size',[1],'NaN',1)
     139                md = checkfield(md,'fieldname','stressbalance.maxiter','size',[1],'>=',1)
     140                md = checkfield(md,'fieldname','stressbalance.referential','size',[md.mesh.numberofvertices,6])
     141                md = checkfield(md,'fieldname','stressbalance.loadingforce','size',[md.mesh.numberofvertices,3])
     142                md = checkfield(md,'fieldname','stressbalance.requested_outputs','stringrow',1);
    143143
    144144                #singular solution
  • TabularUnified issm/trunk-jpl/src/m/classes/surfaceforcings.m

    r15767 r16764  
    4545
    4646                        if ismember(MasstransportAnalysisEnum(),analyses),
    47                                 md = checkfield(md,'surfaceforcings.ispdd','numel',[1],'values',[0 1]);
    48                                 md = checkfield(md,'surfaceforcings.issmbgradients','numel',[1],'values',[0 1]);
     47                                md = checkfield(md,'fieldname','surfaceforcings.ispdd','numel',[1],'values',[0 1]);
     48                                md = checkfield(md,'fieldname','surfaceforcings.issmbgradients','numel',[1],'values',[0 1]);
    4949                                if(obj.ispdd)
    50                                   md = checkfield(md,'surfaceforcings.desfac','<=',1,'numel',1);
    51                                   md = checkfield(md,'surfaceforcings.s0p','>=',0,'numel',1);
     50                                  md = checkfield(md,'fieldname','surfaceforcings.desfac','<=',1,'numel',1);
     51                                  md = checkfield(md,'fieldname','surfaceforcings.s0p','>=',0,'numel',1);
    5252                                        if(obj.isdelta18o==0)
    53                                                 md = checkfield(md,'surfaceforcings.monthlytemperatures','forcing',1,'NaN',1);
    54                                                 md = checkfield(md,'surfaceforcings.precipitation','forcing',1,'NaN',1);
     53                                                md = checkfield(md,'fieldname','surfaceforcings.monthlytemperatures','forcing',1,'NaN',1);
     54                                                md = checkfield(md,'fieldname','surfaceforcings.precipitation','forcing',1,'NaN',1);
    5555                                        else
    56                                                 md = checkfield(md,'surfaceforcings.delta18o','NaN',1);
    57                                                 md = checkfield(md,'surfaceforcings.delta18o_surface','NaN',1);
    58                                                 md = checkfield(md,'surfaceforcings.temperatures_presentday','size',[md.mesh.numberofvertices+1 12],'NaN',1);
    59                                                 md = checkfield(md,'surfaceforcings.temperatures_lgm','size',[md.mesh.numberofvertices+1 12],'NaN',1);
    60                                                 md = checkfield(md,'surfaceforcings.precipitations_presentday','size',[md.mesh.numberofvertices+1 12],'NaN',1);
     56                                                md = checkfield(md,'fieldname','surfaceforcings.delta18o','NaN',1);
     57                                                md = checkfield(md,'fieldname','surfaceforcings.delta18o_surface','NaN',1);
     58                                                md = checkfield(md,'fieldname','surfaceforcings.temperatures_presentday','size',[md.mesh.numberofvertices+1 12],'NaN',1);
     59                                                md = checkfield(md,'fieldname','surfaceforcings.temperatures_lgm','size',[md.mesh.numberofvertices+1 12],'NaN',1);
     60                                                md = checkfield(md,'fieldname','surfaceforcings.precipitations_presentday','size',[md.mesh.numberofvertices+1 12],'NaN',1);
    6161                                        end
    6262                                elseif(obj.issmbgradients)
    63                                         md = checkfield(md,'surfaceforcings.href','forcing',1,'NaN',1);
    64                                         md = checkfield(md,'surfaceforcings.smbref','forcing',1,'NaN',1);
    65                                         md = checkfield(md,'surfaceforcings.b_pos','forcing',1,'NaN',1);
    66                                         md = checkfield(md,'surfaceforcings.b_neg','forcing',1,'NaN',1);
     63                                        md = checkfield(md,'fieldname','surfaceforcings.href','forcing',1,'NaN',1);
     64                                        md = checkfield(md,'fieldname','surfaceforcings.smbref','forcing',1,'NaN',1);
     65                                        md = checkfield(md,'fieldname','surfaceforcings.b_pos','forcing',1,'NaN',1);
     66                                        md = checkfield(md,'fieldname','surfaceforcings.b_neg','forcing',1,'NaN',1);
    6767                                else
    68                                         md = checkfield(md,'surfaceforcings.mass_balance','forcing',1,'NaN',1);
     68                                        md = checkfield(md,'fieldname','surfaceforcings.mass_balance','forcing',1,'NaN',1);
    6969                                end
    7070                        end
    7171                        if ismember(BalancethicknessAnalysisEnum(),analyses),
    72                                 md = checkfield(md,'surfaceforcings.mass_balance','size',[md.mesh.numberofvertices 1],'NaN',1);
     72                                md = checkfield(md,'fieldname','surfaceforcings.mass_balance','size',[md.mesh.numberofvertices 1],'NaN',1);
    7373                        end
    7474                end % }}}
  • TabularUnified issm/trunk-jpl/src/m/classes/surfaceforcings.py

    r15767 r16764  
    7373
    7474                if MasstransportAnalysisEnum() in analyses:
    75                         md = checkfield(md,'surfaceforcings.ispdd','numel',[1],'values',[0,1])
    76                         md = checkfield(md,'surfaceforcings.issmbgradients','numel',[1],'values',[0,1])
     75                        md = checkfield(md,'fieldname','surfaceforcings.ispdd','numel',[1],'values',[0,1])
     76                        md = checkfield(md,'fieldname','surfaceforcings.issmbgradients','numel',[1],'values',[0,1])
    7777                        if   self.ispdd:
    78                                 md = checkfield(md,'surfaceforcings.desfac','<=',1,'numel',[1]);
    79                                 md = checkfield(md,'surfaceforcings.s0p','>=',0,'numel',[1]);
     78                                md = checkfield(md,'fieldname','surfaceforcings.desfac','<=',1,'numel',[1]);
     79                                md = checkfield(md,'fieldname','surfaceforcings.s0p','>=',0,'numel',[1]);
    8080                                if not self.isdelta18o:
    81                                         md = checkfield(md,'surfaceforcings.monthlytemperatures','forcing',1,'NaN',1)
    82                                         md = checkfield(md,'surfaceforcings.precipitation','forcing',1,'NaN',1)
     81                                        md = checkfield(md,'fieldname','surfaceforcings.monthlytemperatures','forcing',1,'NaN',1)
     82                                        md = checkfield(md,'fieldname','surfaceforcings.precipitation','forcing',1,'NaN',1)
    8383                                else:
    84                                         md = checkfield(md,'surfaceforcings.delta18o','NaN',1)
    85                                         md = checkfield(md,'surfaceforcings.delta18o_surface','NaN',1)
    86                                         md = checkfield(md,'surfaceforcings.temperatures_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1)
    87                                         md = checkfield(md,'surfaceforcings.temperatures_lgm','size',[md.mesh.numberofvertices+1,12],'NaN',1)
    88                                         md = checkfield(md,'surfaceforcings.precipitations_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1)
     84                                        md = checkfield(md,'fieldname','surfaceforcings.delta18o','NaN',1)
     85                                        md = checkfield(md,'fieldname','surfaceforcings.delta18o_surface','NaN',1)
     86                                        md = checkfield(md,'fieldname','surfaceforcings.temperatures_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1)
     87                                        md = checkfield(md,'fieldname','surfaceforcings.temperatures_lgm','size',[md.mesh.numberofvertices+1,12],'NaN',1)
     88                                        md = checkfield(md,'fieldname','surfaceforcings.precipitations_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1)
    8989                        elif self.issmbgradients:
    90                                 md = checkfield(md,'surfaceforcings.href','forcing',1,'NaN',1)
    91                                 md = checkfield(md,'surfaceforcings.smbref','forcing',1,'NaN',1)
    92                                 md = checkfield(md,'surfaceforcings.b_pos','forcing',1,'NaN',1)
    93                                 md = checkfield(md,'surfaceforcings.b_neg','forcing',1,'NaN',1)
     90                                md = checkfield(md,'fieldname','surfaceforcings.href','forcing',1,'NaN',1)
     91                                md = checkfield(md,'fieldname','surfaceforcings.smbref','forcing',1,'NaN',1)
     92                                md = checkfield(md,'fieldname','surfaceforcings.b_pos','forcing',1,'NaN',1)
     93                                md = checkfield(md,'fieldname','surfaceforcings.b_neg','forcing',1,'NaN',1)
    9494                        else:
    95                                 md = checkfield(md,'surfaceforcings.mass_balance','forcing',1,'NaN',1)
     95                                md = checkfield(md,'fieldname','surfaceforcings.mass_balance','forcing',1,'NaN',1)
    9696
    9797                if BalancethicknessAnalysisEnum() in analyses:
    98                         md = checkfield(md,'surfaceforcings.mass_balance','size',[md.mesh.numberofvertices],'NaN',1)
     98                        md = checkfield(md,'fieldname','surfaceforcings.mass_balance','size',[md.mesh.numberofvertices],'NaN',1)
    9999
    100100                return md
  • TabularUnified issm/trunk-jpl/src/m/classes/taoinversion.m

    r16428 r16764  
    7575                        num_costfunc=size(md.inversion.cost_functions,2);
    7676
    77                         md = checkfield(md,'inversion.iscontrol','values',[0 1]);
    78                         md = checkfield(md,'inversion.incomplete_adjoint','values',[0 1]);
    79                         md = checkfield(md,'inversion.control_parameters','cell',1,'values',...
     77                        md = checkfield(md,'fieldname','inversion.iscontrol','values',[0 1]);
     78                        md = checkfield(md,'fieldname','inversion.incomplete_adjoint','values',[0 1]);
     79                        md = checkfield(md,'fieldname','inversion.control_parameters','cell',1,'values',...
    8080                                {'BalancethicknessThickeningRate' 'FrictionCoefficient' 'MaterialsRheologyBbar' 'MaterialsRheologyZbar' 'Vx' 'Vy' 'Thickness'});
    81                         md = checkfield(md,'inversion.nsteps','numel',1,'>=',0);
    82                         md = checkfield(md,'inversion.cost_functions','size',[1 num_costfunc],'values',[101:105 201 501:506]);
    83                         md = checkfield(md,'inversion.cost_functions_coefficients','size',[md.mesh.numberofvertices num_costfunc],'>=',0);
    84                         md = checkfield(md,'inversion.min_parameters','size',[md.mesh.numberofvertices num_controls]);
    85                         md = checkfield(md,'inversion.max_parameters','size',[md.mesh.numberofvertices num_controls]);
     81                        md = checkfield(md,'fieldname','inversion.nsteps','numel',1,'>=',0);
     82                        md = checkfield(md,'fieldname','inversion.cost_functions','size',[1 num_costfunc],'values',[101:105 201 501:506]);
     83                        md = checkfield(md,'fieldname','inversion.cost_functions_coefficients','size',[md.mesh.numberofvertices num_costfunc],'>=',0);
     84                        md = checkfield(md,'fieldname','inversion.min_parameters','size',[md.mesh.numberofvertices num_controls]);
     85                        md = checkfield(md,'fieldname','inversion.max_parameters','size',[md.mesh.numberofvertices num_controls]);
    8686
    8787                        if solution==BalancethicknessSolutionEnum()
    88                                 md = checkfield(md,'inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
     88                                md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
    8989                        elseif solution==BalancethicknessSoftSolutionEnum()
    90                                 md = checkfield(md,'inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
     90                                md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
    9191                        else
    92                                 md = checkfield(md,'inversion.vx_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
    93                                 md = checkfield(md,'inversion.vy_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
     92                                md = checkfield(md,'fieldname','inversion.vx_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
     93                                md = checkfield(md,'fieldname','inversion.vy_obs','size',[md.mesh.numberofvertices 1],'NaN',1);
    9494                        end
    9595                end % }}}
  • TabularUnified issm/trunk-jpl/src/m/classes/thermal.m

    r16470 r16764  
    6262                        if (~ismember(ThermalAnalysisEnum(),analyses) & ~ismember(EnthalpyAnalysisEnum(),analyses)) | (solution==TransientSolutionEnum() & md.transient.isthermal==0), return; end
    6363
    64                         md = checkfield(md,'thermal.stabilization','numel',[1],'values',[0 1 2]);
    65                         md = checkfield(md,'thermal.spctemperature','forcing',1);
     64                        md = checkfield(md,'fieldname','thermal.stabilization','numel',[1],'values',[0 1 2]);
     65                        md = checkfield(md,'fieldname','thermal.spctemperature','forcing',1);
    6666                        if (ismember(EnthalpyAnalysisEnum(),analyses) & md.thermal.isenthalpy & md.mesh.dimension==3),
    6767                                pos=find(md.thermal.spctemperature(1:md.mesh.numberofvertices,:)~=NaN);
    6868                                replicate=repmat(md.geometry.surface-md.mesh.z,1,size(md.thermal.spctemperature,2));
    69                                 md = checkfield(md,'thermal.spctemperature(find(md.thermal.spctemperature(1:md.mesh.numberofvertices,:)~=NaN))','<',md.materials.meltingpoint-md.materials.beta*md.materials.rho_ice*md.constants.g*replicate(pos),'message','spctemperature should be below the adjusted melting point');
    70                                 md = checkfield(md,'thermal.isenthalpy','numel',[1],'values',[0 1]);
    71                                 md = checkfield(md,'thermal.isdynamicbasalspc','numel', [1],'values',[0 1]);
     69                                md = checkfield(md,'fieldname','thermal.spctemperature(find(md.thermal.spctemperature(1:md.mesh.numberofvertices,:)~=NaN))','<',md.materials.meltingpoint-md.materials.beta*md.materials.rho_ice*md.constants.g*replicate(pos),'message','spctemperature should be below the adjusted melting point');
     70                                md = checkfield(md,'fieldname','thermal.isenthalpy','numel',[1],'values',[0 1]);
     71                                md = checkfield(md,'fieldname','thermal.isdynamicbasalspc','numel', [1],'values',[0 1]);
    7272                                if(md.thermal.isenthalpy)
    73                                         md = checkfield(md,'thermal.isdynamicbasalspc','numel', [1],'values',[1], 'message',['for enthalpy run thermal.isdynamicbasalspc should be 1']);
     73                                        md = checkfield(md,'fieldname','thermal.isdynamicbasalspc','numel', [1],'values',[1], 'message',['for enthalpy run thermal.isdynamicbasalspc should be 1']);
    7474                                end
    7575            end
    7676
    77                  md = checkfield(md,'thermal.requested_outputs','stringrow',1);
     77                 md = checkfield(md,'fieldname','thermal.requested_outputs','stringrow',1);
    7878    end % }}}
    7979                function disp(obj) % {{{
  • TabularUnified issm/trunk-jpl/src/m/classes/thermal.py

    r16470 r16764  
    7979                        return md
    8080
    81                 md = checkfield(md,'thermal.stabilization','numel',[1],'values',[0,1,2])
    82                 md = checkfield(md,'thermal.spctemperature','forcing',1)
     81                md = checkfield(md,'fieldname','thermal.stabilization','numel',[1],'values',[0,1,2])
     82                md = checkfield(md,'fieldname','thermal.spctemperature','forcing',1)
    8383                if EnthalpyAnalysisEnum() in analyses and md.thermal.isenthalpy and md.mesh.dimension==3:
    8484                        pos=numpy.nonzero(numpy.logical_not(numpy.isnan(md.thermal.spctemperature[0:md.mesh.numberofvertices])))
    8585                        replicate=numpy.tile(md.geometry.surface-md.mesh.z,(1,numpy.size(md.thermal.spctemperature,axis=1)))
    86                         md = checkfield(md,'thermal.spctemperature[numpy.nonzero(numpy.logical_not(numpy.isnan(md.thermal.spctemperature[0:md.mesh.numberofvertices,:])))]','<',md.materials.meltingpoint-md.materials.beta*md.materials.rho_ice*md.constants.g*replicate[pos],'message',"spctemperature should be below the adjusted melting point")
    87                         md = checkfield(md,'thermal.isenthalpy','numel',[1],'values',[0,1])
    88                         md = checkfield(md,'thermal.isdynamicbasalspc','numel',[1],'values',[0,1]);
    89                         md = checkfield(md,'thermal.requested_outputs','stringrow',1)
     86                        md = checkfield(md,'fieldname','thermal.spctemperature[numpy.nonzero(numpy.logical_not(numpy.isnan(md.thermal.spctemperature[0:md.mesh.numberofvertices,:])))]','<',md.materials.meltingpoint-md.materials.beta*md.materials.rho_ice*md.constants.g*replicate[pos],'message',"spctemperature should be below the adjusted melting point")
     87                        md = checkfield(md,'fieldname','thermal.isenthalpy','numel',[1],'values',[0,1])
     88                        md = checkfield(md,'fieldname','thermal.isdynamicbasalspc','numel',[1],'values',[0,1]);
     89                        md = checkfield(md,'fieldname','thermal.requested_outputs','stringrow',1)
    9090
    9191                return md
  • TabularUnified issm/trunk-jpl/src/m/classes/timestepping.m

    r15131 r16764  
    3535                function md = checkconsistency(obj,md,solution,analyses) % {{{
    3636
    37                         md = checkfield(md,'timestepping.start_time','numel',[1],'NaN',1);
    38                         md = checkfield(md,'timestepping.final_time','numel',[1],'NaN',1);
    39                         md = checkfield(md,'timestepping.time_step','numel',[1],'>=',0,'NaN',1);
    40                         md = checkfield(md,'timestepping.time_adapt','numel',[1],'values',[0 1]);
    41                         md = checkfield(md,'timestepping.cfl_coefficient','numel',[1],'>',0,'<=',1);
     37                        md = checkfield(md,'fieldname','timestepping.start_time','numel',[1],'NaN',1);
     38                        md = checkfield(md,'fieldname','timestepping.final_time','numel',[1],'NaN',1);
     39                        md = checkfield(md,'fieldname','timestepping.time_step','numel',[1],'>=',0,'NaN',1);
     40                        md = checkfield(md,'fieldname','timestepping.time_adapt','numel',[1],'values',[0 1]);
     41                        md = checkfield(md,'fieldname','timestepping.cfl_coefficient','numel',[1],'>',0,'<=',1);
    4242                        if obj.final_time-obj.start_time<0,
    4343                                md = checkmessage(md,'timestepping.final_time should be larger than timestepping.start_time');
  • TabularUnified issm/trunk-jpl/src/m/classes/timestepping.py

    r15131 r16764  
    4848        def checkconsistency(self,md,solution,analyses):    # {{{
    4949
    50                 md = checkfield(md,'timestepping.start_time','numel',[1],'NaN',1)
    51                 md = checkfield(md,'timestepping.final_time','numel',[1],'NaN',1)
    52                 md = checkfield(md,'timestepping.time_step','numel',[1],'>=',0,'NaN',1)
    53                 md = checkfield(md,'timestepping.time_adapt','numel',[1],'values',[0,1])
    54                 md = checkfield(md,'timestepping.cfl_coefficient','numel',[1],'>',0,'<=',1)
     50                md = checkfield(md,'fieldname','timestepping.start_time','numel',[1],'NaN',1)
     51                md = checkfield(md,'fieldname','timestepping.final_time','numel',[1],'NaN',1)
     52                md = checkfield(md,'fieldname','timestepping.time_step','numel',[1],'>=',0,'NaN',1)
     53                md = checkfield(md,'fieldname','timestepping.time_adapt','numel',[1],'values',[0,1])
     54                md = checkfield(md,'fieldname','timestepping.cfl_coefficient','numel',[1],'>',0,'<=',1)
    5555                if self.final_time-self.start_time<0:
    5656                        md.checkmessage("timestepping.final_time should be larger than timestepping.start_time")
  • TabularUnified issm/trunk-jpl/src/m/classes/transient.m

    r16478 r16764  
    4646                        if solution~=TransientSolutionEnum(), return; end
    4747
    48                         md = checkfield(md,'transient.ismasstransport','numel',[1],'values',[0 1]);
    49                         md = checkfield(md,'transient.isstressbalance','numel',[1],'values',[0 1]);
    50                         md = checkfield(md,'transient.isthermal','numel',[1],'values',[0 1]);
    51                         md = checkfield(md,'transient.isgroundingline','numel',[1],'values',[0 1]);
    52                         md = checkfield(md,'transient.isgia','numel',[1],'values',[0 1]);
    53                         md = checkfield(md,'transient.isdamage','numel',[1],'values',[0 1]);
    54                         md = checkfield(md,'transient.requested_outputs','stringrow',1);
     48                        md = checkfield(md,'fieldname','transient.ismasstransport','numel',[1],'values',[0 1]);
     49                        md = checkfield(md,'fieldname','transient.isstressbalance','numel',[1],'values',[0 1]);
     50                        md = checkfield(md,'fieldname','transient.isthermal','numel',[1],'values',[0 1]);
     51                        md = checkfield(md,'fieldname','transient.isgroundingline','numel',[1],'values',[0 1]);
     52                        md = checkfield(md,'fieldname','transient.isgia','numel',[1],'values',[0 1]);
     53                        md = checkfield(md,'fieldname','transient.isdamage','numel',[1],'values',[0 1]);
     54                        md = checkfield(md,'fieldname','transient.requested_outputs','stringrow',1);
    5555
    5656                end % }}}
  • TabularUnified issm/trunk-jpl/src/m/classes/transient.py

    r16478 r16764  
    5858                        return md
    5959
    60                 md = checkfield(md,'transient.ismasstransport','numel',[1],'values',[0,1])
    61                 md = checkfield(md,'transient.isstressbalance','numel',[1],'values',[0,1])
    62                 md = checkfield(md,'transient.isthermal','numel',[1],'values',[0,1])
    63                 md = checkfield(md,'transient.isgroundingline','numel',[1],'values',[0,1])
    64                 md = checkfield(md,'transient.isgia','numel',[1],'values',[0,1])
    65                 md = checkfield(md,'transient.requested_outputs','stringrow',1)
     60                md = checkfield(md,'fieldname','transient.ismasstransport','numel',[1],'values',[0,1])
     61                md = checkfield(md,'fieldname','transient.isstressbalance','numel',[1],'values',[0,1])
     62                md = checkfield(md,'fieldname','transient.isthermal','numel',[1],'values',[0,1])
     63                md = checkfield(md,'fieldname','transient.isgroundingline','numel',[1],'values',[0,1])
     64                md = checkfield(md,'fieldname','transient.isgia','numel',[1],'values',[0,1])
     65                md = checkfield(md,'fieldname','transient.requested_outputs','stringrow',1)
    6666
    6767                return md
  • TabularUnified issm/trunk-jpl/src/m/consistency/checkfield.m

    r16459 r16764  
    1 function md = checkfield(md,fieldname,varargin)
     1function md = checkfield(md,varargin)
    22%CHECKFIELD - check field consistency
    33%
    44%   Used to check model consistency.
     5%   Requires:
     6%     'field' or 'fieldname' option. If 'fieldname' is provided, it will retrieve it from the model md. (md.(fieldname))
     7%             If 'field' is provided, it will assume the argument following 'field' is a numeric array.
    58%   Available options:
    69%      - NaN: 1 if check that there is no NaN
     
    2730options=pairoptions(varargin{:});
    2831
    29 %get field from model
    30 eval(['field=md.' fieldname ';']);
     32%get field:
     33if exist(options,'field'),
     34        field=getfieldvalue(options,'field');
     35        fieldname=getfieldvalue(options,'fieldname','no fieldname');
     36else
     37        fieldname=getfieldvalue(options,'fieldname');
     38        eval(['field=md.' fieldname ';']);
     39end
     40
    3141
    3242%check empty
  • TabularUnified issm/trunk-jpl/src/m/consistency/checkfield.py

    r16465 r16764  
    44from MatlabFuncs import *
    55
    6 def checkfield(md,fieldname,*args):
     6def checkfield(md,*args):
    77        """
    88        CHECKFIELD - check field consistency
    99
    10            Used to check model consistency.
     10           Used to check model consistency.,
     11           Requires:
     12           'field' or 'fieldname' option. If 'fieldname' is provided, it will retrieve it from the model md. (md.(fieldname))
     13             If 'field' is provided, it will assume the argument following 'field' is a numeric array.
     14
    1115           Available options:
    1216              - NaN: 1 if check that there is no NaN
     
    3539
    3640        #get field from model
    37 #       field=getattr(md,fieldname)
    38         exec("field=md.%s" % fieldname)
     41        if options.exist('field'):
     42                field=options.getfieldvalue('field')
     43                fieldname=options.getfieldvalue('fieldname','no fieldname')
     44        else:
     45                fieldname=options.getfieldvalue('fieldname')
     46                exec("field=md.%s" % fieldname)
     47
    3948        if isinstance(field,(bool,int,long,float)):
    4049                field=numpy.array([field])
  • TabularUnified issm/trunk-jpl/src/m/interp/averaging.py

    r16055 r16764  
    5050                numberofnodes=md.mesh.numberofvertices2d
    5151                numberofelements=md.mesh.numberofelements2d
     52
    5253       
    5354        #build some variables
     
    7576                average_node=csc_matrix( (npy.tile(areas*data,(rep,1)).reshape(-1,),(line,npy.zeros(linesize,))), shape=(numberofnodes,1))
    7677                average_node=average_node/weights
     78                average_node = csc_matrix(average_node)
    7779        else:
    7880                average_node=data
     81
    7982       
    8083        #loop over iteration
Note: See TracChangeset for help on using the changeset viewer.