source: CMIP6dreqbuild/trunk/src/workbook/scansh.py @ 372

Subversion URL: http://proj.badc.rl.ac.uk/svn/exarch/CMIP6dreqbuild/trunk/src/workbook/scansh.py@372
Revision 372, 3.3 KB checked in by mjuckes, 5 years ago (diff)

update

Line 
1
2import shelve
3
4odir = 'sh20150708'
5odir = '/data/tmp/svn3/exarch/CMIP6dreqbuild/trunk/srcMisc/sh20150827'
6from scansh_cfg import odir
7def sopen( id ):
8  sh = shelve.open( '%s/%s' % (odir,id ) )
9  print 'Openned %s' % str( sh['__info__'] )
10  print sh['__cols__']
11  return sh
12
13class rqc(object):
14
15  def __init__(self):
16    self.refti = sopen( 'refTableItems' )
17    self.revti = sopen( 'revTabItems' )
18    self.vars = sopen( 'cmipVars' )
19    self.grps = sopen( 'groupItems' )
20    self.rqit = sopen( 'requestItems' )
21    self.rqli = sopen( 'requestLinks' )
22    self.rqvg = sopen( 'requestVarGroup' )
23
24rq = rqc()
25
26def sampl(sh, ns=10):
27  k = 0
28  ks = sh.keys()[:100]
29  while k < ns:
30    if ks[k][0] != '_':
31      print sh[ ks[k] ]
32      k += 1
33
34ki=0
35km=0
36nok = 0
37kn = 0
38for k in rq.revti.keys():
39  if k[0] != '_':
40    u = rq.revti[k][3]
41    if u == None:
42      km += 1
43    elif u == '__inc__':
44      ki += 1
45## new OMIP variables are mixed up with revised old variables .......
46    elif u == '__new__':
47      kn += 1
48    elif not rq.refti.has_key(u):
49      print 'ERROR.010.0001: look up key not found: ', rq.revti[k]
50    else:
51      nok += 1
52
53print 'CHECK.001.0002: on revTabItems: %s OK, %s missing reference, %s includes [Not managed yet]' % (nok,km, ki)
54 
55nok = 0
56km = 0
57knf = 0
58for k in rq.refti.keys():
59  if k[0] != '_':
60    r = rq.refti[k]
61    if r[-1] != '__none__':
62      if rq.vars.has_key(r[-1]):
63        nok += 1
64      else:
65        print 'NOT FOUND:',r
66        knf += 1
67    else:
68      km += 1
69print 'CHECK.001.0003: on refTabItems: %s OK, %s missing reference, not found %s' % (nok,km,knf)
70
71nok1 = 0
72nok2 = 0
73nok = 0
74km = 0
75kmm = 0
76knf = 0
77for k in rq.grps.keys():
78  if k[0] != '_':
79    r = rq.grps[k]
80    if r[-3][0] != '_':
81      if r[-4] == 0:
82        if rq.vars.has_key(r[-3]):
83          nok1 += 1
84        else:
85          print 'NOT FOUND:',r
86          knf += 1
87      elif r[-4] == 1:
88        if rq.rqvg.has_key(r[-3]):
89          nok2 += 1
90        else:
91          print 'NOT FOUND:',r
92          knf += 1
93      else:
94        kmm += 1
95    else:
96      ##print '!GROUP: ',r
97      km += 1
98print 'CHECK.001.0004: on groupItems: %s,%s OK, %s missing reference, not found %s, bad "new" key %s ' % (nok1,nok2,km,knf,kmm)
99
100nok1 = 0
101nok2 = 0
102nok = 0
103km = 0
104kmm = 0
105knf = 0
106for k in rq.grps.keys():
107  if k[0] != '_':
108    r = rq.grps[k]
109## new variables
110    if r[-2] == 0:
111        if rq.vars.has_key(r[-1]):
112          nok1 += 1
113        else:
114          print 'NOT FOUND:',r
115          knf += 1
116## old vars
117    elif r[-2] == 1:
118        if rq.refti.has_key(r[-1]):
119          nok2 += 1
120        else:
121          print 'NOT FOUND:',r
122          knf += 1
123    else:
124        kmm += 1
125print 'CHECK.001.0005: on groupItems -- for variable defs: %s,%s OK, %s missing reference, not found %s, bad "new" key %s ' % (nok1,nok2,km,knf,kmm)
126
127nok = 0
128nm = 0
129for k in rq.rqit.keys():
130  if k[0] != '_':
131    r = rq.rqit[k]
132    rid = r[3]
133    if rq.rqli.has_key(rid):
134      nok += 1
135    else:
136      nm += 1
137print 'CHECK.001.0006: on request links: %s OK, %s missing' % (nok,nm)
138
139nok = 0
140nm = 0
141nb = 0
142for k in rq.rqli.keys():
143  if k[0] != '_':
144    r = rq.rqli[k]
145    rid = r[-1]
146    if rid[0] != '_':
147      if rq.rqvg.has_key(rid):
148        nok += 1
149      else:
150        nm += 1
151    else:
152      nb += 1
153print 'CHECK.001.0007: on request links referencing to variable group: %s OK, %s missing, %s unset' % (nok,nm,nb)
154
Note: See TracBrowser for help on using the repository browser.