Changeset 335


Ignore:
Timestamp:
21/05/15 18:56:23 (5 years ago)
Author:
mjuckes
Message:

misc

Location:
CMIP6dreq/trunk/srcMisc
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • CMIP6dreq/trunk/srcMisc/dreq_consol.py

    r323 r335  
    100100  return ee 
    101101     
    102 snli = snlist( dir='config/cf/' ) 
     102snli = snlist( dir='../inputsOther/config/cf/' ) 
    103103sn,sna = snli.gen_sn_list() 
    104104esn = {} 
     
    110110 
    111111vdict = collections.defaultdict( list ) 
    112 for l in open( 'vlsc2.csv' ): 
    113   v,l,s,c,m = string.split(string.strip(l),'\t') 
     112for l in open( '../inputsOther/vlsc3.csv' ): 
     113  v,l,s,c,m = string.split(string.strip(l),'\t')[:5] 
    114114  vdict[v].append(( l,s,c,m)) 
    115115 
  • CMIP6dreq/trunk/srcMisc/dreq_consol_tables.py

    r323 r335  
    99#### 
    1010import dreq_cfg 
    11 from utils_wb import wbcp, workbook 
     11from utils_wb import wbcp, workbook, uniCleanFunc 
    1212 
    1313nt__deckrq = collections.namedtuple( 'dckrq', ['control','AMIP','abrupt4xCO2','rq_1pctCO2','historical'] ) 
     
    310310  def __init__(self): 
    311311    kk=3 
     312    self.idx = 0 
    312313 
    313314    base = '/home/martin/2014/wip/dreq/' 
     
    316317    file = 'C4MIP/CMIP6DataRequestCompilationTemplate_C4MIP_06March2015_submitted.xls' 
    317318    fileTmpl = 'CMIP6DataRequestCompilationTemplate_20141218.xls' 
    318     self.newVars = 'CMIP6DataRequest_ConsolidatedNewVariables_20150428.xls' 
     319    self.newVars = 'CMIP6DataRequest_ConsolidatedNewVariables_20150518.xls' 
    319320    self.nvd = {} 
    320321 
     
    405406    oo.close() 
    406407 
    407   def groups(self): 
     408  def groups(self, vl3=None): 
    408409    print self.cfg.ee.keys() 
    409410    omit = ['ALL VARIABLES', 'Objectives','Experiments','Experiment Groups','Request scoping','New variables','__lists__'] 
     
    450451               t = t[6:] 
    451452             if len(string.split(t, ' ')) > 1: 
     453               t2 = string.split(t, ' ')[1] 
    452454               t = string.split(t, ' ')[0] 
    453              if t in self.cmip5sns: 
    454                p = 9 
    455                if self.rqs.t.has_key(t): 
    456                  if self.rqs.t[t].vars.has_key(v): 
    457                    p = self.rqs.t[t].vars[v][0][1] 
     455             else:  
     456               t2 = None 
     457             if t in ['OImon','day','Omon'] and t2 != None: 
     458               v2 = string.strip(t2)[1:-1] 
     459             else: 
     460               v2 = None 
     461 
     462             if v == '*': 
     463               if t in self.cmip5sns: 
     464                 print 'INFO[1a]: bulk copy of external sheet %s' % t 
     465               elif t in ss: 
     466                 print 'INFO[1b]: bulk copy of internal sheet %s' % t 
     467 
     468             elif len(v) == 0 or v[0] == '#': 
     469               pass 
     470             else: 
     471 
     472               if vl3 != None: 
     473                 if vl3.has_key(v): 
     474                   id = vl3[v][6] 
     475                 elif v2 != None and vl3.has_key(v2): 
     476                   id = vl3[v2][6] 
    458477                 else: 
    459                    print '!!!!!!!!! %s not found in %s (%s)' % (v,t,k) 
     478                   id = None 
     479 
     480               if t in self.cmip5sns: 
     481                 p = 9 
     482                 if self.rqs.t.has_key(t): 
     483                   if self.rqs.t[t].vars.has_key(v): 
     484                     p = self.rqs.t[t].vars[v][0][1] 
     485                   elif v2 != None and self.rqs.t[t].vars.has_key(v2): 
     486                     p = self.rqs.t[t].vars[v2][0][1] 
     487                     ##print '%s old name for %s' % (v2,v) 
     488                   else: 
     489                     p = 8 
     490                  
    460491               else: 
    461                   print '!!!!!!!!! %s not found in CMIP5 (%s, %s)' % (t,k,v) 
    462              else: 
    463                if string.lower(t)[:3] != 'new' and t != '': 
    464                  print '*********** %s not recognised as table %s' % (t,k) 
    465                p = self.nvd.get( v, [0,0] )[1] 
    466                if p == 0: 
    467                  p = self.nvd.get( v + '!', [0,0] )[1] 
    468                  if p == 0: 
    469                    print '*********** p=0:: %s, %s, %s' % (v,t,k) 
    470              ts = string.strip(thisr[irsh].value) 
    471              if string.strip(tv) != '': 
    472                e1['%s:%s' % (ts,p)] += 1 
     492                 if string.lower(t)[:3] == 'new' or t == '': 
     493                   p = self.nvd.get( v, [0,7] )[1] 
     494                   if p == 7: 
     495                     p = self.nvd.get( v + '!', [0,7] )[1] 
     496                   if p != 7: 
     497                     self.idx += 1 
     498                     id = 'mv.010.%4.4i' % self.idx 
     499               if id == None and p < 7: 
     500                  print 'WARNING[1]: no id for %s' % v 
     501               elif id == None: 
     502                  print 'WARNING[2]: no id, no variable defn for %s' % v 
     503               elif p > 6: 
     504                  print 'WARNING[3.%s]: no variable defn for %s ' % (p,v) 
     505               ts = string.strip(thisr[irsh].value) 
     506               if string.strip(tv) != '': 
     507                 e1['%s:%s' % (ts,p)] += 1 
    473508           print k, s, ll, e1 
    474509 
     
    536571    wbx.write( 'CMIP6_DataRequest_CMIP5changes.xls' ) 
    537572 
     573vl3 = {} 
     574wb3 = workbook( 'vlsc3.xls' ) 
     575sh = wb3.book.sheet_by_name( 'Sheet1' ) 
     576for i in range(sh.nrows): 
     577  r = map( lambda x: string.strip(str(uniCleanFunc(x.value))), sh.row(i) ) 
     578  if len(r) < 8 or r[7] == '': 
     579    vl3[r[0]] = tuple( r[:7] ) 
    538580 
    539581 
     
    541583m.run1(nmip=1) 
    542584m.loadNewVars() 
    543 m.groups() 
     585m.groups( vl3=vl3) 
     586print m.idx 
  • CMIP6dreq/trunk/srcMisc/utils_wb.py

    r323 r335  
    1616      if type(ss) in [type('x'),type(u'x')]: 
    1717          ss = string.replace( ss, u'\u2013', '-' ) 
     18          ss = string.replace( ss, u'\u201c', '"' ) 
     19          ss = string.replace( ss, u'\u201d', '"' ) 
    1820          ss = string.replace( ss, u'\u2018', "'" ) 
    1921          ss = string.replace( ss, u'\u2019', "'" ) 
Note: See TracChangeset for help on using the changeset viewer.