Changeset 656


Ignore:
Timestamp:
12/05/16 17:03:28 (4 years ago)
Author:
mjuckes
Message:

further volume estimate bugs fixed

Location:
CMIP6dreqbuild/trunk/src/framework
Files:
3 edited

Legend:

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

    r655 r656  
    463463          for e in self.sc.volByE: 
    464464            self.accAdd(self.sc.volByE[e]) 
     465 
    465466      if m2 not in [ None, 'TOTAL']: 
    466467          im2 = self.dq.inx.uid[m2] 
     468          ismip = im2._h.label == 'mip' 
    467469          mlab2 = im2.label 
    468       else: 
     470          print 'mip??',mlab2, ismip 
     471      else: 
     472          ismip = False 
    469473          mlab2 = 'TOTAL' 
    470474 
     475 
     476      x0 = 0 
    471477      for e in self.sc.volByE: 
    472478       x = self.sc.volByE[e] 
    473479       if x[0] > 0: 
    474480          collector[mlab].a[mlab2] += x[0] 
    475  
    476       if collector[mlab].a[mlab2] > 0: 
     481          x0 += x[0] 
     482 
     483      if x0 > 0: 
    477484# 
    478485# create sum for each table 
    479486# 
    480         x0 = collector[mlab].a[mlab2] 
    481487        xs = 0 
    482488        kkc = '_%s_%s' % (mlab,mlab2) 
     489        kkct = '_%s_%s' % (mlab,'TOTAL') 
    483490        if m2 in [None, 'TOTAL']: 
    484491          x = self.acc 
     492          x2 = set(x[2].keys() ) 
    485493          for k in x[2].keys(): 
    486494           i = self.dq.inx.uid[k] 
    487495           xxx =  x[2][k] 
    488496           xs += xxx 
    489            if xxx > 0: 
    490             collector[kkc].a[i.mipTable] += xxx 
    491         for e in self.sc.volByE: 
    492           x = self.sc.volByE[e] 
    493           for k in x[2].keys(): 
    494            i = self.dq.inx.uid[k] 
    495            xxx =  x[2][k] 
    496            xs += xxx 
    497            if xxx > 0: 
    498             collector[kkc].a[i.mipTable] += xxx 
     497        else: 
     498          x2 = set() 
     499          for e in self.sc.volByE: 
     500            x = self.sc.volByE[e] 
     501            x2 = x2.union( set( x[2].keys() ) ) 
     502            for k in x[2].keys(): 
     503             i = self.dq.inx.uid[k] 
     504             xxx =  x[2][k] 
     505             xs += xxx 
     506             if xxx > 0: 
     507              collector[kkc].a[i.mipTable] += xxx 
     508              if ismip: 
     509                collector[kkct].a[i.mipTable] += xxx 
    499510        ##if m2 != None: 
    500         assert x0 == xs, 'ERROR.0088: consistency problem %s  %s %s %s' % (m,m2,x0,xs) 
     511        ##assert x0 == xs, 'ERROR.0088: consistency problem %s  %s %s %s' % (m,m2,x0,xs) 
     512        if '6hrLev' in collector[kkc].a: 
     513          print '6hrLev:: ',mlab,mlab2, collector[kkc].a['6hrLev'],collector[kkct].a['6hrLev'] 
     514        if x0 != xs: 
     515          print 'ERROR.0088: consistency problem %s  %s %s %s' % (m,m2,x0,xs) 
    501516        if x0 == 0: 
    502517          print ( 'Zero size: %s, %s' % (m,m2) ) 
     
    509524        dd = collections.defaultdict( list ) 
    510525        lll = set() 
    511         for v in x[2].keys(): 
     526        for v in x2: 
    512527          vi = self.sc.dq.inx.uid[v] 
    513528          if vi._h.label != 'remarks': 
     
    515530            lll.add(u) 
    516531            dd[t].append( (f,t,l,tt,d,u) ) 
     532        print 'xxxxx',mlab,mlab2, x0, len( dd.keys() ) 
    517533        if len( dd.keys() ) > 0: 
    518534          collector[mlab].dd[mlab2] = dd 
  • CMIP6dreqbuild/trunk/src/framework/dreqPy/scope.py

    r655 r656  
    717717    for e in exps: 
    718718      expts = self.esid_to_exptList(e,deref=True,full=False) 
    719       print 'EXPTS: ',e,len(expts) 
    720719      if expts not in  [None,[]]: 
     720        ###print 'EXPTS: ',e,len(expts), list( expts )[0].label 
    721721        for ei in expts: 
    722722          self.volByE[ei.label] = self.volByExpt( l1, ei.uid, pmax=pmax, cc=cc, retainRedundantRank=retainRedundantRank, intersection=intersection, adsCount=adsCount ) 
     
    910910    v0 = self.sc.volByMip( self.adict['m'], pmax=pmax, intersection=self.intersection, adsCount=adsCount, exptid=eid ) 
    911911    #mlg.prnt ( '%7.2fTb' % (v0*2.*1.e-12) ) 
    912     mlg.prnt ( '%s [%s]' % (v0,makeTables.vfmt(v0*2.)) ) 
     912    mlg.prnt ( 'getVolByMip: %s [%s]' % (v0,makeTables.vfmt(v0*2.)) ) 
    913913    cc = collections.defaultdict( int ) 
    914914    for e in self.sc.volByE: 
  • CMIP6dreqbuild/trunk/src/framework/overviewTabs.py

    r630 r656  
    122122      ttl = 0. 
    123123      cct = collections.defaultdict( int ) 
     124      xt = 0. 
    124125      for m2 in self.mipsp + ['TOTAL',]: 
    125126       if m2 in self.cc[m].dd: 
     
    150151        else: 
    151152          try: 
    152             x = self.cc[m].a[m2]*2. 
     153            if m2 == 'TOTAL': 
     154              x = xt 
     155            else: 
     156              x = self.cc[m].a[m2]*2. 
     157              xt += x 
     158 
    153159            s = vfmt( x ) 
    154160            kc = '_%s_%s' % (m,m2) 
     
    196202  sc = scope.dreqQuery() 
    197203  r = r1( sc, tiermax=1, pmax=1 ) 
    198   r = r1( sc, tiermax=3, pmax=3 ) 
     204  ##r = r1( sc, tiermax=3, pmax=3 ) 
Note: See TracChangeset for help on using the changeset viewer.