Ignore:
Timestamp:
19/12/16 14:12:13 (3 years ago)
Author:
mjuckes
Message:

misc updates

File:
1 edited

Legend:

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

    r895 r903  
    66import sets 
    77import xlsxwriter 
     8 
     9mipTableMap = {'cfMon':'CFmon' } 
    810 
    911knowna = [ 'LS3MIP [LWday]', 'LS3MIP [LEday]', 'CFMIP [cf1hrClimMon]', 'HighResMIP [3hr_cloud]', 
     
    559561    return '' 
    560562  elif type(v) in [ type([]), type(())]: 
    561     if type(v) == type(()): 
    562       print 'INFO.tuple.00001:',l,x,v 
    563563    return string.join([str(i) for i in v]) 
    564564  else: 
     
    670670        print 'Units not recognised: %s (%s) -- %s' % (units,label, type(units)) 
    671671      
     672  def tableMap(self,dq): 
     673    that = self.doc.getElementsByTagName('CMORvar')[0] 
     674    dil = that.getElementsByTagName('item') 
     675    ee1 = {} 
     676    for item in dil: 
     677      mt = item.getAttribute( 'mipTable' ) 
     678      if mt in mipTableMap: 
     679        mt1 = mipTableMap[mt] 
     680        item.setAttribute( 'mipTable', mt1 ) 
     681        item.setAttribute( 'mtid', 'MIPtable::%s' % mt1 ) 
     682       
    672683  def strTtl(self,dq): 
    673684    this = self.doc.getElementsByTagName('cellMethods')[0] 
     
    690701     
    691702    filterStr = True 
     703    estr = [] 
    692704    for item in dil: 
    693705      uid = item.getAttribute( 'uid' )   
     
    720732          title += ' {%s:%s}' % (o,c) 
    721733        title += cml 
    722         print 'STRUCT: ',title,o,c 
    723         item.setAttribute( 'title', title ) 
     734        if title != item.getAttribute( 'title' ): 
     735           print 'STRUCT: %s:: %s' % (title, item.getAttribute( 'title' ) ) 
     736           if item.getAttribute( 'title' )[:4] == 'str-': 
     737             item.setAttribute( 'title', title ) 
     738             estr.append( item.getAttribute( 'label' ) ) 
     739    if len(estr) > 0: 
     740      oo = open( 'scandreq_estr.txt', 'w' ) 
     741      for i in estr: 
     742        oo.write( i + '\n' ) 
     743      oo.close() 
    724744     
    725745 
     
    744764    nn = 0 
    745765    s1 = {i.uid for i in dq.coll['requestVarGroup'].items if i.uid not in self.removedUids} 
     766    self.usedCmv = set() 
    746767    for item in dil: 
    747768        uid = item.getAttribute( 'uid' )   
     
    752773          self.removedUids[ uid ] = 'requestVar:  %s' % item.getAttribute( 'label' ) 
    753774          nn+=1 
     775        else: 
     776          self.usedCmv.add( vid ) 
    754777    print 'Unused request variables removed: %s' % nn 
    755778         
     779  def cmvCheck2(self,dq): 
     780    this = self.doc.getElementsByTagName('CMORvar')[0] 
     781    dil = this.getElementsByTagName('item') 
     782    self.usedVar = set() 
     783    for item in dil: 
     784        uid = item.getAttribute( 'uid' )   
     785        if uid not in self.usedCmv: 
     786          print 'INFO.cmv.04004: removing unused CMORvar: %s, %s, %s, %s: ' % (uid,item.getAttribute( 'label' ),item.getAttribute( 'table' ),item.getAttribute( 'mipTable' )) 
     787          this.removeChild(item) 
     788          self.removedUids[ uid ] = 'CMORvar:  %s' % item.getAttribute( 'label' ) 
     789        else: 
     790          self.usedVar.add( item.getAttribute( 'vid' ) ) 
     791 
     792    this = self.doc.getElementsByTagName('var')[0] 
     793    dil = this.getElementsByTagName('item') 
     794    for item in dil: 
     795        uid = item.getAttribute( 'uid' )   
     796        if uid not in self.usedVar: 
     797          print 'INFO.var.04004: removing unused var: %s, %s, %s, %s: ' % (uid,item.getAttribute( 'label' ),item.getAttribute( 'table' ),item.getAttribute( 'units' )) 
     798          this.removeChild(item) 
     799          self.removedUids[ uid ] = 'var:  %s' % item.getAttribute( 'label' ) 
    756800 
    757801  def cmvCheck(self,dq): 
     
    10261070  an.rvgCheck(dq) 
    10271071  an.strTtl(dq) 
     1072  an.cmvCheck2(dq) 
    10281073  for k in an.removedUids: 
    10291074    print 'WARN.REMOVED: %s: %s' % (k,an.removedUids[k]) 
Note: See TracChangeset for help on using the changeset viewer.