Ignore:
Timestamp:
12/12/16 13:37:35 (3 years ago)
Author:
mjuckes
Message:

debugging commandline options -- removing hidden settings

File:
1 edited

Legend:

Unmodified
Added
Removed
  • CMIP6dreqbuild/trunk/src/framework/dreqPy/volsum.py

    r885 r895  
    4444 
    4545class vsum(object): 
    46   def __init__(self,sc,odsz,npy,makeTab,mt_tables,exptFilter=None, odir='xls', tabByFreqRealm=False): 
     46  def __init__(self,sc,odsz,npy,makeTab=None,tables=None,exptFilter=None, odir='xls', tabByFreqRealm=False): 
    4747    self.tabByFreqRealm = tabByFreqRealm 
    4848    self.makeTab = makeTab 
    49     self.mt_tables = mt_tables 
     49    self.mt_tables = tables 
    5050    idir = dreq.DOC_DIR 
    5151    self.sc = sc 
     
    8282    ii.close() 
    8383 
    84   def analAll(self,pmax,mips=None,html=True): 
     84  def analAll(self,pmax,mips=None,html=True,makeTabs=True): 
    8585      volsmm={} 
    8686      volsmmt={} 
     
    9191      else: 
    9292        theseMips = mips 
     93 
     94      self.rres = {} 
     95     
    9396      for m in theseMips: 
    9497        olab = m 
     
    109112          self.uniqueCmv = self.sc.differenceSelectedCmvDict(  cmv1, cmvTotal ) 
    110113 
    111         self.run( thism, '%s/requestVol_%s_%s_%s' % (self.odir,olab,self.sc.tierMax,pmax), pmax=pmax ) 
    112  
    113         self.anal(olab=olab,doUnique='TOTAL' in theseMips, makeTabs=True) 
     114        self.run( thism, '%s/requestVol_%s_%s_%s' % (self.odir,olab,self.sc.tierMax,pmax), pmax=pmax,doxlsx=makeTabs ) 
     115 
     116        self.anal(olab=olab,doUnique='TOTAL' in theseMips, makeTabs=makeTabs) 
    114117        ttl = sum( [x for k,x in self.res['vu'].items()] )*2.*1.e-12 
    115         print ( '%s volume: %8.2fTb' % (m,ttl) ) 
    116118        volsmm[m] = self.res['vm'] 
    117119        volsmmt[m] = self.res['vmt'] 
    118120        volsme[m] = self.res['ve'] 
    119121        volsue[m] = self.res['uve'] 
     122        self.rres[m] = self.res['vf'].copy() 
    120123        if m == 'TOTAL': 
    121124          cmvTotal = self.sc.selectedCmv.copy() 
     
    165168      return '%s/%s_%s_%s_%s_%s%s' % (self.odir,self.xlsPrefixM,olab,lab2,self.sc.tierMax,self.pmax,self.efnsfx) 
    166169 
    167   def anal(self,olab=None,doUnique=False,makeTabs=False): 
     170  def anal(self,olab=None,doUnique=False,makeTabs=False,mode='full'): 
    168171    vmt = collections.defaultdict( int ) 
    169172    vm = collections.defaultdict( int ) 
     
    173176 
    174177    lex, vet, vf, vu, mvol = self._analSelectedCmv(self.sc.selectedCmv ) 
     178    if mode == 'short': 
     179      self.res = { 'vet':vet,  'lex':lex, 'vu':vu, 'vf':vf} 
     180      return 
    175181    if olab != 'TOTAL' and doUnique: 
    176182      s_lex, s_vet, s_vf, s_vu, s_mvol = self._analSelectedCmv(self.uniqueCmv ) 
     
    183189        uve[e] += s_vet[(e,t)] 
    184190 
    185     checkMvol = 1 
    186     for k in mvol: 
    187       sp = self.sc.dq.inx.uid[k[0]] 
    188       if k not in self.mvol: 
    189         print ( '%s missing from mvol: ' % str(k) ) 
    190       else: 
    191         if checkMvol > 1: 
    192           for u in mvol[k]: 
    193             la = self.sc.dq.inx.uid[u].label 
    194             if self.mvol[k][u] != mvol[k][u]: 
    195               print ( 'MISMATCH IN %s (%s): %s:: %s,%s' % (str(k),sp.label,la,mvol[k][u],self.mvol[k][u]) ) 
     191    checkMvol = -1 
     192    if checkMvol > 0: 
     193      for k in mvol: 
     194        sp = self.sc.dq.inx.uid[k[0]] 
     195        if k not in self.mvol: 
     196          print ( '%s missing from mvol: ' % str(k) ) 
     197        else: 
     198          if checkMvol > 1: 
     199            for u in mvol[k]: 
     200              la = self.sc.dq.inx.uid[u].label 
     201              if self.mvol[k][u] != mvol[k][u]: 
     202                print ( 'MISMATCH IN %s (%s): %s:: %s,%s' % (str(k),sp.label,la,mvol[k][u],self.mvol[k][u]) ) 
    196203           
    197204    for e in lex: 
     
    251258          self.makeTab(self.sc.dq, subset=s_lex[e], dest=self.xlsDest('u',olab,el), collected=ucc[e]) 
    252259 
    253     self.res = { 'vmt':vmt, 'vet':vet, 'vm':vm, 'uve':uve, 've':ve, 'lm':lm, 'lex':lex, 'vu':vu, 'cc':cc, 'cct':cct} 
    254     cc8 = collections.defaultdict( int ) 
    255     for e,t in vet: 
    256       cc8[t] += vet[(e,t)] 
    257     for f in sorted( vf.keys() ): 
    258       print ( 'Frequency: %s: %s' % (f,vf[f]*2.*1.e-12 ) ) 
     260    self.res = { 'vmt':vmt, 'vet':vet, 'vm':vm, 'uve':uve, 've':ve, 'lm':lm, 'lex':lex, 'vu':vu, 'cc':cc, 'cct':cct, 'vf':vf} 
    259261         
    260262  def csvFreqStrSummary(self,mip,pmax=1): 
     
    315317      pass 
    316318       
    317   def run(self,mip='_all_',fn='test',pmax=1): 
     319  def run(self,mip='_all_',fn='test',pmax=1,doxlsx=True): 
    318320    if mip == '_all_': 
    319321      mip = set(self.sc.mips ) 
    320322    self.mip = mip 
     323    orecs, crecs = self.csvFreqStrSummary(mip,pmax=pmax) 
     324    print 'csvFreqStrSummary: %s, %s: %s, %s' % (str(mip),pmax,len(orecs),len(crecs)) 
     325    if not doxlsx: 
     326      return 
    321327    print ('Writing %s' % fn ) 
    322328    self.x = xlsx( fn ) 
    323329    self.sht = self.x.newSheet( 'Volume' ) 
    324     orecs, crecs = self.csvFreqStrSummary(mip,pmax=pmax) 
    325330    oh = orecs[0] 
    326331    self.sht.set_column(0,0,60) 
Note: See TracChangeset for help on using the changeset viewer.