source: CMIP6dreq/trunk/dreqPy/fgrid.py @ 775

Subversion URL: http://proj.badc.rl.ac.uk/svn/exarch/CMIP6dreq/trunk/dreqPy/fgrid.py@1265
Revision 775, 1.5 KB checked in by mjuckes, 3 years ago (diff)

updated documentation

Line 
1knowna = [ 'LS3MIP [LWday]', 'LS3MIP [LEday]', 'CFMIP [cf1hrClimMon]', 'HighResMIP [3hr_cloud]', 'CFMIP [cf3hr_sim_new]', 'C4MIP [L_3hr]', 'DAMIP [DAMIP_day]', 'DAMIP [DAMIP_3hr_p2]', 'DynVar [DYVR_daily_c]', 'PMIP [PMIP-6hr]', 'HighResMIP [1hrLev]']
2knowno = [ 'DAMIP [DAMIP_Omon_p2]', 'FAFMIP [fafOyr]']
3
4def fgrid( dq ):
5  ii = [i for i in dq.coll['CMORvar'].items if 'requestVar' in dq.inx.iref_by_sect[i.uid].a]
6  ee = dict()
7  i1 = []
8  for i in ii:
9    if i.modeling_realm.find('ocean') != -1 or 'ocnBgchem' != -1:
10      ee[i.uid] = 'o'
11    elif i.modeling_realm.find('seaIce' ) != -1:
12      ee[i.uid] = 'si'
13    elif i.modeling_realm == 'landIce':
14      ee[i.uid] = 'li'
15    elif i.modeling_realm in ['','__unset__']:
16      i1.append( i )
17    else:
18      ee[i.uid] = 'a'
19
20  i2 = []
21  for i in i1:
22    st = dq.inx.uid[i.stid]
23    if st.odims in ['','?']:
24      i2.append((i,st))
25    elif st.odims == 'iceband':
26      ee[i.uid] = 'si'
27    else:
28      ee[i.uid] = 'a'
29
30  i3 = []
31  for i,st in i2:
32    sp = dq.inx.uid[st.spid]
33    if sp.label == 'XY-na':
34      i3.append( i )
35    elif sp.label in ['TR-na','XY-O', 'YB-O', 'YB-R']:
36      ee[i.uid] = 'o'
37    else:
38      ee[i.uid] = 'a'
39
40  i4 = []
41  for i in i3:
42    if i.prov in knowna:
43      ee[i.uid] = 'a'
44    elif i.prov in knowno:
45      ee[i.uid] = 'o'
46    else:
47      i4.append(i)
48
49  if len(i4) > 0:
50    print ( 'SEVERE.cmvgrid.00001: unidentified grids for %s variables' % len(i4) )
51    for i in i4:
52      print ( '%s: %s   %s' % (i.label, i.title, i.prov))
53
54  return ee,i4
55 
Note: See TracBrowser for help on using the repository browser.