source: issm/oecreview/Archive/19101-20495/ISSM-19284-19285.diff@ 20498

Last change on this file since 20498 was 20498, checked in by Mathieu Morlighem, 9 years ago

CHG: done with Archive/19101-20495

File size: 10.6 KB
  • TabularUnified ../trunk-jpl/src/m/consistency/checkfield.py

     
    166166                        md = md.checkmessage(options.getfieldvalue('message',\
    167167                                "field '%s' should have md.mesh.numberofvertices or md.mesh.numberofvertices+1 lines" % fieldname))
    168168
     169        #Check single value forcings (size and times)
     170        if options.getfieldvalue('singletimeseries',0):
     171                if numpy.size(field,0)==2:
     172                        if not all(field[-1,:]==numpy.sort(field[-1,:])):
     173                                md = md.checkmessage(options.getfieldvalue('message',\
     174                                                "field '%s' columns should be sorted chronologically" % fieldname))
     175                        if any(field[-1,0:-1]==field[-1,1:]):
     176                                md = md.checkmessage(options.getfieldvalue('message',\
     177                                                "field '%s' columns must not contain duplicate timesteps" % fieldname))
     178                else:
     179                                md = md.checkmessage(options.getfieldvalue('message',\
     180                                "field '%s' should have 2 lines" % fieldname))
     181
    169182        return md
    170183
  • TabularUnified ../trunk-jpl/src/m/consistency/checkfield.m

     
    203203                        md = checkmessage(md,getfieldvalue(options,'message',...
    204204                                ['field ''' fieldname ''' should have only one column as there are md.mesh.numberofvertices lines']));
    205205                end
    206         elseif size(field,1)==md.mesh.numberofvertices+1 || size(field,1)==2
     206        elseif size(field,1)==md.mesh.numberofvertices+1
    207207                if any(field(end,:)~=sort(field(end,:))),
    208208                        md = checkmessage(md,getfieldvalue(options,'message',...
    209209                                ['field ''' fieldname ''' columns should be sorted chronologically']));
     
    217217                        ['field ''' fieldname ''' should have md.mesh.numberofvertices or md.mesh.numberofvertices+1 lines']));
    218218        end
    219219end
     220
     221%Check single value forcings (size and times)
     222if getfieldvalue(options,'singletimeseries',0),
     223        if size(field,1)==2
     224                if any(field(end,:)~=sort(field(end,:))),
     225                        md = checkmessage(md,getfieldvalue(options,'message',...
     226                                ['field ''' fieldname ''' columns should be sorted chronologically']));
     227                end
     228                if any(field(end,1:end-1)==field(end,2:end)),
     229                        md = checkmessage(md,getfieldvalue(options,'message',...
     230                                ['field ''' fieldname ''' columns must not contain duplicate timesteps']));
     231                end
     232        else
     233                md = checkmessage(md,getfieldvalue(options,'message',...
     234                        ['field ''' fieldname ''' should have 2 lines']));
     235        end
     236end
  • TabularUnified ../trunk-jpl/src/m/classes/SMBd18opdd.py

     
    8888                        if self.isd18opd:
    8989                                md = checkfield(md,'fieldname','surfaceforcings.temperatures_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1)
    9090                                md = checkfield(md,'fieldname','surfaceforcings.precipitations_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1)
    91                                 md = checkfield(md,'fieldname','surfaceforcings.delta18o','NaN',1,'size',[2,numpy.nan],'timeseries',1)
     91                                md = checkfield(md,'fieldname','surfaceforcings.delta18o','NaN',1,'size',[2,numpy.nan],'singletimeseries',1)
    9292                                md = checkfield(md,'fieldname','surfaceforcings.dpermil','>=',0,'numel',[1])
    9393
    9494                return md
  • TabularUnified ../trunk-jpl/src/m/classes/SMBd18opdd.m

     
    6565                                if(self.isd18opd==1)
    6666                                        md = checkfield(md,'fieldname','surfaceforcings.temperatures_presentday','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1);
    6767                                        md = checkfield(md,'fieldname','surfaceforcings.precipitations_presentday','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1);
    68                                         md = checkfield(md,'fieldname','surfaceforcings.delta18o','NaN',1,'size',[2,NaN],'timeseries',1);
     68                                        md = checkfield(md,'fieldname','surfaceforcings.delta18o','NaN',1,'size',[2,NaN],'singletimeseries',1);
    6969                                        md = checkfield(md,'fieldname','surfaceforcings.dpermil','>=',0,'numel',1);
    7070                                end
    7171                        end
  • TabularUnified ../trunk-jpl/src/m/classes/SMBpdd.py

     
    117117                                md = checkfield(md,'fieldname','surfaceforcings.monthlytemperatures','NaN',1,'timeseries',1)
    118118                                md = checkfield(md,'fieldname','surfaceforcings.precipitation','NaN',1,'timeseries',1)
    119119                        elif self.isdelta18o:
    120                                 md = checkfield(md,'fieldname','surfaceforcings.delta18o','NaN',1,'size',[2,numpy.nan],'timeseries',1)
    121                                 md = checkfield(md,'fieldname','surfaceforcings.delta18o_surface','NaN',1,'size',[2,numpy.nan],'timeseries',1)
     120                                md = checkfield(md,'fieldname','surfaceforcings.delta18o','NaN',1,'size',[2,numpy.nan],'singletimeseries',1)
     121                                md = checkfield(md,'fieldname','surfaceforcings.delta18o_surface','NaN',1,'size',[2,numpy.nan],'singletimeseries',1)
    122122                                md = checkfield(md,'fieldname','surfaceforcings.temperatures_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1)
    123123                                md = checkfield(md,'fieldname','surfaceforcings.temperatures_lgm','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1)
    124124                                md = checkfield(md,'fieldname','surfaceforcings.precipitations_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1)
    125125                                md = checkfield(md,'fieldname','surfaceforcings.precipitations_lgm','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1)                                       
    126                                 md = checkfield(md,'fieldname','surfaceforcings.Tdiff','NaN',1,'size',[2,numpy.nan],'timeseries',1)
    127                                 md = checkfield(md,'fieldname','surfaceforcings.sealev','NaN',1,'size',[2,numpy.nan],'timeseries',1)
     126                                md = checkfield(md,'fieldname','surfaceforcings.Tdiff','NaN',1,'size',[2,numpy.nan],'singletimeseries',1)
     127                                md = checkfield(md,'fieldname','surfaceforcings.sealev','NaN',1,'size',[2,numpy.nan],'singletimeseries',1)
    128128                        elif self.ismungsm:
    129129                                md = checkfield(md,'fieldname','surfaceforcings.temperatures_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1)
    130130                                md = checkfield(md,'fieldname','surfaceforcings.temperatures_lgm','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1)
    131131                                md = checkfield(md,'fieldname','surfaceforcings.precipitations_presentday','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1)
    132132                                md = checkfield(md,'fieldname','surfaceforcings.precipitations_lgm','size',[md.mesh.numberofvertices+1,12],'NaN',1,'timeseries',1)                                       
    133                                 md = checkfield(md,'fieldname','surfaceforcings.Pfac','NaN',1,'size',[2,numpy.nan],'timeseries',1)
    134                                 md = checkfield(md,'fieldname','surfaceforcings.Tdiff','NaN',1,'size',[2,numpy.nan],'timeseries',1)
    135                                 md = checkfield(md,'fieldname','surfaceforcings.sealev','NaN',1,'size',[2,numpy.nan],'timeseries',1)
     133                                md = checkfield(md,'fieldname','surfaceforcings.Pfac','NaN',1,'size',[2,numpy.nan],'singletimeseries',1)
     134                                md = checkfield(md,'fieldname','surfaceforcings.Tdiff','NaN',1,'size',[2,numpy.nan],'singletimeseries',1)
     135                                md = checkfield(md,'fieldname','surfaceforcings.sealev','NaN',1,'size',[2,numpy.nan],'singletimeseries',1)
    136136
    137137                return md
    138138        # }}}
  • TabularUnified ../trunk-jpl/src/m/classes/SMBpdd.m

     
    7777                                        md = checkfield(md,'fieldname','surfaceforcings.monthlytemperatures','timeseries',1,'NaN',1);
    7878                                        md = checkfield(md,'fieldname','surfaceforcings.precipitation','timeseries',1,'NaN',1);
    7979                                elseif(self.isdelta18o==1)
    80                                         md = checkfield(md,'fieldname','surfaceforcings.delta18o','NaN',1,'size',[2,NaN],'timeseries',1);
    81                                         md = checkfield(md,'fieldname','surfaceforcings.delta18o_surface','NaN',1,'size',[2,NaN],'timeseries',1);
     80                                        md = checkfield(md,'fieldname','surfaceforcings.delta18o','NaN',1,'size',[2,NaN],'singletimeseries',1);
     81                                        md = checkfield(md,'fieldname','surfaceforcings.delta18o_surface','NaN',1,'size',[2,NaN],'singletimeseries',1);
    8282                                        md = checkfield(md,'fieldname','surfaceforcings.temperatures_presentday','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1);
    8383                                        md = checkfield(md,'fieldname','surfaceforcings.temperatures_lgm','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1);
    8484                                        md = checkfield(md,'fieldname','surfaceforcings.precipitations_presentday','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1);
    8585                                        md = checkfield(md,'fieldname','surfaceforcings.precipitations_lgm','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1);                                       
    86                                         md = checkfield(md,'fieldname','surfaceforcings.Tdiff','NaN',1,'size',[2,NaN],'timeseries',1);
    87                                         md = checkfield(md,'fieldname','surfaceforcings.sealev','NaN',1,'size',[2,NaN],'timeseries',1);
     86                                        md = checkfield(md,'fieldname','surfaceforcings.Tdiff','NaN',1,'size',[2,NaN],'singletimeseries',1);
     87                                        md = checkfield(md,'fieldname','surfaceforcings.sealev','NaN',1,'size',[2,NaN],'singletimeseries',1);
    8888                                elseif(self.ismungsm==1)
    8989                                        md = checkfield(md,'fieldname','surfaceforcings.temperatures_presentday','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1);
    9090                                        md = checkfield(md,'fieldname','surfaceforcings.temperatures_lgm','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1);
    9191                                        md = checkfield(md,'fieldname','surfaceforcings.precipitations_presentday','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1);
    9292                                        md = checkfield(md,'fieldname','surfaceforcings.precipitations_lgm','size',[md.mesh.numberofvertices+1 12],'NaN',1,'timeseries',1);                                       
    93                                         md = checkfield(md,'fieldname','surfaceforcings.Pfac','NaN',1,'size',[2,NaN],'timeseries',1);
    94                                         md = checkfield(md,'fieldname','surfaceforcings.Tdiff','NaN',1,'size',[2,NaN],'timeseries',1);
    95                                         md = checkfield(md,'fieldname','surfaceforcings.sealev','NaN',1,'size',[2,NaN],'timeseries',1);
     93                                        md = checkfield(md,'fieldname','surfaceforcings.Pfac','NaN',1,'size',[2,NaN],'singletimeseries',1);
     94                                        md = checkfield(md,'fieldname','surfaceforcings.Tdiff','NaN',1,'size',[2,NaN],'singletimeseries',1);
     95                                        md = checkfield(md,'fieldname','surfaceforcings.sealev','NaN',1,'size',[2,NaN],'singletimeseries',1);
    9696                                end
    9797                        end
    9898                end % }}}
Note: See TracBrowser for help on using the repository browser.