Ignore:
Timestamp:
02/12/16 18:08:59 (3 years ago)
Author:
mjuckes
Message:

release candidate

File:
1 edited

Legend:

Unmodified
Added
Removed
  • CMIP6dreqbuild/trunk/src/framework/appendViacs_p1.py

    r884 r885  
    11import string, xlrd, os, collections, uuid 
    22from dreqPy import dreq 
    3  
    4  
    53 
    64class workbook(object): 
     
    2018ccvg = collections.defaultdict( list ) 
    2119ccd2 = collections.defaultdict( dict ) 
     20ccmt = collections.defaultdict( dict ) 
    2221 
    2322dq = dreq.loadDreq() 
     23 
     24for i in dq.coll['miptable'].items: 
     25  for u in dq.inx.iref_by_sect[i.uid].a['CMORvar']: 
     26    cmv = dq.inx.uid[u] 
     27    ccmt[i.label][cmv.label] = u 
    2428 
    2529for i in dq.coll['CMORvar'].items: 
     
    7680              ccvg[ obj1[j] + '.' + b[0] + sfx ].append( ('ln',i,rr[2]) ) 
    7781            elif b in ['3b']: 
    78               ccvg[ obj1[j] + '.' + b ].append( (i,rr[2]) ) 
     82              ccvg[ obj1[j] + '.' + b ].append( ('ln',i,rr[2]) ) 
    7983            else: 
    8084              sb.add(b) 
     
    115119  return i 
    116120 
    117 ##i = scanSect2(i) 
     121i = scanSect2(i) 
    118122 
    119123ks = sorted( cc.keys() ) 
     
    159163 
    160164      cc0 = collections.defaultdict( int ) 
    161       if k not in cmip5so.so: 
    162          print 'Key %s not found' % k 
     165      if k not in cmip5so.so and k0 != 'sect2': 
     166         print 'SEVERE: Key %s not found' % k 
    163167      else: 
    164          for t in cc[k0]: 
    165            if t[1] not in cc2[k].a: 
    166              print 'Long name %s:%s not found' % (k,t[1]) 
    167            elif len( cc2[k].a[t[1]] ) == 2: 
    168              if ( cc2[k].a[t[1]][0] in cc2[k].a[t[1]][1] ) or ( cc2[k].a[t[1]][1] in cc2[k].a[t[1]][0] ): 
    169                print 'INFO: Probable option set %s, %s: %s' % ( k,t[1],str( cc2[k].a[t[1]] ) ) 
    170                self.vmap3[t] = (k, cc2[k].a[t[1]][0], cc2[k].a[t[1]][1] ) 
     168         for a,b,c in cc[k0]: 
     169           if a == 'ln': 
     170             t = (b,c) 
     171             if t[1] not in cc2[k].a: 
     172               print 'Long name %s:%s not found' % (k,t[1]) 
     173             elif len( cc2[k].a[t[1]] ) == 2: 
     174               if ( cc2[k].a[t[1]][0] in cc2[k].a[t[1]][1] ) or ( cc2[k].a[t[1]][1] in cc2[k].a[t[1]][0] ): 
     175                 print 'INFO: Probable option set %s, %s: %s' % ( k,t[1],str( cc2[k].a[t[1]] ) ) 
     176                 self.vmap3[t] = (k, cc2[k].a[t[1]][0], cc2[k].a[t[1]][1] ) 
     177               else: 
     178                 print 'WARNING: Dual distinct targets %s, %s: %s' % ( k,t[1],str( cc2[k].a[t[1]] ) ) 
     179             elif len( cc2[k].a[t[1]] ) > 1: 
     180               print 'WARNING: Multiple targets %s, %s: %s' % ( k,t[1],str( cc2[k].a[t[1]] ) ) 
    171181             else: 
    172                print 'WARNING: Dual distinct targets %s, %s: %s' % ( k,t[1],str( cc2[k].a[t[1]] ) ) 
    173            elif len( cc2[k].a[t[1]] ) > 1: 
    174              print 'WARNING: Multiple targets %s, %s: %s' % ( k,t[1],str( cc2[k].a[t[1]] ) ) 
     182               kv = '%s.%s' % (cc2[k].a[t[1]][0],k) 
     183               if kv in s1: 
     184                 self.vmap[t] = (k, cc2[k].a[t[1]][0], s1[kv] ) 
     185               else: 
     186                 print 'WARNING: dreq item not found ...%s, %s: %s' % ( k,t[1], cc2[k].a[t[1]][0] ) 
     187                 self.vmapx[t] = (k, cc2[k].a[t[1]][0] ) 
    175188           else: 
    176              kv = '%s.%s' % (cc2[k].a[t[1]][0],k) 
    177              if kv in s1: 
    178                self.vmap[t] = (k, cc2[k].a[t[1]][0], s1[kv] ) 
     189              ## want table, var, uid 
     190             var, tab = c 
     191             if tab in ccmt and var in ccmt[tab]: 
     192               self.vmap[t] = (tab,var,ccmt[tab][var]) 
     193               print 'INFO.var.00505: var found: %s: %s.%s: %s' % (a,tab,var,ccmt[tab][var]) 
    179194             else: 
    180                print 'WARNING: dreq item not found ...%s, %s: %s' % ( k,t[1], cc2[k].a[t[1]][0] ) 
    181                self.vmapx[t] = (k, cc2[k].a[t[1]][0] ) 
     195               print 'ERROR.var.00505: var not found: %s: %s.%s' % (a,tab,var) 
    182196 
    183197class scanexpt(object): 
     
    288302  n1 = 0 
    289303  vgid = vguid[k] 
    290   for t in ccvg[k]: 
     304  for a,b,c in ccvg[k]: 
     305    t = (b,c) 
    291306    if t in scannedVars.vmap: 
    292307       n1 += 1 
     
    296311       oo.write( 'requestVar\t%s\t%s\t%s\t%s\t%s\n' % (uid,var,tab,vid,vgid) ) 
    297312       res['requestVar'].append( (uid,var,tab,vid,vgid) ) 
    298   print k,l1,n1 
     313    else: 
     314       print 'WARNING.var.0001: not found: %s.%s' % (b,c) 
     315  print 'VARGROUP: ',k,l1,n1 
    299316 
    300317## request items 
Note: See TracChangeset for help on using the changeset viewer.