Changeset 1258 for CMIP6dreqbuild


Ignore:
Timestamp:
21/09/18 15:31:23 (14 months ago)
Author:
mjuckes
Message:

01.00.28b1

Location:
CMIP6dreqbuild/trunk/src/framework/ingest
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • CMIP6dreqbuild/trunk/src/framework/ingest/expts.py

    r1257 r1258  
    1414EXPTFILE='/data/work/tmp/git/esdoc-docs/cmip6/experiments/spreadsheet/experiments.xlsx' 
    1515## experiments sheet copied and pasted to resolve internal references. 
    16 EXPTFILE='CMIP6_experiments_esdoc_060618.xlsx' 
     16EXPTFILE='CMIP6_experiments_esdoc_200918.xlsx' 
    1717 
    1818class ktEx(object): 
     
    169169      self.rown = i 
    170170      r = [x.value for x in sht.row(i)] 
    171       if r[0] != '': 
     171      if r[0] != '' and r[2] != 'n/a': 
    172172       en = r[2] 
    173173       des = r[5] 
     
    207207        self.mip[en] = mip 
    208208        if r[3] != '': 
     209          print r 
    209210          onms = r[3].split( ',' ) 
    210211          self.alias[r[2]] = set( onms ) 
     
    233234    print 'INFO.esdoc.tier.0100: Key word scan errors: ',kwe 
    234235    print 'AOGCM Configuration:: ',sorted( list( ccc['AOGCM Configuration'] ) ) 
     236    self.exptByConf = ccc 
    235237 
    236238     
     
    501503    return es, kt, matchByOther, lcMatch, pMatch, mMatch, rf , s0 
    502504 
    503 xc = checker() 
    504  
    505 es,kt, mo, lcm, pm, mm, rf, s0 = xc.xcheck() 
    506 rq = request( xc ) 
    507 sa = set() 
    508 for x in  mo, lcm, pm, mm, rf, s0: 
    509   print len(x) 
    510   for k in x: 
    511     sa.add( k ) 
    512 print len(sa) 
    513 kk = {k for k in es.expts if k not in sa} 
    514 print kk 
    515 print 'ESDOC expts: %s [%s]' % (len(es.expts),len(kk)) 
    516 if len(mo.keys()) > 0: 
    517   print '%s matches through other name: ' % len( mo.keys()) 
    518   print mo 
    519 if len(lcm.keys()) > 0: 
    520   print '%s lower case matches (ES-DOC <--> CMIP6_CVs)' % len( lcm.keys()) 
    521   print lcm 
    522 if len(pm.keys()) > 0: 
    523   print '%s part matches' % len( pm.keys()) 
    524   print pm 
    525 if len(mm.keys()) > 0: 
    526   print '%s mapped matches' % len( mm.keys()) 
    527   print mm 
    528  
    529 ee = {} 
    530 for k in rq.mapped: 
     505def run(): 
     506  xc = checker() 
     507 
     508  es,kt, mo, lcm, pm, mm, rf, s0 = xc.xcheck() 
     509  rq = request( xc ) 
     510  sa = set() 
     511  for x in  mo, lcm, pm, mm, rf, s0: 
     512    print len(x) 
     513    for k in x: 
     514      sa.add( k ) 
     515  print len(sa) 
     516  kk = {k for k in es.expts if k not in sa} 
     517  print kk 
     518  print 'ESDOC expts: %s [%s]' % (len(es.expts),len(kk)) 
     519  if len(mo.keys()) > 0: 
     520    print '%s matches through other name: ' % len( mo.keys()) 
     521    print mo 
     522  if len(lcm.keys()) > 0: 
     523    print '%s lower case matches (ES-DOC <--> CMIP6_CVs)' % len( lcm.keys()) 
     524    print lcm 
     525  if len(pm.keys()) > 0: 
     526    print '%s part matches' % len( pm.keys()) 
     527    print pm 
     528  if len(mm.keys()) > 0: 
     529    print '%s mapped matches' % len( mm.keys()) 
     530    print mm 
     531 
     532  ee = {} 
     533  for k in rq.mapped: 
    531534  ##if k not in xc.kt.expts: 
    532535    ee[k] = xc.mapToKt[k] 
    533 for k in mm: 
    534   ee[k] = mm[k] 
    535 for k in lcm: 
    536   ee[k] = lcm[k] 
    537 oo = open( 'exptNameMaps.json', 'w' ) 
    538 json.dump( {'info':{'title':'Updating experiment names in data request'}, 'maps':ee, 'multi':rqMapsa}, oo, indent=4, sort_keys=True ) 
    539 oo.close() 
    540 oo = open( 'exptDesc.json', 'w' ) 
    541 json.dump( {'info':{'title':'Updating experiment descriptions from ESDOC & CMIP6 CV'}, 'description':xc.es.edesc, 'title':xc.kt.title}, oo, indent=4, sort_keys=True ) 
    542 oo.close() 
    543 oo = open( 'mipExptDep.json', 'w' ) 
    544 json.dump( {'info':{'title':'ESDOC dependencies of MIPS on expts'}, 'mips':xc.es.mips}, oo, indent=4, sort_keys=True ) 
    545 oo.close() 
    546  
    547 xc.kt.dumpCsv() 
    548  
    549 ## from PCMDI github ... 
     536  for k in mm: 
     537    ee[k] = mm[k] 
     538  for k in lcm: 
     539    ee[k] = lcm[k] 
     540  oo = open( 'exptNameMaps.json', 'w' ) 
     541  json.dump( {'info':{'title':'Updating experiment names in data request'}, 'maps':ee, 'multi':rqMapsa}, oo, indent=4, sort_keys=True ) 
     542  oo.close() 
     543  oo = open( 'exptDesc.json', 'w' ) 
     544  json.dump( {'info':{'title':'Updating experiment descriptions from ESDOC & CMIP6 CV'}, 'description':xc.es.edesc, 'title':xc.kt.title}, oo, indent=4, sort_keys=True ) 
     545  oo.close() 
     546  oo = open( 'mipExptDep.json', 'w' ) 
     547  json.dump( {'info':{'title':'ESDOC dependencies of MIPS on expts'}, 'mips':xc.es.mips}, oo, indent=4, sort_keys=True ) 
     548  oo.close() 
     549 
     550  xc.kt.dumpCsv() 
     551   
     552  ## from PCMDI github ... 
     553if __name__ == "__main__": 
     554  run() 
Note: See TracChangeset for help on using the changeset viewer.