Changeset 3039


Ignore:
Timestamp:
22/11/07 14:43:06 (12 years ago)
Author:
domlowe
Message:

ragged section output uses profile dimension

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI02-CSML/trunk/csml/API/ops_RaggedSectionFeature.py

    r3022 r3039  
    8989                selectedTimes=selection 
    9090                break 
     91             
     92    #need to get the lat and lon to correspond with the selected times: 
     93    selectedLats=[eval(lat) for lat in self.domain['latitude'][minIndex:maxIndex+1]] 
     94    selectedLons= [eval(lon) for lon in self.domain['longitude'][minIndex:maxIndex+1]] 
    9195     
    9296    #get maximum profile length: 
     
    114118    #Write out NetCDF file 
    115119        #Now write out the NetCDF File:    
     120     
    116121    nc=cdms.open(pathToSubsetNetCDF,'w') 
     122     
     123    #create profile axis 
     124    profAx=cdms.createAxis(range(0,len(selectedTimes))) 
     125    profAx.id='profile' 
     126     
     127    #create depths/pressure/height axis and variable 
     128    depthAx=cdms.createAxis(self._depths) 
     129    depthAx.id=self._depthname 
     130     
     131    #create variable for feature 
    117132    var=MV.array(fulldata) 
    118133    var.id=self.name.CONTENT 
     
    120135    var.units=units[0] # hopefully there is just one unit in this list.. 
    121136    setattr(var, 'missing_value' ,fillvalue) 
     137    var.setAxis(0,profAx)        
     138    var.setAxis(1,depthAx)      
     139    nc.write(var) 
    122140     
     141    #create variables for latitude/longitude 
     142    varlat = MV.array(selectedLats) 
     143    varlat.id='latitude' 
     144    varlat.name='latitude' 
     145    varlat.setAxis(0,profAx) 
     146    nc.write(varlat) 
     147     
     148    varlon = MV.array(selectedLons) 
     149    varlon.id='longitude' 
     150    varlon.name='longitude' 
     151    varlon.setAxis(0,profAx) 
     152    nc.write(varlon) 
     153     
     154    #create variable for times 
    123155    floatTimes=[] 
    124156     
     
    128160        time=csml.csmllibs.csmltime.getCDtime(time).torel(tbase) 
    129161        floatTimes.append(time.value) 
    130     timeAx=cdms.createAxis(floatTimes) 
    131     timeAx.designateTime() 
    132     timeAx.id='time' 
    133     timeAx.units=tbase   
    134     var.setAxis(0,timeAx)       
    135162     
    136     depthAx=cdms.createAxis(self._depths) 
    137     depthAx.id=self._depthname 
    138     #timeAx.units=tbase   
    139     var.setAxis(1,depthAx)       
     163    vart=MV.array(floatTimes) 
     164    vart.id='time' 
     165    vart.units=tbase 
     166    vart.setAxis(0,profAx) 
     167    nc.write(vart) 
    140168     
    141     nc.write(var) 
    142169    nc.close()    
    143170    print 'NetCDF file written to %s'%pathToSubsetNetCDF 
Note: See TracChangeset for help on using the changeset viewer.