Changeset 3072


Ignore:
Timestamp:
29/11/07 14:05:07 (12 years ago)
Author:
domlowe
Message:

finally resolved time subsetting bug

Location:
TI02-CSML/trunk/csml
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • TI02-CSML/trunk/csml/csmllibs/csmlcrs.py

    r3068 r3072  
    235235        axisorder=[] 
    236236        crs =None 
     237        crsMap=[] 
     238         
    237239        if knownCRSAxes is not None: 
    238             crsMap=knownCRSAxes          
    239         else: 
     240            for item in knownCRSAxes: 
     241                if item is not None: 
     242                    crsMap=knownCRSAxes 
     243                    break          
     244        if not crsMap: 
    240245            #build a map of axes and units - use std names to help! 
    241             crsMap=[] 
    242246            for axis in axes: 
    243                 if stdNames[axes.index(axis)]: 
    244                     unittype=stdNames[axes.index(axis)] 
     247                unittype = None 
     248                if stdNames is not None: 
     249                    if stdNames[axes.index(axis)]: 
     250                        unittype=stdNames[axes.index(axis)] 
    245251                else: 
    246252                    unit=units[axes.index(axis)] 
    247                     unittype=self.getUnitType(unit)             
     253                    unittype=self.getUnitType(unit)           
    248254                crsMap.append(unittype)               
    249255        match=0 
  • TI02-CSML/trunk/csml/csmllibs/csmldataiface.py

    r3068 r3072  
    463463                kwargs[lonkey]=tuple(newkws) 
    464464        return kwargs 
    465  
     465                 
     466    def _componentTimes(self, times): 
     467        if type(times) is tuple: 
     468            comptimes=[] 
     469            for t in times: 
     470                compt=csml.csmllibs.csmltime.getCDtime(t) 
     471                comptimes.append(compt) 
     472            result=tuple(comptimes) 
     473        else: #just a single time 
     474            result=csml.csmllibs.csmltime.getCDtime(times) 
     475        return result 
     476         
     477     
    466478    def getSubsetOfDataForVar(self, **kwargs):       
    467         #put any slicing indices aside for later and use names             
     479        #put any slicing indices aside for later and use names         
    468480        try: 
    469481            upper=kwargs['upper'] 
     
    476488        except: 
    477489            pass 
     490        if 'time' in kwargs: 
     491            kwargs['time']=self._componentTimes(kwargs['time']) 
     492         
    478493        #kwargs=self._fixLongitudeRequest(**kwargs) 
    479494        #return self.file(self.varobj.id,**kwargs) 
     
    500515                            subset=subset1 
    501516            if type(subset) is not cdms.tvariable.TransientVariable: 
    502                 for k in kwargs: 
    503                     if k=='time': 
    504                         kwargs[k]=(kwargs[k][0],kwargs[k][1],'ocb') #see cdms docs: 'mysterious third argument' 
    505517                subset=self.file(self.varobj.id,**kwargs) 
    506518        except:               
  • TI02-CSML/trunk/csml/tests/make_data.py

    r2637 r3072  
    8383type: GridSeries 
    8484number: many 
     85minaxes=2 
    8586 
    8687[files] 
Note: See TracChangeset for help on using the changeset viewer.