Changeset 2595 for TI02-CSML


Ignore:
Timestamp:
15/06/07 15:28:18 (12 years ago)
Author:
domlowe
Message:

fixed problem with latitude reversal

Location:
TI02-CSML/trunk/csml/csmllibs
Files:
2 edited

Legend:

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

    r2555 r2595  
    453453 
    454454    def getSubsetOfDataForVar(self, **kwargs):       
    455         #put any slicing indices aside for later and use names 
     455        #put any slicing indices aside for later and use names        
    456456        try: 
    457457            upper=kwargs['upper'] 
     
    469469            subset=None 
    470470            lonkey='longitude' 
    471             if lonkey=='longitude' in kwargs.keys():   #this test needs to be much more robust...! 
     471            if lonkey in kwargs.keys():   #this test needs to be much more robust...! 
    472472                if  type(kwargs[lonkey]) is tuple: 
    473473                    if kwargs[lonkey][0] > kwargs[lonkey][1]: 
     
    493493        return subset 
    494494     
    495     def getSubsetOfDataForVarOLD(self, **kwargs):       
    496         #delete any slicing indices and use names 
    497         try: 
    498             del kwargs['upper'] 
    499         except: 
    500             pass 
    501         try: 
    502             del kwargs['lower'] 
    503         except: 
    504             pass 
    505          
    506         #takes keyword args defining subset eg 
    507         #subset=getSubsetOfDataForVar(latitude=(0.,10.0), longitude=(90, 100.0)) 
    508         subset=None 
    509         lonkey='longitude' 
    510         if lonkey=='longitude' in kwargs.keys():   #this test needs to be much more robust...! 
    511             if  type(kwargs[lonkey]) is tuple: 
    512                 if kwargs[lonkey][0] > kwargs[lonkey][1]: 
    513                     #subsetting greenwich meridian around 0 
    514                     lonMin = kwargs[lonkey][0] 
    515                     lonMax =kwargs[lonkey][1] 
    516                     kwargs[lonkey]=(0.0, lonMax) 
    517                     subset1=self.file(self.varobj.id,**kwargs) 
    518                     kwargs[lonkey]=(lonMin,359.9999) 
    519                     print 'kwargs: %s'%kwargs 
    520                     try: 
    521                         subset2=self.file(self.varobj.id,**kwargs) 
    522                         longitudeAxis=subset1.getAxisIndex(lonkey) 
    523                         #concatenate arrays along longitude               
    524                         subset = cdms.MV.concatenate([subset1,subset2],axis=longitudeAxis) 
    525                     except: 
    526                         subset=subset1 
    527         if type(subset) is not cdms.tvariable.TransientVariable: 
    528             subset=self.file(self.varobj.id,**kwargs) 
    529         return subset 
    530  
    531495     
    532496    def getArraySizeOfVar(self): 
  • TI02-CSML/trunk/csml/csmllibs/netCDFWriter.py

    r2548 r2595  
    5555    def addVariable(self,data, variableName,axesList, fillvalue,  **kwargs):         
    5656        #creates a new variable containing data with named attributes from **kwargs        
     57              
    5758        dataarray=MV.array(data)       
    5859        dataarray.id=variableName 
     
    7879         
    7980        setattr(dataarray, 'missing_value' ,fillvalue) 
    80          
    8181        self.nc.write(dataarray) 
    8282 
     
    116116                        position=ax[0] 
    117117                axesdone.append(name) 
     118                 
     119                #check for latitude reversal: 
     120                if lat ==1: 
     121                    if len(vals) >1: 
     122                        if vals[0] > vals[len(vals)-1]: 
     123                            vals.reverse() 
     124 
    118125                self.addAxis(name,vals,isLon=lon,isLat=lat,units=unitlist[position])#to do, units attribute for CF compliance 
    119126         
Note: See TracChangeset for help on using the changeset viewer.