Subversion URL: http://proj.badc.rl.ac.uk/svn/exarch/CMIP6dreq/tags/01.00.07/dreqPy/fgrid.py@984
Revision 775,
1.5 KB
checked in by mjuckes, 6 years ago
(diff) |
updated documentation
|
Line | |
---|
1 | knowna = [ '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]'] |
---|
2 | knowno = [ 'DAMIP [DAMIP_Omon_p2]', 'FAFMIP [fafOyr]'] |
---|
3 | |
---|
4 | def 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.