Ignore:
Timestamp:
30/11/16 10:00:03 (3 years ago)
Author:
mjuckes
Message:

added key VIACSAB integration code

File:
1 edited

Legend:

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

    r875 r884  
    190190 
    191191  def loadDraftNewVar(self): 
     192    self.draftNewVar = {} 
    192193    for f in ['draft_newvars.csv','draft_newvars02.csv']: 
    193194      ii = open( f, 'r' ).readlines() 
    194       self.draftNewVar = {} 
     195      ss = set() 
    195196      for l in ii: 
    196197        r = l.split( '\t' ) 
    197198        vn = r[0].strip() 
    198         assert vn not in self.draftNewVar, 'Duplicate variable name in draft_newvars.csv: %s' % vn 
     199        assert vn not in ss, 'Duplicate variable name in %s: %s' % (f,vn) 
     200        ss.add(vn) 
     201        if vn in self.draftNewVar: 
     202          log.info( 'INFO.newvar.0001:  overwriting new var: %s' % vn ) 
    199203        self.draftNewVar[vn] = l 
    200204     
     
    367371    snm = set() 
    368372    for i in self.dq.coll['var'].items: 
    369       kk = i.sn 
    370       if self.dq.inx.uid[kk]._h.label == 'remarks': 
    371         nrem += 1 
    372         snm.add(kk) 
    373       if i.procnote != []: 
    374         ll = sorted( i.procnote ) 
    375         kk += ':' + '|'.join(ll ) 
    376       cc[kk].append( i.uid ) 
     373      if 'CMORvar' in self.dq.inx.iref_by_sect[i.uid].a: 
     374        srq = set() 
     375        for u in self.dq.inx.iref_by_sect[i.uid].a['CMORvar']: 
     376          if 'requestVar' in self.dq.inx.iref_by_sect[u].a: 
     377            for uu in self.dq.inx.iref_by_sect[u].a['requestVar']: 
     378              srq.add( uu ) 
     379        if len(srq) > 0: 
     380            
     381          kk = i.sn 
     382          if self.dq.inx.uid[kk]._h.label == 'remarks': 
     383            nrem += 1 
     384            snm.add(kk) 
     385          if i.procnote != []: 
     386            ll = sorted( i.procnote ) 
     387            kk += ':' + '|'.join(ll ) 
     388          cc[kk].append( i.uid ) 
    377389 
    378390    log.warn( 'sn.001: Number of missing standard names: %s [for %s variables]' % (len(snm),nrem) ) 
     
    396408          l1b.append(u) 
    397409      if len( l2) > 1: 
    398         log.error( 'ERROR: identified multiple priority choices: %s:: %s' % (k,str(l2)) ) 
     410        log.error( 'WARN.simip.00001: repeat use of standard name in SIMIP: %s:: %s' % (k,str(l2)) ) 
    399411      if len(l2) == 1: 
    400412        orc.append( '*' ) 
     
    402414        orc.append( '' ) 
    403415 
     416      nnn = 0 
    404417      for u in l2 +l1b: 
    405418        i = self.dq.inx.uid[u] 
    406         orc += [i.label, i.title] 
     419        if "CMORvar" not in self.dq.inx.iref_by_sect[u].a: 
     420           orc += [i.label +'**', i.title] 
     421        else: 
     422          nn = 0 
     423          for uu in self.dq.inx.iref_by_sect[u].a['CMORvar']: 
     424            cmv = self.dq.inx.uid[uu] 
     425            if 'requestVar' in self.dq.inx.iref_by_sect[uu].a: 
     426              nn += 1 
     427          if nn == 0: 
     428             orc += [i.label + '*', i.title] 
     429          else: 
     430             nnn += 1 
     431             orc += [i.label, i.title] 
    407432           
    408       oo.write( '\t'.join( orc ) + '\n' ) 
     433      if nnn > 1: 
     434        oo.write( '\t'.join( orc ) + '\n' ) 
    409435    oo.close() 
    410436       
Note: See TracChangeset for help on using the changeset viewer.