Changeset 1338 for TI02-CSML


Ignore:
Timestamp:
27/07/06 15:07:48 (13 years ago)
Author:
domlowe
Message:

Fix for greenwich meridian subsetting problem. Not extensively tested yet.

File:
1 edited

Legend:

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

    r1197 r1338  
    334334        #takes keyword args defining subset eg 
    335335        #subset=getSubsetOfDataForVar(latitude=(0.,10.0), longitude=(90, 100.0)) 
    336         sel=cdms.selectors.Selector(**kwargs) 
    337         subset=self.file(self.varobj.name,sel) 
    338         #data = subset.getValue() 
    339         data = subset  #doesn't seem to matter which 
     336        for key in kwargs: 
     337            if key == 'longitude': 
     338                print key 
     339                if kwargs[key][0] > kwargs[key][1]: 
     340                    #subsetting greenwich meridian around 0 
     341                    lonMin = kwargs[key][0] 
     342                    lonMax =kwargs[key][1] 
     343                    kwargs[key]=(0.0, lonMax) 
     344                    sel=cdms.selectors.Selector(**kwargs) 
     345                    subset1=self.file(self.varobj.name,sel) 
     346                    kwargs[key]=(lonMin,359.9999) 
     347                    sel=cdms.selectors.Selector(**kwargs) 
     348                    subset2=self.file(self.varobj.name,sel) 
     349                    #concatenate arrays along longitude 
     350                    longitudeAxis=subset1.getAxisIndex('longitude') # this needs to be more robust test. 
     351                    subset = cdms.MV.concatenate([subset1,subset2],axis=longitudeAxis) 
     352                else: 
     353                    sel=cdms.selectors.Selector(**kwargs) 
     354                    subset=self.file(self.varobj.name,sel) 
     355        data = subset 
    340356        return data 
    341357 
Note: See TracChangeset for help on using the changeset viewer.