Ignore:
Timestamp:
24/11/16 16:09:19 (3 years ago)
Author:
mjuckes
Message:

Updated setup for tag 01.beta.43

File:
1 edited

Legend:

Unmodified
Added
Removed
  • CMIP6dreq/trunk/dreqPy/misc_utils.py

    r793 r880  
    22import logging 
    33import time 
     4 
     5def setMlab( m ): 
     6      if type(m) == type(''): 
     7        if m == '_all_': 
     8          mlab = 'TOTAL' 
     9        else: 
     10          mlab = m 
     11      else: 
     12        ll = sorted( list(m) ) 
     13        if len(ll) == 1: 
     14          mlab = list(m)[0] 
     15        else: 
     16          mlab='.'.join( [ x[:2].lower() for x in m ] ) 
     17      return mlab 
    418 
    519class dreqLog(object): 
     
    281295  def __init__(self): 
    282296    self.a = collections.defaultdict( int ) 
    283  
    284 ##NT_txtopts = collections.namedtuple( 'txtopts', ['mode'] ) 
    285  
    286 class xlsTabs_xxxx(object): 
    287   """used in scope.py; uses makeTables.py""" 
    288   def __init__(self,sc,tiermax=1,pmax=1,xls=True, txt=False, txtOpts=None, odir='xls'): 
    289     import makeTables 
    290     self.pmax=pmax 
    291     self.tiermax=tiermax 
    292     self.sc = sc 
    293     sc.setTierMax( tiermax ) 
    294     self.cc = collections.defaultdict( c1 ) 
    295     self.dq = sc.dq 
    296     self.doXls = xls 
    297     self.doTxt = txt 
    298  
    299     self.mips = ['AerChemMIP', 'C4MIP', 'CFMIP', 'DAMIP', 'DCPP', 'FAFMIP', 'GeoMIP', 'GMMIP', 'HighResMIP', 'ISMIP6', 'LS3MIP', 'LUMIP', 'OMIP', 'PMIP', 'RFMIP', 'ScenarioMIP', 'VolMIP', 'CORDEX', 'DynVar', 'SIMIP', 'VIACSAB'] 
    300     self.mipsp = ['DECK','CMIP6',] + self.mips[:-4] 
    301  
    302     self.tabs = makeTables.tables( sc, xls=xls, txt=txt, txtOpts=txtOpts, odir=odir ) 
    303  
    304   def run(self,m,colCallback=None,verb=False,mlab=None,exid=None): 
    305       if m == 'TOTAL': 
    306         l1 = self.sc.rqiByMip( set( self.mips ) ) 
    307       else: 
    308         l1 = self.sc.rqiByMip( m ) 
    309  
    310       if mlab == None: 
    311         mlab = m 
    312  
    313       verb = False 
    314       if verb: 
    315         print ( 'r1: m=%s, len(l1)=%s' % (mlab,len(l1)) ) 
    316  
    317       self.cc[mlab].dd = {} 
    318       self.cc[mlab].ee = {} 
    319       self.tabs.accReset() 
    320       vcc = collections.defaultdict( int ) 
    321       for m2 in self.mipsp + ['TOTAL',]: 
    322         if m2 == 'TOTAL': 
    323           xx = self.dq.coll['experiment'].items 
    324         else: 
    325           xx = [i for i in self.dq.coll['experiment'].items if i.mip == m2] 
    326         if exid != None: 
    327           xxx = [i for i in xx if i.uid == exid] 
    328           if len(xxx) == 0: 
    329             break 
    330           xx = xxx 
    331         self.cc[mlab].ee[m2] = xx 
    332         xxi = set( [i.label for i in xx] ) 
    333 ## 
    334 ## need to check this option, and add a template for a view summarising the experiments for each mip-mip combinations 
    335 ## 
    336         if m2 != 'TOTAL': 
    337           for i in xx: 
    338             self.tabs.doTable(m,l1,i.uid,self.pmax,self.cc,acc=False,cc=vcc,exptids=xxi,mlab=None) 
    339  
    340         self.tabs.doTable(m,l1,m2,self.pmax,self.cc,cc=vcc,exptids=xxi,mlab=None) 
    341  
    342         if verb: 
    343           print ( 'r1: mlab=%s,m2=%s, len(l1)=%s, len(xxi)=%s' % (mlab,m2,len(l1),len(xxi)) ) 
    344  
    345         if colCallback != None: 
    346           colCallback( m,m2,mlab=mlab ) 
    347  
    348  
Note: See TracChangeset for help on using the changeset viewer.