Changeset 961 for CMIP6dreqbuild


Ignore:
Timestamp:
31/03/17 14:23:15 (3 years ago)
Author:
mjuckes
Message:

cf update

Location:
CMIP6dreqbuild/trunk/src/workbook
Files:
1 added
9 edited

Legend:

Unmodified
Added
Removed
  • CMIP6dreqbuild/trunk/src/workbook/isd3b.py

    r960 r961  
    877877## insert conditional on redundant tables here ... 
    878878## 
     879                  mipTable = tt.mipTable 
    879880                  if tt.mipTable in redundantTables: 
    880881                    if tt.mipTable not in reportedRedundantTables: 
     
    885886                      mipTable = '6hrPlevPt' 
    886887                      print 'INFO.6hrPlevPt.00001: ',tt.__dict__ 
     888                    elif tt.mipTable == 'fx' and lab in ['areacello','thkcello']: 
     889                      mipTable = 'Ofx' 
     890                      print 'INFO.Ofx.00001: ',lab,tt.mipTable,mipTable 
    887891                    elif tt.mipTable == 'day' and lab == 'omldamax': 
    888892                      mipTable = 'Oday' 
     
    899903                       sectid = None 
    900904                       
    901                     uid = chkRefCmv( tt.mipTable, lab, tt.uid, 'cmv.01009' ) 
     905                    uid = chkRefCmv( mipTable, lab, tt.uid, 'cmv.01009' ) 
    902906                    if uid in self.cmvs: 
    903907                       print 'ERROR.090.09010: duplicate cmv uid %s : %s' % (uid, str(tt.__dict__) ) 
     
    10991103                fr = freqmap.get( tt.freq, tt.freq ) 
    11001104                assert tt.group not in ['icesheetmon', 'icesheetyear','icesheetfx'], 'Unexpected tt.group: %s' % str(tt) 
     1105                skipcmv = False 
    11011106                if tt.group in ['LImonant','LImongre','LIyrant','LIyrgre','LIfxant','LIfxgre']: 
    11021107                  gr = 'g' 
     
    11141119                  ntab = 'Oday' 
    11151120                  print 'INFO.table.02003: new table for %s.%s: %s' % (lab,tt.table,ntab) 
    1116                 elif (tt.table in ['Omon','Oyr','day','cfMon','aermonthly'] or tt.group in ['cx_day','cx_6hr','cldAerAdj']) and tt.shape in ( '=','---"---'): 
     1121                elif (tt.table in ['Omon','Oyr','day','cfMon','aermonthly','SImon'] or tt.group in ['cx_day','cx_6hr','cldAerAdj','cx_mon']) and tt.shape in ( '=','---"---'): 
    11171122                  ntab = tt.table 
    11181123                  print 'INFO.table.02002: new request var for existing CMOR var: %s, %s, %s, %s, %s' % (tt.table,lab, tt.group, tt.shape, tt.mip) 
     1124                  skipcmv = True 
    11191125                else: 
    11201126                  ntab = 'em%s' % string.capwords( fr ) 
     
    11511157                   print 'SEVERE.structure.30001: ',tt.__dict__,gr 
    11521158 
    1153                 dsgpi.add( (thissh,tt.levels,tstyle,gr,smdd[tt.mask], 'None', 'None', grprov) ) 
     1159                if not skipcmv: 
     1160                  dsgpi.add( (thissh,tt.levels,tstyle,gr,smdd[tt.mask], 'None', 'None', grprov) ) 
    11541161# 
    11551162# picking out re-purposed CMIP5 variables 
    11561163# 
    11571164                if ovuu.has_key(tt.vid) and len( ovuu[tt.vid] ) == 1: 
    1158                   print 'INFO.ovuu.00001: lookup started %s, %s' % (tt.cmorv,tt.group) 
     1165                  print 'INFO.ovuu.00001: lookup started %s, %s, %s' % (tt.cmorv,tt.group,ntab) 
    11591166                  if len( ovuu[tt.vid] ) > 1: 
    11601167                    print 'WARN.ovuu.00002: multiple realms: %s, %s: %s' % (tt.cmorv,tt.group, str( ovuu[tt.vid] ) ) 
     
    11711178                  #tt1 = ovuu[tt.vid] 
    11721179                  if thisrealm == 'seaIce': 
    1173                     ntab = 'OImon' 
     1180                    if tt.freq == 'mon': 
     1181                       ntab = 'OImon' 
     1182                    else: 
     1183                       ntab = 'SIday' 
    11741184                  if tt.priority in [1,2,3]: 
    11751185                    p = tt.priority 
     
    12881298                    print 'INFO.045.00005: groupitem: ',thisrqv 
    12891299 
    1290                 if ccchk.uidReplace.has_key(thiscmv[0]): 
    1291                   nrep += 1 
    1292                   print 'ERROR.cmv.09005: duplicate cmv uuid: %s: %s' % (uid, str(tt.__dict__) ) 
    1293                   thisrqv[2] = ccchk.uidReplace[thiscmv[0]] 
    1294                 else: 
    1295                   if uid in setu1: 
    1296                      print 'ERROR.cmv.09001: duplicate cmv uuid: %s: %s ' % (uid,str(tt.__dict__)) 
    1297                   elif uid not in eeu: 
    1298                     eeu[uid] = tt.__dict__ 
    1299                     assert len(thiscmv) == len( self.cmvinfo ), 'BAD CMV specification length: %s' % str(cmv) 
    1300                     self.cmv.append( thiscmv ) 
    1301                     print 'INFO.cmv.x0001: append cmv: ',tt.__dict__ 
     1300                if not skipcmv: 
     1301                  if ccchk.uidReplace.has_key(thiscmv[0]): 
     1302                    nrep += 1 
     1303                    print 'ERROR.cmv.09005: duplicate cmv uuid: %s: %s' % (uid, str(tt.__dict__) ) 
     1304                    thisrqv[2] = ccchk.uidReplace[thiscmv[0]] 
     1305                  else: 
     1306                    if uid in setu1: 
     1307                       print 'ERROR.cmv.09001: duplicate cmv uuid: %s: %s ' % (uid,str(tt.__dict__)) 
     1308                    elif uid not in eeu: 
     1309                      eeu[uid] = tt.__dict__ 
     1310                      assert len(thiscmv) == len( self.cmvinfo ), 'BAD CMV specification length: %s' % str(cmv) 
     1311                      self.cmv.append( thiscmv ) 
     1312                      print 'INFO.cmv.x0001: append cmv: ',tt.__dict__ 
    13021313                self.rqv.append( thisrqv ) 
    13031314                if thisrqv[1] == 'somint': 
     
    15101521          ##print 'INFO.zzzy04: ', tt, tdim, cmet, label, u 
    15111522        else: 
    1512           errc,u,label = self.lls.add2( [u,label,splab,tlab, odim, crd, cmet, cmea, '', '', desc, proc, prov]  ) 
    1513           print 'INFO.zzzy02: ',tt, tdim, cmet, label, u, ttx 
     1523          u0 = u 
     1524          errc,u,label = self.lls.add2( [u0,label,splab,tlab, odim, crd, cmet, cmea, '', '', desc, proc, prov]  ) 
     1525          print 'INFO.zzzy02: ',tt, tdim, cmet, label, u, ttx, errc, u0, [u0,label,splab,tlab, odim, crd, cmet, cmea, '', '', desc, proc, prov] 
    15141526             
    15151527          ee1[(tmid, spid, odim, cmet, cmea, crd)] = u 
     
    17711783            else: 
    17721784              this = '' 
     1785          print 'INFO.ls1.00001: %s --> %s, %s' % (l,ii,this) 
    17731786          lsdd[l] = (ii,this) 
    17741787##['', 1.0, u'all', 3.0, 4.0, u'soil levels', 7.0, 40.0, u'all model levels', u'17 (or 23)', u'all*', 14.0, u'Model levels or 27Plevs', 16.0, 17.0, u'all model levels above 400hPa', u'17 (or23)', 36.0, u'17 (or 23 )', 27.0] 
  • CMIP6dreqbuild/trunk/src/workbook/ivg.py

    r953 r961  
    285285      xxx = [] 
    286286      for k in sh: 
    287         self.xRecByUid[k] = sh[k] 
    288         flg,rec = sh[k] 
    289         nt =  self.nt_dims._make( rec[:13] ) 
    290         if flg: 
    291           t1 = ( nt.tlab, nt.spid, nt.odims, nt.coords, nt.cell_methods, nt.cell_measures, nt.flag_meanings ) 
    292           assert t1 not in self.xRecByTt, 'FATAL.xrec.00001: duplicate lookup tuple encountered %s' % str(t1) 
    293           self.xRecByTt[t1] = k 
    294           print 'xRecByLab:: ', nt.label, k 
    295           assert nt.label not in self.xRecByLab, 'Duplicate label: %s' % nt.label 
    296           self.xRecByLab[nt.label] = k 
     287 
     288        if k in self.ref2ByUid: 
     289          print 'ERROR.struid.00066: skipping extraStructureRecordsRef version of %s' % k 
    297290        else: 
    298           xxx.append( (nt.label,k) ) 
     291          self.xRecByUid[k] = sh[k] 
     292          flg,rec = sh[k] 
     293          nt =  self.nt_dims._make( rec[:13] ) 
     294          if flg: 
     295            t1 = ( nt.tlab, nt.spid, nt.odims, nt.coords, nt.cell_methods, nt.cell_measures, nt.flag_meanings ) 
     296            assert t1 not in self.xRecByTt, 'FATAL.xrec.00001: duplicate lookup tuple encountered %s' % str(t1) 
     297            self.xRecByTt[t1] = k 
     298            print 'INFO.xRecByLab.001:: ', nt.label, k 
     299            assert nt.label not in self.xRecByLab, 'Duplicate label: %s' % nt.label 
     300            self.xRecByLab[nt.label] = k 
     301          else: 
     302            xxx.append( (nt.label,k) ) 
    299303 
    300304      sh.close() 
     
    355359      rc = 0 
    356360      label = self.ref2ByUid[u][2] 
    357       print 'INFO.structure.10001: label reset: ',t2,label 
     361      print 'INFO.structure.10001: label reset: ',t2,label,u 
    358362      done = 1 
    359363    else: 
     
    375379 
    376380    if done == 0: 
    377         print 'ERROR.structure.01010: tuple lookup not found: ',cand,t2 
    378381        label = None 
    379382        while label == None or label in self.ref2ByLab or label in self.newStrLabels: 
     
    381384           label = 'str-d%2.2i' % self.kr 
    382385           assert self.kr < 100, 'Too many additional structure records required' 
     386        print 'ERROR.structure.01010: tuple lookup not found: ',cand,t2, label 
    383387        self.newStrLabels.add( label ) 
    384388        tmid = self.spsh.tByLab[nt.tlab][0] 
    385389        cids = '' 
    386390        dids = '' 
    387         ats = [nt.splab, nt.tlab, nt.label,nt.label, nt.description, '','ivg.add2',nt.odims,nt.coords, cm,nt.cell_measures,nt.flag_meanings,'',spid,tmid,cmid,cids,dids,u]  
     391        ats = [nt.splab, nt.tlab, label,label, nt.description, '','ivg.add2',nt.odims,nt.coords, cm,nt.cell_measures,nt.flag_meanings,'',spid,tmid,cmid,cids,dids,u]  
    388392        self.ref2Byt2[t2] = u 
    389393        self.ref2ByUid[u] = ats 
  • CMIP6dreqbuild/trunk/src/workbook/loadcf.py

    r960 r961  
    1010 
    1111class cf(object): 
    12   def __init__(self,fn='cf-standard-name-table_v41.xml'): 
     12  def __init__(self,fn='cf-standard-name-table_v42.xml'): 
    1313    vocabs = xml.dom.minidom.parse( fn ) 
    1414 
Note: See TracChangeset for help on using the changeset viewer.