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

further volume estimate bugs fixed

File:
1 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 
Note: See TracChangeset for help on using the changeset viewer.