Ignore:
Timestamp:
19/07/15 13:53:44 (5 years ago)
Author:
mjuckes
Message:

update

File:
1 edited

Legend:

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

    r348 r352  
    146146  def add(self,mip,path,tab): 
    147147    self.tab = tab 
     148## rq will add a reference to parent 
     149    print '######',mip, path, tab 
    148150    return rq(mip,path,parent=self,tab=tab) 
    149151 
     
    275277    if tab in  self.wk1.sns: 
    276278      self.tab = tab 
     279      if mip == 'CMIP5': 
     280            self.tabid = tab 
     281      else: 
     282            self.tabid = '%s.%s' %  (mip,tab) 
    277283      self.wk1.focus( tab) 
    278284      self.parent = parent 
    279       if not self.parent.t.has_key(tab): 
    280         self.parent.addTab(tab) 
     285      if not self.parent.t.has_key(self.tabid): 
     286        self.parent.addTab(self.tabid) 
    281287      self.ok = self.parse01() 
    282288    else: 
     
    316322           
    317323          if p != None: 
    318             self.parent.t[self.tab].vars[v].append( (self.mip,p,ixr) )  
     324            self.parent.t[self.tabid].vars[v].append( (self.mip,p,ixr) )  
    319325            self.nn += 1 
    320326 
     
    325331    kk=3 
    326332    self.idx = 0 
    327     self.sh = shelve.open( 'dreq_consol_tables_shelve_v20150631' ) 
    328     self.shnv = shelve.open( 'dreq_consol_tables_nv_shelve_v20150631' ) 
    329     self.shold = shelve.open( 'dreq_consol_tables_old_shelve_v20150631' ) 
     333    self.sh = shelve.open( 'dreq_consol_tables_shelve_v20150714', 'n' ) 
     334    self.shnv = shelve.open( 'dreq_consol_tables_nv_shelve_v20150714', 'n' ) 
     335    self.shold = shelve.open( 'dreq_consol_tables_old_shelve_v20150714', 'n' ) 
    330336 
    331337    base = '/home/martin/2014/wip/dreq/' 
     
    334340    file = 'C4MIP/CMIP6DataRequestCompilationTemplate_C4MIP_06March2015_submitted.xls' 
    335341    fileTmpl = 'CMIP6DataRequestCompilationTemplate_20141218.xls' 
    336     self.newVars = 'CMIP6DataRequest_ConsolidatedNewVariables_20150631.xls' 
     342    self.newVars = 'CMIP6DataRequest_ConsolidatedNewVariables_20150708.xls' 
    337343    self.nvd = {} 
    338344 
     
    546552           self.glist.append( (k, s, ll, e1) ) 
    547553 
    548   def run1(self,nmip=0): 
     554  def run1(self,nmip=0,kmip=0,clear=False): 
     555    if clear: 
     556      self.rqs.t = {} 
    549557    self.cfg.ff['CMIP5'] = ['/data/work/documents/CMIP5_standard_output.xls'] 
    550558    wb = workbook( self.cfg.ff['CMIP5'][0] ) 
     
    562570 
    563571    amips = ['CMIP5'] + self.mips 
    564     if nmip > 0 and nmip < len(amips): 
    565        amips = amips[:nmip] 
     572    if nmip > 0: 
     573       amips = amips[kmip:kmip+nmip] 
    566574    for s in sns: 
    567575     for k in amips: 
     
    585593      wbx = wbcp( 'CMIP6_DataRequest_CMIP5changes_blank.xls' ) 
    586594 
    587     for s in sns: 
     595    print self.rqs.t.keys() 
     596    for s in wbx.sns: 
     597     if s != u'Template': 
    588598      keys = self.rqs.t[s].vars.keys() 
    589599      keys.sort() 
     
    610620 
    611621vl3 = {} 
    612 wb3 = workbook( 'vlsc5b_v20150631.xls' ) 
     622wb3 = workbook( 'vlsc5b_v20150714.xls' ) 
    613623sh = wb3.book.sheet_by_name( 'Sheet1' ) 
    614624m = main() 
    615 for i in range(sh.nrows): 
    616   r = map( lambda x: string.strip(str(uniCleanFunc(x.value))), sh.row(i) ) 
    617   if len(r) < 9 or r[8] == '': 
    618     vl3[r[1]] = tuple( r[:8] ) 
    619   m.shold[r[0]] = r 
    620  
    621 m.run1(nmip=1) 
    622 m.loadNewVars() 
    623 m.groups( vl3=vl3) 
    624 k = m.sh.keys()[4] 
    625 print '##############################################' 
    626 print k 
    627 print m.sh[k] 
    628 m.sh.close() 
    629 m.shnv.close() 
    630 m.shold.close() 
    631  
    632 print m.idx 
     625 
     626opt = 1 
     627if opt == 1: 
     628  for i in range(sh.nrows): 
     629    r = map( lambda x: string.strip(str(uniCleanFunc(x.value))), sh.row(i) ) 
     630    if len(r) < 9 or r[8] == '': 
     631      vl3[r[1]] = tuple( r[:8] ) 
     632    m.shold[r[0]] = r 
     633 
     634 
     635  m.run1(nmip=1) 
     636  m.loadNewVars() 
     637  m.groups( vl3=vl3) 
     638  k = m.sh.keys()[4] 
     639  print '##############################################' 
     640  print k 
     641  print m.sh[k] 
     642  m.sh.close() 
     643  m.shnv.close() 
     644  m.shold.close() 
     645   
     646  m.run1( clear=True) 
     647  keys = sorted( m.rqs.t ) 
     648  sh = shelve.open( 'dreq_consol_tables_reviewed_a_v20150708', 'n' ) 
     649  sh['records'] = m.rqs.records[:]  
     650  sh.close() 
     651  sh = shelve.open( 'dreq_consol_tables_reviewed_b_v20150708', 'n' ) 
     652  sh['__keys__'] = map( str, keys[:] ) 
     653  for k in keys: 
     654    vs = sorted( m.rqs.t[k].vars) 
     655    ee = {} 
     656    print '#############',k,len(vs),'#################' 
     657    m.rqs.vn = {} 
     658    for v in vs: 
     659      for mip,p,ix in m.rqs.t[k].vars[v]: 
     660        this = m.rqs.records[ix] 
     661        if this[16] in ['','0.0',0.0]: 
     662          vn = this[4] 
     663        else: 
     664          vn = this[16] 
     665        if ee.has_key(vn): 
     666          print '***********************DUPLICATE',vn 
     667          print m.rqs.t[k].vars[v] 
     668          print m.rqs.records[ee[vn][0]] 
     669          print m.rqs.records[ix] 
     670        ee[vn] = (ix,p) 
     671    k2 = str(k) 
     672    m.rqs.vn[k2] = ee 
     673    sh[k2] = ee.copy() 
     674  sh.close() 
     675     
     676  print m.idx 
     677elif opt == 2: 
     678  m.run1( clear=True) 
     679  m.run2() 
Note: See TracChangeset for help on using the changeset viewer.