Ignore:
Timestamp:
24/05/18 09:23:21 (15 months ago)
Author:
mjuckes
Message:

intermediate

File:
1 edited

Legend:

Unmodified
Added
Removed
  • CMIP6dreqbuild/trunk/src/framework/ing02/scanDreq2.py

    r1186 r1206  
    4848    tags = self.nodes.keys() 
    4949    tags.remove( 'remarks' ) 
    50     tags = sorted( tags ) + ['remarks',] 
     50    tags.remove( 'CMORvar' ) 
     51    tags = sorted( tags ) + ['CMORvar','remarks',] 
    5152    self.lnks = set() 
    5253    forceInt = ['ntot','nstart','yps'] 
     
    5455    sn = shelve.open( '%s/standardname' % idir, 'r' ) 
    5556    self.usedSn = set() 
     57    varinfo = dict() 
    5658 
    5759    for tag in tags: 
     
    7375              dropRecord = False 
    7476              descOverWrite = False 
     77              ttlOverWrite = False 
    7578              for i in range( len(cols) ): 
    7679                if not ( (tag,cols[i]) in self.skipNull and sh[k][i] == '' ): 
     
    9194                   elif tag == 'spatialShape' and cols[i] == 'levelFlag': 
    9295                        v = v.lower() 
    93                    elif tag == 'var' and cols[i] == 'description': 
     96                   elif tag in [ 'var','CMORvar'] and cols[i] == 'description': 
    9497                        if v == '': 
    9598                             descOverWrite = True 
     99                   elif tag in [ 'CMORvar'] and cols[i] == 'title': 
     100                        if v == '': 
     101                             ttlOverWrite = True 
    96102                   elif tag == 'var' and cols[i] == 'sn': 
    97103                        if descOverWrite and v in sn.keys(): 
     
    100106                        self.usedSn.add( v ) 
    101107                   elif cols[i] in forceInt: 
    102                         v = str( int( float( v ) ) ) 
     108                        try: 
     109                           v = str( int( float( v ) ) ) 
     110                        except: 
     111                           print 'failed to convert to integer: %s:: %s' % (cols[i],v) 
     112                           raise 
    103113                   elif cols[i] in forceIntList: 
    104114                        v = ' '.join( [str( int( float( x ) ) ) for x in v.split() ] ) 
     
    131141 
    132142              if not dropRecord: 
     143                if tag == 'var': 
     144                  varinfo[item.getAttribute('uid')] = (item.getAttribute('title'),item.getAttribute('description')) 
     145                elif tag == 'CMORvar' and 'descOverWrite': 
     146                   item.setAttribute( 'description', varinfo[item.getAttribute('vid')][1] ) 
     147                elif tag == 'CMORvar' and 'ttlOverWrite': 
     148                   item.setAttribute( 'title', varinfo[item.getAttribute('vid')][0] ) 
    133149                c.appendChild( item ) 
    134150        sh.close() 
Note: See TracChangeset for help on using the changeset viewer.