Changeset 922
- Timestamp:
- 22/12/16 17:47:40 (4 years ago)
- Location:
- CMIP6dreqbuild/trunk
- Files:
-
- 9 added
- 1 deleted
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
CMIP6dreqbuild/trunk/docs/xlst_xdsSchemaGen.xml
r799 r922 201 201 <xsl:attribute name="name">ct__<xsl:value-of select="@label"/></xsl:attribute><xsl:text>
</xsl:text> 202 202 <xs:sequence> 203 <xs:element name="item" maxOccurs=" 8000">203 <xs:element name="item" maxOccurs="12000"> 204 204 <xsl:attribute name="type">aa:ct__<xsl:value-of select="@label"/>_vocabItem</xsl:attribute> 205 205 </xs:element> -
CMIP6dreqbuild/trunk/src/workbook/inputs/cmv_duplication.csv
r904 r922 1474 1474 + 8bbb0aa8-4a5b-11e6-9cd2-ac72891c3257 19beb3b8-81b1-11e6-92de-ac72891c3257 aermonthly snow cover fraction aermonthly ((isd.003)) 1475 1475 + 8bbb0aa8-4a5b-11e6-9cd2-ac72891c3257 LImon Snow Area Fraction Fraction of each grid cell that is occupied by snow that rests on land portion of cell. LImon ((isd.003)) 1476 NEXT 1 mon tntrs f7ded7a0-562c-11e6-a2a4-ac72891c3257 1477 + 01d3ff0c-c792-11e6-aa58-5404a60d96b5 aermonthly Shortwave heating rate shortwave heating rates aermonthly ((isd.003)) 1478 + 01d3ff0c-c792-11e6-aa58-5404a60d96b5 8b89abe8-4a5b-11e6-9cd2-ac72891c3257 emMon Shortwave heating rate CFMIP [cfMon_3dstd_new] 1479 NEXT 2 fx areacella f7dcac96-562c-11e6-a2a4-ac72891c3257 1480 + 19bda16c-81b1-11e6-92de-ac72891c3257 aerfixed area of grid cell aerfixed ((isd.003)) 1481 + 19bda16c-81b1-11e6-92de-ac72891c3257 f2faa9ac-c38d-11e6-abc1-1b922e5e1118 emFx Atmosphere Grid-Cell Area Atmosphere Grid-Cell Area LS3MIP [fxLS3MIP] 1482 NEXT 3 mon tntrl f7ded7a0-562c-11e6-a2a4-ac72891c3257 1483 + 01d409fc-c792-11e6-aa58-5404a60d96b5 aermonthly Longwave heating rate longwave heating rates aermonthly ((isd.003)) 1484 + 01d409fc-c792-11e6-aa58-5404a60d96b5 8b89a3a0-4a5b-11e6-9cd2-ac72891c3257 emMon Longwave heating rate CFMIP [cfMon_3dstd_new] 1485 NEXT 4 mon ta f7e94ce4-562c-11e6-a2a4-ac72891c3257 1486 + fda700b2-96ec-11e6-b81e-c9e268aff03a aermonthlyz Air Temperature aermonthlyz ((isd.003)) 1487 + fda700b2-96ec-11e6-b81e-c9e268aff03a 9352ad42-c793-11e6-b166-5404a60d96b5 emMonZ Air Temperature zonal mean; hence YZT DynVar [DYVR_monthly_a] 1488 NEXT 5 mon fg13co2 f7ddef0c-562c-11e6-a2a4-ac72891c3257 1489 + 6f69d2d8-9acb-11e6-b7ee-ac72891c3257 c91eef28-c5e8-11e6-84e6-5404a60d96b5 Omon Surface Downward Flux of Abiotic 13CO2 Gas exchange flux of abiotic 13CO2 (positive into ocean) Omon ((isd.003)) 1490 + 6f69d2d8-9acb-11e6-b7ee-ac72891c3257 emMon Surface Downward Flux of Abiotic 13CO2 C4MIP [C_Hist] 1491 NEXT 6 mon ua f7e94ce4-562c-11e6-a2a4-ac72891c3257 1492 + f1f36fa2-aa70-11e6-9736-5404a60d96b5 aermonthlyz Eastward Wind aermonthlyz ((isd.003)) 1493 + f1f36fa2-aa70-11e6-9736-5404a60d96b5 9352a7d4-c793-11e6-b166-5404a60d96b5 emMonZ Eastward Wind zonal mean; hence YZT DynVar [DYVR_monthly_a] 1494 NEXT 7 mon clc f7ded7a0-562c-11e6-a2a4-ac72891c3257 1495 + baaa557c-e5dd-11e5-8482-ac72891c3257 01d319d4-c792-11e6-aa58-5404a60d96b5 aermonthly Convective Cloud Area Fraction Convective cloud fraction aermonthly ((isd.003)) 1496 + baaa557c-e5dd-11e5-8482-ac72891c3257 cfMon Convective Cloud Area Fraction cfMon ((isd.003)) 1497 NEXT 8 mon snc f7dcac96-562c-11e6-a2a4-ac72891c3257 1498 + bab7c2d4-e5dd-11e5-8482-ac72891c3257 19beb3b8-81b1-11e6-92de-ac72891c3257 aermonthly snow cover fraction aermonthly ((isd.003)) 1499 + bab7c2d4-e5dd-11e5-8482-ac72891c3257 LImon Snow Area Fraction Fraction of each grid cell that is occupied by snow that rests on land portion of cell. LImon ((isd.003)) 1500 NEXT 9 mon intdoc f7ddef0c-562c-11e6-a2a4-ac72891c3257 1501 + c91e58f6-c5e8-11e6-84e6-5404a60d96b5 Omon Dissolved Organic Carbon Content Vertically integrated DOC (explicit pools only) Omon ((isd.003)) 1502 + c91e58f6-c5e8-11e6-84e6-5404a60d96b5 8b82fa32-4a5b-11e6-9cd2-ac72891c3257 emMon Dissolved Organic Carbon Content C4MIP [C_Ocean_T1] 1503 NEXT 10 mon clivi f7dcac96-562c-11e6-a2a4-ac72891c3257 1504 + baaa9852-e5dd-11e5-8482-ac72891c3257 Amon Ice Water Path mass of ice water in the column divided by the area of the column (not just the area of the cloudy portion of the column). Includes precipitating frozen hydrometeors ONLY if the precipitating hydrometeor affects the calculation of radiative transfer in model. Amon ((isd.003)) 1505 + baaa9852-e5dd-11e5-8482-ac72891c3257 01d4f5a6-c792-11e6-aa58-5404a60d96b5 aermonthly ice water path aermonthly ((isd.003)) 1506 NEXT 11 fx orog f7dcac96-562c-11e6-a2a4-ac72891c3257 1507 + f2faae98-c38d-11e6-abc1-1b922e5e1118 19bda55e-81b1-11e6-92de-ac72891c3257 aerfixed surface altitude The surface called "surface" means the lower boundary of the atmosphere. Altitude is the (geometric) height above the geoid, which is the reference geopotential surface. The geoid is similar to mean sea level. aerfixed ((isd.003)) 1508 + f2faae98-c38d-11e6-abc1-1b922e5e1118 emFx surface altitude surface altitude LS3MIP [fxLS3MIP] 1509 NEXT 1 day mrro f7de23aa-562c-11e6-a2a4-ac72891c3257 1510 + d2283c2e-4a9f-11e6-b84e-ac72891c3257 bab17cb2-e5dd-11e5-8482-ac72891c3257 day Total Runoff computed as the total runoff (including "drainage" through the base of the soil model) leaving the land portion of the grid cell divided by the land area in the grid cell. day ((isd.003)) 1511 + d2283c2e-4a9f-11e6-b84e-ac72891c3257 emDay Total Runoff runoff_flux LS3MIP [LWday] 1512 NEXT 2 mon nep f7de23aa-562c-11e6-a2a4-ac72891c3257 1513 + d2290cee-4a9f-11e6-b84e-ac72891c3257 bab241c4-e5dd-11e5-8482-ac72891c3257 Lmon Net Carbon Mass Flux out of Atmophere due to Net Ecosystem Productivity on Land. Natural flux of CO2 (expressed as a mass flux of carbon) from the atmosphere to the land calculated as the difference between uptake associated will photosynthesis and the release of CO2 from the sum of plant and soil respiration and fire. Positive flux is into the land. emissions from natural fires + human ignition fires as calculated by the fire module of the DGVM, but excluding any CO2 flux from fire included in fLuc, defined below (CO2 Flux to Atmosphere from Land Use Change). Lmon ((isd.003)) 1514 + d2290cee-4a9f-11e6-b84e-ac72891c3257 emMon Net Carbon Mass Flux out of Atmophere due to Net Ecosystem Productivity on Land. Net Ecosystem Exchange LS3MIP [LCmon] 1515 NEXT 3 mon fLuc f7de23aa-562c-11e6-a2a4-ac72891c3257 1516 + d229196e-4a9f-11e6-b84e-ac72891c3257 baad9d4a-e5dd-11e5-8482-ac72891c3257 Lmon Net Carbon Mass Flux into Atmosphere due to Land Use Change human changes to land (excluding forest regrowth) accounting possibly for different time-scales related to fate of the wood, for example. Lmon ((isd.003)) 1517 + d229196e-4a9f-11e6-b84e-ac72891c3257 emMon Net Carbon Mass Flux into Atmosphere due to Land Use Change Net Carbon Mass Flux into Atmosphere due to Land Use Change LS3MIP [LCmon] 1518 NEXT 4 day snw f7de23aa-562c-11e6-a2a4-ac72891c3257 1519 + d2288954-4a9f-11e6-b84e-ac72891c3257 bab820b2-e5dd-11e5-8482-ac72891c3257 day Surface Snow Amount the mass of surface snow on the land portion of the grid cell divided by the land area in the grid cell; reported as 0.0 where the land fraction is 0; excludes snow on vegetation canopy or on sea ice. day ((isd.003)) 1520 + d2288954-4a9f-11e6-b84e-ac72891c3257 emDay Surface Snow Amount surface_snow_amount LS3MIP [LWday] 1521 NEXT 5 mon cWood f7de23aa-562c-11e6-a2a4-ac72891c3257 1522 + d229353e-4a9f-11e6-b84e-ac72891c3257 baa909c4-e5dd-11e5-8482-ac72891c3257 Lmon Carbon Mass in Wood including sapwood and hardwood. Lmon ((isd.003)) 1523 + d229353e-4a9f-11e6-b84e-ac72891c3257 emMon Carbon Mass in Wood Carbon Mass in Wood LS3MIP [LCmon] 1524 NEXT 6 mon cMisc f7de23aa-562c-11e6-a2a4-ac72891c3257 1525 + d2293d68-4a9f-11e6-b84e-ac72891c3257 baa8cd24-e5dd-11e5-8482-ac72891c3257 Lmon Carbon Mass in Other Living Compartments on Land e.g., labile, fruits, reserves, etc. Lmon ((isd.003)) 1526 + d2293d68-4a9f-11e6-b84e-ac72891c3257 emMon Carbon Mass in Other Living Compartments on Land Carbon Mass in Other Living Compartments on Land LS3MIP [LCmon] -
CMIP6dreqbuild/trunk/src/workbook/isd3b.py
r904 r922 17 17 ### 18 18 19 import xlrd, xml, os, sys, string, shelve 19 import xlrd, xml, os, sys, string, shelve, json 20 20 import utils_wb, uuid 21 21 import xml.dom, xml.dom.minidom … … 27 27 import ivg 28 28 29 mipTabMaps = json.load( open('inputs/mipTableMaps.txt', 'r' ) ) 30 29 31 #up: 30 32 varPositive = {'rlus':'up', 'rlut':'up', 'rlutcs':'up', 'hfls':'up', 'hfss':'up', 'mcu':'up', 'rsus':'up', 'rsut':'up', 'rsutcs':'up', 'rlds':'down', 'rsds':'down' } … … 35 37 ## 36 38 refCmv = ivg.refCmv() 37 extRefCmvMode = ' r'38 extRefCmv = shelve.open( 'sh/extRefCmv' , 'r')39 extRefCmvMode = 'w' 40 extRefCmv = shelve.open( 'sh/extRefCmv' ) 39 41 extRefCmvInv = {} 40 42 nd = 0 … … 43 45 for k in extRefCmv: 44 46 k1 = extRefCmv[k] 47 tab,var = k.split( '.' ) 45 48 if k1 in extRefCmvInv: 46 print 'FATAL: Duplicate key in extRefCmv: %s [%s] %s' % (k,k1,extRefCmvInv[k1]) 47 sd.add(k) 48 sd2.add(extRefCmvInv[k1]) 49 nd += 1 49 tab2, var2 = extRefCmvInv[k1].split('.') 50 if var == var2 and (tab == mipTabMaps.get( tab2, None) or tab2 == mipTabMaps.get( tab, None) ): 51 pass 52 else: 53 print 'FATAL: Duplicate key in extRefCmv: %s [%s] %s' % (k,k1,extRefCmvInv[k1]) 54 sd.add(k) 55 sd2.add(extRefCmvInv[k1]) 56 nd += 1 50 57 extRefCmvInv[k1] = k 51 58 assert nd == 0, 'FATAL ERRORS FOUND ... see standard output: %s, %s' % (str( sd ), str( sd2 ) ) 52 59 60 extRefCmvMapped = {} 53 61 def chkRefCmv( ntab, lab, u0, msg ): 54 if ntab in refCmv.refUid[ntab] and lab in refCmv.refUid[ntab]: 55 uid = refCmv.refUid[ntab][lab] 56 print 'INFO.uid0.%s: uid found in extRefCmv: %s, %s (%s) {%s}' % (msg,ntab,lab,uid,u0) 62 useExtRef = True 63 ##thistab = mipTabMaps.get( ntab, ntab ) 64 thistab = ntab 65 if thistab in refCmv.refUid[thistab] and lab in refCmv.refUid[thistab]: 66 uid = refCmv.refUid[thistab][lab] 67 print 'INFO.uid0.%s: uid found in extRefCmv: %s, %s (%s) {%s}' % (msg,thistab,lab,uid,u0) 57 68 else: 58 kk = str( '%s.%s' % ( ntab,lab) )69 kk = str( '%s.%s' % (thistab,lab) ) 59 70 if kk in extRefCmv: 60 uid = extRefCmv[kk] 61 print 'INFO.uid.%s: uid found in extRefCmv: %s, %s (%s) {%s}' % (msg,ntab,lab,uid,u0) 71 if useExtRef: 72 uid = extRefCmv[kk] 73 print 'INFO.uid.%s: uid found in extRefCmv: %s, %s (%s) {%s}' % (msg,thistab,lab,uid,u0) 74 extRefCmvMapped[u0] = uid 75 else: 76 u1 = extRefCmv[kk] 77 print 'INFO.uid.%s: uid in extRefCmv ignored: %s, %s (%s) {%s}' % (msg,thistab,lab,u1,u0) 78 uid = u0 62 79 else: 63 80 if extRefCmvMode != 'r': 64 81 extRefCmv[kk] = u0 65 print 'WARN.uid.%s: uid not found: %s, %s (%s)' % (msg, ntab,lab,u0)82 print 'WARN.uid.%s: uid not found: %s, %s (%s)' % (msg,thistab,lab,u0) 66 83 uid = u0 67 84 return uid … … 70 87 siSurfFluxes = ['sidmasstranx', 'sidmasstrany', 'siforcecoriolx', 'siforcecorioly', 'siforcetiltx', 'siforcetilty', 'siforceintstrx', 'siforceintstry', 'sistrxdtop', 'sistrydtop', 'sistrxdbot', 'sistrydbot', 'siu', 'siv'] 71 88 oceanVars = ['fg13co2','fg14co2'] 72 realmTab = {'landice':['LImongre','LImonant','LIyrgre','LIyrant','LIfxgre','LIfxant'], 'atmos':['6hrLev','6hrPlev','6hrPevpt','em1hrclimmon','em3hr','em1hr','em3hrpt','emDayZ','emDaypt','emMonZ']} 89 realmTab = {'landice':['LImongre','LImonant','LIyrgre','LIyrant','LIfxgre','LIfxant','ImonGre','ImonAnt','IyrGre','IyrAnt','IfxGre','IfxAnt'], 90 'atmos':['6hrLev','6hrPlev','6hrPevpt','em1hrclimmon','em3hr','em1hr','em3hrpt','emDayZ','emDaypt','emMonZ']} 73 91 ## emYr, emMon, emFy, emMonZ .... need checking 74 92 knownRealmA = [ '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]'] … … 780 798 else: 781 799 lab = tt.var 800 if tt.out_name != tt.var: 801 print 'WARN.outname.00001: out name issue.... ',tt.out_name,tt.var 782 802 if lab in {'*','include Oyr 3D tracers'}: 783 803 lab = '-copy-' … … 885 905 d1 = {u'where land over land':(False,'area: mean where land over land'), \ 886 906 u'land':(False,'area: mean where land'), \ 907 u'hourly max':(False,'area: mean time: mean within hours time: maximum over hours'), \ 887 908 u'grounded ice sheet':(True,'area: mean where grounded_ice_sheet'), \ 888 909 u'ice sheet':(True,'area: mean where ice_sheet'), \ … … 983 1004 assert tt.group not in ['icesheetmon', 'icesheetyear','icesheetfx'], 'Unexpected tt.group: %s' % str(tt) 984 1005 if tt.group in ['LImonant','LImongre','LIyrant','LIyrgre','LIfxant','LIfxgre']: 1006 gr = 'g' 1007 ntab = tt.group 1008 elif tt.group in ['ImonAnt','ImonGre','IyrAnt','IyrGre','IfxAnt','IfxGre']: 985 1009 gr = 'g' 986 1010 ntab = tt.group … … 1316 1340 cmet = msk 1317 1341 elif msk != '': 1318 cmet = msk + ' ' + cmet 1342 if "time:" in msk: 1343 print 'INFO.cmet.05005: using time: info in msk: ',msk,cmet 1344 cmet = msk 1345 else: 1346 cmet = msk + ' ' + cmet 1319 1347 kk += 1 1320 1348 label = 'str-b%3.3i' % kk … … 1801 1829 thisd[kk[j]] = str( ll[j] ) 1802 1830 vid = str( ll[3] ) 1831 if vid in extRefCmvMapped: 1832 print 'INFO.isd005.0002: mapping vid: ',vid,extRefCmvMapped[vid] 1833 vid = extRefCmvMapped[vid] 1803 1834 1804 1835 print 'INFO.isd005.0001: ',thisl, uid, vgid -
CMIP6dreqbuild/trunk/src/workbook/ivg.py
r904 r922 176 176 sht = wb.sheet_by_name( 's1' ) 177 177 r1 = [x.value for x in sht.row(0)] 178 assert r1 == self.hd, 'Headings of refStructure.xlsx do not match expected values '178 assert r1 == self.hd, 'Headings of refStructure.xlsx do not match expected values: %s' % str(r1) 179 179 print 'IMPORT REF 02: PASSED FIRST CHECK' 180 180 inx = [self.hd.index(x) for x in ['time label', 'spatial label', 'odims', 'coords', 'cell_methods', u'cell_measures', 'flag_meanings'] ] -
CMIP6dreqbuild/trunk/srcMisc/dreq_consol.py
r386 r922 266 266 htmlline = string.replace( htmlline, u'\xb2', '2' ) 267 267 htmlline = string.replace( htmlline, u'\xb3', '3' ) 268 self.oo.write( "<tr>%s</tr>" % str(htmlline) + '\n' ) 268 htmlline = string.replace( htmlline, u'\u201c', '"' ) 269 htmlline = string.replace( htmlline, u'\u201d', '"' ) 270 try: 271 self.oo.write( "<tr>%s</tr>" % str(htmlline) + '\n' ) 272 except: 273 print 'FAILED TO WRITE: ', htmlline 274 raise 269 275 270 276 def parseRQ(self):
Note: See TracChangeset
for help on using the changeset viewer.