Changeset 397 for CMIP6dreqbuild/trunk/src
- Timestamp:
- 04/10/15 19:20:58 (7 years ago)
- Location:
- CMIP6dreqbuild/trunk/src
- Files:
-
- 4 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
CMIP6dreqbuild/trunk/src/framework/dreq.py
r393 r397 59 59 if a[0] != '_' or full: 60 60 if self._a[a].rClass == 'internalLink' and self._base._indexInitialised: 61 targ = self._base._inx.uid[ self.__dict__[a] ] [1]61 targ = self._base._inx.uid[ self.__dict__[a] ] 62 62 print ' %s: [%s]%s [%s]' % ( a, targ._h.label, targ.label, self.__dict__[a] ) 63 63 else: … … 90 90 m = '<li>%s: %s [missing link]</li>' % ( a, self.__dict__[a] ) 91 91 else: 92 targ = self._base._inx.uid[ self.__dict__[a] ] [1]92 targ = self._base._inx.uid[ self.__dict__[a] ] 93 93 m = '<li>%s: [%s] %s [%s]</li>' % ( a, targ._h.label, targ.label, targ.__href__() ) 94 94 else: … … 113 113 am.append( '<h3>%s</h3>' % t ) 114 114 am.append( '<ul>' ) 115 items = [self._inx.uid[u] [1]for u in self._inx.iref_by_sect[self.uid].a[t] ]115 items = [self._inx.uid[u] for u in self._inx.iref_by_sect[self.uid].a[t] ] 116 116 items.sort( ds('label').cmp ) 117 117 for targ in items: … … 160 160 for a,tv,v in tvtl: 161 161 if tv: 162 if self._a[a].type == u'xs:integer': 162 if self._a[a].type == u'xs:float': 163 try: 164 v = float(v) 165 except: 166 print 'Failed to convert real number: %s' % v 167 raise 168 elif self._a[a].type == u'xs:integer': 163 169 if self._rc.isIntStr( v ): 164 170 v = int(v) … … 244 250 tables[t[0].label] = t 245 251 self.tableClasses[t[0].label] = self.itemClassFact( t, ns=self.ns ) 246 247 252 248 253 self.recordAttributeDefn = tables … … 314 319 object._a: a python dictionary defining the attributes in each record. The keys in the dictionary correspond to the attribute names and the values are python "named tuples" (from the "collections" module). E.g. object._a['priority'].type contains the type of the 'priority' attribute. Type is expressed using XSD schema language, so "xs:integer" implies integer. The "rClass" attribute carries information about usage. If object._a['xxx'].rClass = u'internalLink' then the record attribute provides a link to another element and object.xxx is the unique identifier of that element. 315 320 316 object._h: a python named tuple describing the section. E.g. object. parent.header.title is the section title (E.g. "CMOR Variables")321 object._h: a python named tuple describing the section. E.g. object._h.title is the section title (E.g. "CMOR Variables") 317 322 """ 318 323 _base=dreqItemBase 319 324 325 dreqItem.__name__ = 'dreqItem_%s' % str( sectionInfo.header.label ) 320 326 dreqItem._h = sectionInfo.header 321 327 dreqItem._a = sectionInfo.attributes … … 404 410 self.uid2[i.uid].append( (k,i) ) 405 411 else: 406 self.uid[i.uid] = (None,i) 412 ### create index bx uid. 413 self.uid[i.uid] = i 407 414 408 415 self.missingIds = collections.defaultdict( list ) … … 469 476 ## dreqItemBase._htmlStyle['__general__'] = {'addRemarks':True} 470 477 471 self.pageTmpl = """<html><head><title>%s</title></head><body>%s</body></html>""" 478 self.pageTmpl = """<html><head><title>%s</title> 479 <link rel="stylesheet" type="text/css" href="%scss/dreq.css"> 480 </head><body> 481 <div id="top">CMIP6 Data Request</div> 482 %s</body></html>""" 472 483 473 484 def makeHtml(self,odir='./html'): 474 485 for k in self.inx.uid.keys(): 475 i = self.inx.uid[k] [1]486 i = self.inx.uid[k] 476 487 ttl = 'Data Request Record: [%s]%s' % (i._h.label,i.label) 477 488 bdy = string.join( i.__html__( ), '\n' ) 478 489 oo = open( '%s/u/%s.html' % (odir,i.uid), 'w' ) 479 oo.write( self.pageTmpl % (ttl, bdy ) )490 oo.write( self.pageTmpl % (ttl, '../', bdy ) ) 480 491 oo.close() 481 492 … … 498 509 bdy = string.join( msg, '\n' ) 499 510 oo = open( '%s/index/%s.html' % (odir,k), 'w' ) 500 oo.write( self.pageTmpl % (ttl, bdy ) )511 oo.write( self.pageTmpl % (ttl, '../', bdy ) ) 501 512 oo.close() 502 513 msg0.append( '</ul>' ) 503 514 bdy = string.join( msg0, '\n' ) 504 515 oo = open( '%s/index.html' % odir, 'w' ) 505 oo.write( self.pageTmpl % (ttl , bdy ) )516 oo.write( self.pageTmpl % (ttl0, '', bdy ) ) 506 517 oo.close() 507 518 -
CMIP6dreqbuild/trunk/src/framework/out/vocabDefn.xml
r382 r397 2 2 <defDoc 3 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xmlns="ur i:w3id.org:cmip6.dreq.framework:a"4 xmlns="urn:w3id.org:cmip6.dreq.framework:a" 5 5 xsi:schemaLocation="http://w3id.org/cmip6dr/ns vocabFrameworkSchema_v01beta.xsd"> 6 <table label="institute" title="Institute" id="cmip.drv.001" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes">7 <rowAttribute label="label" />8 <rowAttribute label="title" />6 <table label="institute" uid="SECTION:institute" title="Institute" id="cmip.drv.001" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 7 <rowAttribute label="label" title="Record Label"/> 8 <rowAttribute label="title" title="Record Title"/> 9 9 <rowAttribute label="url" title="Home page"/> 10 10 <rowAttribute label="isni" title="International Standard Name Identifier (ISO 27729)"/> 11 11 <rowAttribute label="description"/> 12 <rowAttribute label="u uid"/>12 <rowAttribute label="uid"/> 13 13 </table> 14 <table label="model" title="Model" id="cmip.drv.002" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes">15 <rowAttribute label="label" />16 <rowAttribute label="title" />14 <table label="model" uid="SECTION:model" title="Model" id="cmip.drv.002" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 15 <rowAttribute label="label" title="Record Label"/> 16 <rowAttribute label="title" title="Record Title"/> 17 17 <rowAttribute label="description"/> 18 18 <rowAttribute label="url"/> 19 19 <rowAttribute label="altUrl"/> 20 20 <rowAttribute label="source" title="List of major model components"/> 21 <rowAttribute label="u uid"/>21 <rowAttribute label="uid"/> 22 22 </table> 23 <table label="physicsvers" title="Physics Version" id="cmip.drv.003" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes">24 <rowAttribute label="label" />25 <rowAttribute label="title" />23 <table label="physicsvers" uid="SECTION:physicsvers" title="Physics Version" id="cmip.drv.003" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 24 <rowAttribute label="label" title="Record Label"/> 25 <rowAttribute label="title" title="Record Title"/> 26 26 <rowAttribute label="description"/> 27 <rowAttribute label="u uid"/>27 <rowAttribute label="uid"/> 28 28 </table> 29 <table label="initialisationmethod" title="Initialisation Method" id="cmip.drv.004" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes">30 <rowAttribute label="label" />31 <rowAttribute label="title" />29 <table label="initialisationmethod" uid="SECTION:initialisationmethod" title="Initialisation Method" id="cmip.drv.004" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 30 <rowAttribute label="label" title="Record Label"/> 31 <rowAttribute label="title" title="Record Title"/> 32 32 <rowAttribute label="description"/> 33 <rowAttribute label="u uid"/>33 <rowAttribute label="uid"/> 34 34 </table> 35 <table label="modelComp" title="Model Components" id="cmip.drv.005" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes">36 <rowAttribute label="label" />37 <rowAttribute label="title" />35 <table label="modelComp" uid="SECTION:modelComp" title="Model Components" id="cmip.drv.005" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 36 <rowAttribute label="label" title="Record Label"/> 37 <rowAttribute label="title" title="Record Title"/> 38 38 <rowAttribute label="componentType"/> 39 39 <rowAttribute label="sizeH"/> 40 40 <rowAttribute label="sizeV"/> 41 <rowAttribute label="u uid"/>41 <rowAttribute label="uid"/> 42 42 </table> 43 <table label="activity" title="Coordinating activity" id="cmip.drv.006" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes">44 <rowAttribute label="label" />45 <rowAttribute label="title" />43 <table label="activity" uid="SECTION:activity" title="Coordinating activity" id="cmip.drv.006" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 44 <rowAttribute label="label" title="Record Label"/> 45 <rowAttribute label="title" title="Record Title"/> 46 46 <rowAttribute label="url"/> 47 47 <rowAttribute label="status" title="Status and role within the CMIP6 process"/> 48 <rowAttribute label="u uid"/>48 <rowAttribute label="uid"/> 49 49 </table> 50 <table label="product" title="Data product" id="cmip.drv.007" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes">51 <rowAttribute label="label" />52 <rowAttribute label="title" />53 <rowAttribute label="u uid"/>50 <table label="product" uid="SECTION:product" title="Data product" id="cmip.drv.007" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 51 <rowAttribute label="label" title="Record Label"/> 52 <rowAttribute label="title" title="Record Title"/> 53 <rowAttribute label="uid"/> 54 54 </table> 55 <table label="experiment" title="Numerical Experiment" id="cmip.drv.008" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes">56 <rowAttribute label="label" />57 <rowAttribute label="title" />55 <table label="experiment" uid="SECTION:experiment" title="Numerical Experiment" id="cmip.drv.008" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 56 <rowAttribute label="label" title="Record Label"/> 57 <rowAttribute label="title" title="Record Title"/> 58 58 <rowAttribute label="altLabel"/> 59 59 <rowAttribute label="description"/> 60 60 <rowAttribute label="url"/> 61 61 <rowAttribute label="sponsor"/> 62 <rowAttribute label="u uid"/>62 <rowAttribute label="uid"/> 63 63 </table> 64 <table label="frequency" title="Temporal frequency of data values" id="cmip.drv.009" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes">65 <rowAttribute label="label" />66 <rowAttribute label="title" />64 <table label="frequency" uid="SECTION:frequency" title="Temporal frequency of data values" id="cmip.drv.009" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 65 <rowAttribute label="label" title="Record Label"/> 66 <rowAttribute label="title" title="Record Title"/> 67 67 <rowAttribute label="iso"/> 68 <rowAttribute label="u uid"/>68 <rowAttribute label="uid"/> 69 69 </table> 70 <table label="realm" title="Modeling realm" id="cmip.drv.010" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes">71 <rowAttribute label="label" />72 <rowAttribute label="title" />73 <rowAttribute label="u uid"/>70 <table label="realm" uid="SECTION:realm" title="Modeling realm" id="cmip.drv.010" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 71 <rowAttribute label="label" title="Record Label"/> 72 <rowAttribute label="title" title="Record Title"/> 73 <rowAttribute label="uid"/> 74 74 </table> 75 <table label="grid" title="Native grid" id="cmip.drv.011" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes">76 <rowAttribute label="label" />77 <rowAttribute label="title" />78 <rowAttribute label="u uid"/>75 <table label="grid" uid="SECTION:grid" title="Native grid" id="cmip.drv.011" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 76 <rowAttribute label="label" title="Record Label"/> 77 <rowAttribute label="title" title="Record Title"/> 78 <rowAttribute label="uid"/> 79 79 </table> 80 <table label="dimensions" title="MIP table variable dimensions" id="cmip.drv.012" itemLabelMode="an" level="0" maxOccurs="1" labUnique="Yes">81 <rowAttribute label="label" />82 <rowAttribute label="title" />80 <table label="dimensions" uid="SECTION:dimensions" title="MIP table variable dimensions" id="cmip.drv.012" itemLabelMode="an" level="0" maxOccurs="1" labUnique="Yes"> 81 <rowAttribute label="label" title="Record Label"/> 82 <rowAttribute label="title" title="Record Title"/> 83 83 <rowAttribute label="altLabel"/> 84 84 <rowAttribute label="sn"/> 85 85 <rowAttribute label="size" type="xs:integer"/> 86 <rowAttribute label="u uid"/>86 <rowAttribute label="uid"/> 87 87 </table> 88 <table label="forcings" title="Forcing" id="cmip.drv.013" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes">89 <rowAttribute label="label" />90 <rowAttribute label="title" />91 <rowAttribute label="u uid"/>88 <table label="forcings" uid="SECTION:forcings" title="Forcing" id="cmip.drv.013" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 89 <rowAttribute label="label" title="Record Label"/> 90 <rowAttribute label="title" title="Record Title"/> 91 <rowAttribute label="uid"/> 92 92 </table> 93 <table label="table" title="Data specification table" id="cmip.drv.014" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes">94 <rowAttribute label="label" />95 <rowAttribute label="title" />93 <table label="table" uid="SECTION:table" title="Data specification table" id="cmip.drv.014" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 94 <rowAttribute label="label" title="Record Label"/> 95 <rowAttribute label="title" title="Record Title"/> 96 96 <rowAttribute label="description"/> 97 97 <rowAttribute label="comment"/> 98 98 <rowAttribute label="frequency"/> 99 <rowAttribute label="u uid"/>99 <rowAttribute label="uid"/> 100 100 </table> 101 <table label="cref" title="Coordinate Reference" id="cmip.drv.015" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 101 <table label="cref" uid="SECTION:cref" title="Coordinate Reference" id="cmip.drv.015" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 102 <rowAttribute label="label" title="Record Label"/> 103 <rowAttribute label="title" title="Record Title"/> 102 104 <rowAttribute label="label"/> 103 <rowAttribute label="title"/> 104 <rowAttribute label="label"/> 105 <rowAttribute label="uuid"/> 105 <rowAttribute label="uid"/> 106 106 </table> 107 <table label="areaType" title="CMIP Area Type" id="cmip.drv.016" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes">108 <rowAttribute label="label" />109 <rowAttribute label="title" />107 <table label="areaType" uid="SECTION:areaType" title="CMIP Area Type" id="cmip.drv.016" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 108 <rowAttribute label="label" title="Record Label"/> 109 <rowAttribute label="title" title="Record Title"/> 110 110 <rowAttribute label="inCF"/> 111 <rowAttribute label="u uid"/>111 <rowAttribute label="uid"/> 112 112 </table> 113 <table label="timeSlice" title="Time slices used in data request" id="cmip.drv.017" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes">114 <rowAttribute label="label" />115 <rowAttribute label="title" />113 <table label="timeSlice" uid="SECTION:timeSlice" title="Time slices used in data request" id="cmip.drv.017" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 114 <rowAttribute label="label" title="Record Label"/> 115 <rowAttribute label="title" title="Record Title"/> 116 116 <rowAttribute label="type"/> 117 117 <rowAttribute label="specification"/> 118 <rowAttribute label="u uid"/>118 <rowAttribute label="uid"/> 119 119 </table> 120 <table label="modelFamily" title="Family of model" id="cmip.drv.018" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes">121 <rowAttribute label="label" />122 <rowAttribute label="title" />123 <rowAttribute label="u uid"/>120 <table label="modelFamily" uid="SECTION:modelFamily" title="Family of model" id="cmip.drv.018" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 121 <rowAttribute label="label" title="Record Label"/> 122 <rowAttribute label="title" title="Record Title"/> 123 <rowAttribute label="uid"/> 124 124 </table> 125 <table label="priority" title="Variable priority" id="cmip.drv.019" itemLabelMode="int" level="0" maxOccurs="1" labUnique="Yes">126 <rowAttribute label="label" />127 <rowAttribute label="title" />125 <table label="priority" uid="SECTION:priority" title="Variable priority" id="cmip.drv.019" itemLabelMode="int" level="0" maxOccurs="1" labUnique="Yes"> 126 <rowAttribute label="label" title="Record Label"/> 127 <rowAttribute label="title" title="Record Title"/> 128 128 <rowAttribute label="description"/> 129 <rowAttribute label="u uid"/>129 <rowAttribute label="uid"/> 130 130 </table> 131 <table label="qcLevel" title="Quality control level" id="cmip.drv.020" itemLabelMode="int" level="0" maxOccurs="1" labUnique="Yes">132 <rowAttribute label="label" />133 <rowAttribute label="title" />134 <rowAttribute label="u uid"/>131 <table label="qcLevel" uid="SECTION:qcLevel" title="Quality control level" id="cmip.drv.020" itemLabelMode="int" level="0" maxOccurs="1" labUnique="Yes"> 132 <rowAttribute label="label" title="Record Label"/> 133 <rowAttribute label="title" title="Record Title"/> 134 <rowAttribute label="uid"/> 135 135 </table> 136 <table label="complianceCode" title="Data specification compliance codes" id="cmip.drv.021" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes">137 <rowAttribute label="label" />138 <rowAttribute label="title" />139 <rowAttribute label="u uid"/>136 <table label="complianceCode" uid="SECTION:complianceCode" title="Data specification compliance codes" id="cmip.drv.021" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 137 <rowAttribute label="label" title="Record Label"/> 138 <rowAttribute label="title" title="Record Title"/> 139 <rowAttribute label="uid"/> 140 140 </table> 141 <table label="glossary" title="Glossary" id="cmip.drv.022" itemLabelMode="def" level="0" maxOccurs="1" labUnique="No">142 <rowAttribute label="label" />143 <rowAttribute label="title" />141 <table label="glossary" uid="SECTION:glossary" title="Glossary" id="cmip.drv.022" itemLabelMode="def" level="0" maxOccurs="1" labUnique="No"> 142 <rowAttribute label="label" title="Record Label"/> 143 <rowAttribute label="title" title="Record Title"/> 144 144 <rowAttribute label="fullName"/> 145 145 <rowAttribute label="description"/> 146 146 <rowAttribute label="url"/> 147 <rowAttribute label="u uid"/>147 <rowAttribute label="uid"/> 148 148 </table> 149 <table label="modelCompType" title="Model Component Types/Categories [redundant with *Native Grid*]" id="cmip.drv.023" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes">150 <rowAttribute label="label" />151 <rowAttribute label="title" />152 <rowAttribute label="u uid"/>149 <table label="modelCompType" uid="SECTION:modelCompType" title="Model Component Types/Categories [redundant with *Native Grid*]" id="cmip.drv.023" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 150 <rowAttribute label="label" title="Record Label"/> 151 <rowAttribute label="title" title="Record Title"/> 152 <rowAttribute label="uid"/> 153 153 </table> 154 <table label="modelType" title="Class of model" id="cmip.drv.024" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes">155 <rowAttribute label="label" />156 <rowAttribute label="title" />157 <rowAttribute label="u uid"/>154 <table label="modelType" uid="SECTION:modelType" title="Class of model" id="cmip.drv.024" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 155 <rowAttribute label="label" title="Record Label"/> 156 <rowAttribute label="title" title="Record Title"/> 157 <rowAttribute label="uid"/> 158 158 </table> 159 <table label="index" title="Index of vocabularies" id="cmip.drv.025" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes">160 <rowAttribute label="label" />161 <rowAttribute label="title" />159 <table label="index" uid="SECTION:index" title="Index of vocabularies" id="cmip.drv.025" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 160 <rowAttribute label="label" title="Record Label"/> 161 <rowAttribute label="title" title="Record Title"/> 162 162 <rowAttribute label="table"/> 163 163 <rowAttribute label="title"/> 164 164 <rowAttribute label="description"/> 165 <rowAttribute label="u uid"/>165 <rowAttribute label="uid"/> 166 166 </table> 167 <table label="cmorDimAttr" title="CMOR Dimension Attributes" id="cmip.drv.026" itemLabelMode="und" level="0" maxOccurs="1" labUnique="Yes">168 <rowAttribute label="label" />169 <rowAttribute label="title" />167 <table label="cmorDimAttr" uid="SECTION:cmorDimAttr" title="CMOR Dimension Attributes" id="cmip.drv.026" itemLabelMode="und" level="0" maxOccurs="1" labUnique="Yes"> 168 <rowAttribute label="label" title="Record Label"/> 169 <rowAttribute label="title" title="Record Title"/> 170 170 <rowAttribute label="description"/> 171 <rowAttribute label="u uid"/>171 <rowAttribute label="uid"/> 172 172 <rowAttribute label="CMORattr" title="Corresponding label in the CMOR MIP tables, if different"/> 173 173 </table> 174 <table label="processingOptions" title="Processing steps required" id="cmip.drv.027" itemLabelMode="an" level="0" maxOccurs="1" labUnique="Yes"> 175 <rowAttribute label="label"/> 174 <table label="processingOptions" uid="SECTION:processingOptions" title="Processing steps required" id="cmip.drv.027" itemLabelMode="an" level="0" maxOccurs="1" labUnique="Yes"> 175 <rowAttribute label="label" title="Record Label"/> 176 <rowAttribute label="title" title="Record Title"/> 177 <rowAttribute label="description"/> 178 <rowAttribute label="uid"/> 179 </table> 180 <table label="coordinateReference" uid="SECTION:coordinateReference" title="Processing steps required" id="cmip.drv.028" itemLabelMode="an" level="0" maxOccurs="1" labUnique="Yes"> 181 <rowAttribute label="label" title="Record Label"/> 182 <rowAttribute label="title" title="Record Title"/> 176 183 <rowAttribute label="title"/> 177 <rowAttribute label="description"/> 178 <rowAttribute label="uuid"/> 184 <rowAttribute label="ogc_wkt"/> 185 <rowAttribute label="url"/> 186 <rowAttribute label="uid"/> 179 187 </table> 180 188 </defDoc> -
CMIP6dreqbuild/trunk/src/framework/out/vocabSample.xml
r382 r397 1 1 <?xml version="1.0" ?> 2 < main2 <document 3 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 4 xsi:noNamespaceSchemaLocation="out/dreqSchema.xsd" 5 xmlns="uri:w3id.org:cmip6.dreq.dreq:a"> 6 <institute class="vocab" title="Institute" id="cmip.drv.001"> 5 xmlns:dc="http://purl.org/dc/elements/1.1/" 6 xmlns="urn:w3id.org:cmip6.dreq.dreq:a"> 7 <prologue> 8 <dc:title>Draft CMIP6 Data Request</dc:title> 9 <dc:creator>Martin Juckes</dc:creator> 10 <dc:date>2015-10-01</dc:date> 11 </prologue> 12 <main> 13 <institute uid="SECTION:institute" class="vocab" title="Institute" id="cmip.drv.001"> 7 14 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 8 <item id="001.001.001" label="example-01" title="dummy title string" url="dummyAt" isni="dummyAt" description="dummyAt" u uid="bc5512e4-5713-11e5-9f3f-ac72891c3257"/>15 <item id="001.001.001" label="example-01" title="dummy title string" url="dummyAt" isni="dummyAt" description="dummyAt" uid="c2c0d4a2-6838-11e5-b0d3-5404a60d96b5"/> 9 16 </institute> 10 <model class="vocab" title="Model" id="cmip.drv.002">17 <model uid="SECTION:model" class="vocab" title="Model" id="cmip.drv.002"> 11 18 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 12 <item id="001.002.001" label="example-01" title="dummy title string" description="dummyAt" url="dummyAt" altUrl="dummyAt" source="dummyAt" u uid="bc5554fc-5713-11e5-9f3f-ac72891c3257"/>19 <item id="001.002.001" label="example-01" title="dummy title string" description="dummyAt" url="dummyAt" altUrl="dummyAt" source="dummyAt" uid="c2c11778-6838-11e5-b0d3-5404a60d96b5"/> 13 20 </model> 14 <physicsvers class="vocab" title="Physics Version" id="cmip.drv.003">21 <physicsvers uid="SECTION:physicsvers" class="vocab" title="Physics Version" id="cmip.drv.003"> 15 22 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 16 <item id="001.003.001" label="example-01" title="dummy title string" description="dummyAt" u uid="bc55925a-5713-11e5-9f3f-ac72891c3257"/>23 <item id="001.003.001" label="example-01" title="dummy title string" description="dummyAt" uid="c2c151e8-6838-11e5-b0d3-5404a60d96b5"/> 17 24 </physicsvers> 18 <initialisationmethod class="vocab" title="Initialisation Method" id="cmip.drv.004">25 <initialisationmethod uid="SECTION:initialisationmethod" class="vocab" title="Initialisation Method" id="cmip.drv.004"> 19 26 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 20 <item id="001.004.001" label="example-01" title="dummy title string" description="dummyAt" u uid="bc55cf72-5713-11e5-9f3f-ac72891c3257"/>27 <item id="001.004.001" label="example-01" title="dummy title string" description="dummyAt" uid="c2c18a82-6838-11e5-b0d3-5404a60d96b5"/> 21 28 </initialisationmethod> 22 <modelComp class="vocab" title="Model Components" id="cmip.drv.005">29 <modelComp uid="SECTION:modelComp" class="vocab" title="Model Components" id="cmip.drv.005"> 23 30 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 24 <item id="001.005.001" label="example-01" title="dummy title string" componentType="dummyAt" sizeH="dummyAt" sizeV="dummyAt" u uid="bc561144-5713-11e5-9f3f-ac72891c3257"/>31 <item id="001.005.001" label="example-01" title="dummy title string" componentType="dummyAt" sizeH="dummyAt" sizeV="dummyAt" uid="c2c1c4a2-6838-11e5-b0d3-5404a60d96b5"/> 25 32 </modelComp> 26 <activity class="vocab" title="Coordinating activity" id="cmip.drv.006">33 <activity uid="SECTION:activity" class="vocab" title="Coordinating activity" id="cmip.drv.006"> 27 34 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 28 <item id="001.006.001" label="example-01" title="dummy title string" url="dummyAt" status="dummyAt" u uid="bc562030-5713-11e5-9f3f-ac72891c3257"/>35 <item id="001.006.001" label="example-01" title="dummy title string" url="dummyAt" status="dummyAt" uid="c2c1cee8-6838-11e5-b0d3-5404a60d96b5"/> 29 36 </activity> 30 <product class="vocab" title="Data product" id="cmip.drv.007">37 <product uid="SECTION:product" class="vocab" title="Data product" id="cmip.drv.007"> 31 38 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 32 <item id="001.007.001" label="example-01" title="dummy title string" u uid="bc56251c-5713-11e5-9f3f-ac72891c3257"/>39 <item id="001.007.001" label="example-01" title="dummy title string" uid="c2c1d262-6838-11e5-b0d3-5404a60d96b5"/> 33 40 </product> 34 <experiment class="vocab" title="Numerical Experiment" id="cmip.drv.008">41 <experiment uid="SECTION:experiment" class="vocab" title="Numerical Experiment" id="cmip.drv.008"> 35 42 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 36 <item id="001.008.001" label="example-01" title="dummy title string" altLabel="dummyAt" description="dummyAt" url="dummyAt" sponsor="dummyAt" u uid="bc562cb0-5713-11e5-9f3f-ac72891c3257"/>43 <item id="001.008.001" label="example-01" title="dummy title string" altLabel="dummyAt" description="dummyAt" url="dummyAt" sponsor="dummyAt" uid="c2c1d744-6838-11e5-b0d3-5404a60d96b5"/> 37 44 </experiment> 38 <frequency class="vocab" title="Temporal frequency of data values" id="cmip.drv.009">45 <frequency uid="SECTION:frequency" class="vocab" title="Temporal frequency of data values" id="cmip.drv.009"> 39 46 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 40 <item id="001.009.001" label="example-01" title="dummy title string" iso="dummyAt" u uid="bc563340-5713-11e5-9f3f-ac72891c3257"/>47 <item id="001.009.001" label="example-01" title="dummy title string" iso="dummyAt" uid="c2c1daf0-6838-11e5-b0d3-5404a60d96b5"/> 41 48 </frequency> 42 <realm class="vocab" title="Modeling realm" id="cmip.drv.010">49 <realm uid="SECTION:realm" class="vocab" title="Modeling realm" id="cmip.drv.010"> 43 50 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 44 <item id="001.010.001" label="example-01" title="dummy title string" u uid="bc5637f0-5713-11e5-9f3f-ac72891c3257"/>51 <item id="001.010.001" label="example-01" title="dummy title string" uid="c2c1de06-6838-11e5-b0d3-5404a60d96b5"/> 45 52 </realm> 46 <grid class="vocab" title="Native grid" id="cmip.drv.011">53 <grid uid="SECTION:grid" class="vocab" title="Native grid" id="cmip.drv.011"> 47 54 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 48 <item id="001.011.001" label="example-01" title="dummy title string" u uid="bc563ca0-5713-11e5-9f3f-ac72891c3257"/>55 <item id="001.011.001" label="example-01" title="dummy title string" uid="c2c1e0fe-6838-11e5-b0d3-5404a60d96b5"/> 49 56 </grid> 50 <dimensions class="vocab" title="MIP table variable dimensions" id="cmip.drv.012">57 <dimensions uid="SECTION:dimensions" class="vocab" title="MIP table variable dimensions" id="cmip.drv.012"> 51 58 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 52 <item id="001.012.001" label="example01" title="dummy title string" altLabel="dummyAt" sn="dummyAt" size="25" u uid="bc564394-5713-11e5-9f3f-ac72891c3257"/>59 <item id="001.012.001" label="example01" title="dummy title string" altLabel="dummyAt" sn="dummyAt" size="25" uid="c2c1e54a-6838-11e5-b0d3-5404a60d96b5"/> 53 60 </dimensions> 54 <forcings class="vocab" title="Forcing" id="cmip.drv.013">61 <forcings uid="SECTION:forcings" class="vocab" title="Forcing" id="cmip.drv.013"> 55 62 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 56 <item id="001.013.001" label="example-01" title="dummy title string" u uid="bc564844-5713-11e5-9f3f-ac72891c3257"/>63 <item id="001.013.001" label="example-01" title="dummy title string" uid="c2c1e95a-6838-11e5-b0d3-5404a60d96b5"/> 57 64 </forcings> 58 <table class="vocab" title="Data specification table" id="cmip.drv.014">65 <table uid="SECTION:table" class="vocab" title="Data specification table" id="cmip.drv.014"> 59 66 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 60 <item id="001.014.001" label="example-01" title="dummy title string" description="dummyAt" comment="dummyAt" frequency="dummyAt" u uid="bc564f06-5713-11e5-9f3f-ac72891c3257"/>67 <item id="001.014.001" label="example-01" title="dummy title string" description="dummyAt" comment="dummyAt" frequency="dummyAt" uid="c2c1ed7e-6838-11e5-b0d3-5404a60d96b5"/> 61 68 </table> 62 <cref class="vocab" title="Coordinate Reference" id="cmip.drv.015">69 <cref uid="SECTION:cref" class="vocab" title="Coordinate Reference" id="cmip.drv.015"> 63 70 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 64 <item id="001.015.001" label="example-01" title="dummy title string" u uid="bc5655a0-5713-11e5-9f3f-ac72891c3257"/>71 <item id="001.015.001" label="example-01" title="dummy title string" uid="c2c1f0c6-6838-11e5-b0d3-5404a60d96b5"/> 65 72 </cref> 66 <areaType class="vocab" title="CMIP Area Type" id="cmip.drv.016">73 <areaType uid="SECTION:areaType" class="vocab" title="CMIP Area Type" id="cmip.drv.016"> 67 74 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 68 <item id="001.016.001" label="example-01" title="dummy title string" inCF="dummyAt" u uid="bc565b04-5713-11e5-9f3f-ac72891c3257"/>75 <item id="001.016.001" label="example-01" title="dummy title string" inCF="dummyAt" uid="c2c1f422-6838-11e5-b0d3-5404a60d96b5"/> 69 76 </areaType> 70 <timeSlice class="vocab" title="Time slices used in data request" id="cmip.drv.017">77 <timeSlice uid="SECTION:timeSlice" class="vocab" title="Time slices used in data request" id="cmip.drv.017"> 71 78 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 72 <item id="001.017.001" label="example-01" title="dummy title string" type="dummyAt" specification="dummyAt" u uid="bc566112-5713-11e5-9f3f-ac72891c3257"/>79 <item id="001.017.001" label="example-01" title="dummy title string" type="dummyAt" specification="dummyAt" uid="c2c1f7d8-6838-11e5-b0d3-5404a60d96b5"/> 73 80 </timeSlice> 74 <modelFamily class="vocab" title="Family of model" id="cmip.drv.018">81 <modelFamily uid="SECTION:modelFamily" class="vocab" title="Family of model" id="cmip.drv.018"> 75 82 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 76 <item id="001.018.001" label="example-01" title="dummy title string" u uid="bc566702-5713-11e5-9f3f-ac72891c3257"/>83 <item id="001.018.001" label="example-01" title="dummy title string" uid="c2c1fac6-6838-11e5-b0d3-5404a60d96b5"/> 77 84 </modelFamily> 78 <priority class="vocab" title="Variable priority" id="cmip.drv.019">85 <priority uid="SECTION:priority" class="vocab" title="Variable priority" id="cmip.drv.019"> 79 86 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 80 <item id="001.019.001" label="1" title="dummy title string" description="dummyAt" u uid="bc566c7a-5713-11e5-9f3f-ac72891c3257"/>87 <item id="001.019.001" label="1" title="dummy title string" description="dummyAt" uid="c2c1fe18-6838-11e5-b0d3-5404a60d96b5"/> 81 88 </priority> 82 <qcLevel class="vocab" title="Quality control level" id="cmip.drv.020">89 <qcLevel uid="SECTION:qcLevel" class="vocab" title="Quality control level" id="cmip.drv.020"> 83 90 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 84 <item id="001.020.001" label="1" title="dummy title string" u uid="bc56712a-5713-11e5-9f3f-ac72891c3257"/>91 <item id="001.020.001" label="1" title="dummy title string" uid="c2c200fc-6838-11e5-b0d3-5404a60d96b5"/> 85 92 </qcLevel> 86 <complianceCode class="vocab" title="Data specification compliance codes" id="cmip.drv.021">93 <complianceCode uid="SECTION:complianceCode" class="vocab" title="Data specification compliance codes" id="cmip.drv.021"> 87 94 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 88 <item id="001.021.001" label="example-01" title="dummy title string" u uid="bc5675c6-5713-11e5-9f3f-ac72891c3257"/>95 <item id="001.021.001" label="example-01" title="dummy title string" uid="c2c203e0-6838-11e5-b0d3-5404a60d96b5"/> 89 96 </complianceCode> 90 <glossary class="vocab" title="Glossary" id="cmip.drv.022">97 <glossary uid="SECTION:glossary" class="vocab" title="Glossary" id="cmip.drv.022"> 91 98 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 92 <item id="001.022.001" label="example-01" title="dummy title string" fullName="dummyAt" description="dummyAt" url="dummyAt" u uid="bc567c7e-5713-11e5-9f3f-ac72891c3257"/>99 <item id="001.022.001" label="example-01" title="dummy title string" fullName="dummyAt" description="dummyAt" url="dummyAt" uid="c2c207e6-6838-11e5-b0d3-5404a60d96b5"/> 93 100 </glossary> 94 <modelCompType class="vocab" title="Model Component Types/Categories [redundant with *Native Grid*]" id="cmip.drv.023">101 <modelCompType uid="SECTION:modelCompType" class="vocab" title="Model Component Types/Categories [redundant with *Native Grid*]" id="cmip.drv.023"> 95 102 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 96 <item id="001.023.001" label="example-01" title="dummy title string" u uid="bc568138-5713-11e5-9f3f-ac72891c3257"/>103 <item id="001.023.001" label="example-01" title="dummy title string" uid="c2c20ade-6838-11e5-b0d3-5404a60d96b5"/> 97 104 </modelCompType> 98 <modelType class="vocab" title="Class of model" id="cmip.drv.024">105 <modelType uid="SECTION:modelType" class="vocab" title="Class of model" id="cmip.drv.024"> 99 106 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 100 <item id="001.024.001" label="example-01" title="dummy title string" u uid="bc5685d4-5713-11e5-9f3f-ac72891c3257"/>107 <item id="001.024.001" label="example-01" title="dummy title string" uid="c2c20dae-6838-11e5-b0d3-5404a60d96b5"/> 101 108 </modelType> 102 <index class="vocab" title="Index of vocabularies" id="cmip.drv.025">109 <index uid="SECTION:index" class="vocab" title="Index of vocabularies" id="cmip.drv.025"> 103 110 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 104 <item id="001.025.001" label="example-01" title="dummy title string" table="dummyAt" description="dummyAt" u uid="bc568c46-5713-11e5-9f3f-ac72891c3257"/>111 <item id="001.025.001" label="example-01" title="dummy title string" table="dummyAt" description="dummyAt" uid="c2c21182-6838-11e5-b0d3-5404a60d96b5"/> 105 112 </index> 106 <cmorDimAttr class="vocab" title="CMOR Dimension Attributes" id="cmip.drv.026">113 <cmorDimAttr uid="SECTION:cmorDimAttr" class="vocab" title="CMOR Dimension Attributes" id="cmip.drv.026"> 107 114 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 108 <item id="001.026.001" label="example_03" title="dummy title string" description="dummyAt" u uid="bc5692a4-5713-11e5-9f3f-ac72891c3257" CMORattr="dummyAt"/>115 <item id="001.026.001" label="example_03" title="dummy title string" description="dummyAt" uid="c2c215d8-6838-11e5-b0d3-5404a60d96b5" CMORattr="dummyAt"/> 109 116 </cmorDimAttr> 110 <processingOptions class="vocab" title="Processing steps required" id="cmip.drv.027">117 <processingOptions uid="SECTION:processingOptions" class="vocab" title="Processing steps required" id="cmip.drv.027"> 111 118 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 112 <item id="001.027.001" label="example01" title="dummy title string" description="dummyAt" u uid="bc5697fe-5713-11e5-9f3f-ac72891c3257"/>119 <item id="001.027.001" label="example01" title="dummy title string" description="dummyAt" uid="c2c2192a-6838-11e5-b0d3-5404a60d96b5"/> 113 120 </processingOptions> 121 <coordinateReference uid="SECTION:coordinateReference" class="vocab" title="Processing steps required" id="cmip.drv.028"> 122 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 123 <item id="001.028.001" label="example01" title="dummy title string" ogc_wkt="dummyAt" url="dummyAt" uid="c2c21d30-6838-11e5-b0d3-5404a60d96b5"/> 124 </coordinateReference> 114 125 </main> 126 </document> -
CMIP6dreqbuild/trunk/src/framework/ptxt.py
r393 r397 9 9 ''' 10 10 import string, re, collections, sys, uuid 11 import time, datetime 11 12 12 13 if len(sys.argv) == 1: 13 14 print __doc__ 14 15 exit() 16 17 t = time.gmtime() 18 d = datetime.date(t.tm_year, t.tm_mon, t.tm_mday) 19 20 ## 21 ## for definitions of dublin core elements see: 22 ## see http://dublincore.org/documents/usageguide/elements.shtml 23 ## 24 samplePrologue="""<prologue> 25 <dc:title>Draft CMIP6 Data Request</dc:title> 26 <dc:creator>Martin Juckes</dc:creator> 27 <dc:date>%s</dc:date> 28 </prologue> 29 """ % d.isoformat() 15 30 16 31 args = sys.argv[1:] … … 223 238 oo = open( 'out/%s.xml' % fn, 'w' ) 224 239 if mode in [ 'samp','updsamp']: 225 mainEl = " main"240 mainEl = "document" 226 241 mainElCont = ''' 227 242 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 228 243 xsi:noNamespaceSchemaLocation="out/dreqSchema.xsd" 229 xmlns="uri:w3id.org:cmip6.dreq.dreq:a"''' 244 xmlns:dc="http://purl.org/dc/elements/1.1/" 245 xmlns="urn:w3id.org:cmip6.dreq.dreq:a"''' 230 246 else: 231 247 mainEl = "defDoc" 232 248 mainElCont = ''' 233 249 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 234 xmlns="ur i:w3id.org:cmip6.dreq.framework:a"250 xmlns="urn:w3id.org:cmip6.dreq.framework:a" 235 251 xsi:schemaLocation="http://w3id.org/cmip6dr/ns vocabFrameworkSchema_v01beta.xsd"''' 236 252 … … 243 259 - updProv {Proposer of update}''' 244 260 261 if mode in [ 'samp','updsamp']: 262 oo.write( '%s<main>\n' % samplePrologue ) 245 263 counter = collections.defaultdict(int) 246 264 for l in ii: … … 257 275 258 276 this.tmpl(oo=oo,mode=mode) 277 if mode in [ 'samp','updsamp']: 278 oo.write( '</main>\n' ) 259 279 oo.write( '</%s>\n' % mainEl ) 260 280 oo.close() -
CMIP6dreqbuild/trunk/src/framework/scanDreq.py
r393 r397 29 29 ee1 = collections.defaultdict( list ) 30 30 for k,i in iref_by_uid[thisuid]: 31 thisi = uid[i] [1]31 thisi = uid[i] 32 32 sect = thisi._h.label 33 33 if sect == 'groupItem': … … 79 79 self.ddel[ l1[8] ] = (l1[10],l1[11]) 80 80 self.ddel[ l2[8] ] = (l2[10],l2[11]) 81 elif xx[1] == '' and yy[1] == "": 82 print 'WARN.087.00001: uncorrected duplication ..... %s ' % str( l1[:5] ) 81 83 else: 82 84 ths = -1 … … 112 114 ### the results of the 2nd pass go back to ../workbook to generate a new set of inputs. 113 115 ### 114 up = updates('varDup_20150 724.csv', 'varMult_20150725.csv')115 ##up.scandup()116 up = updates('varDup_20150928.csv', 'varMult_20150725.csv') 117 up.scandup() 116 118 up.scanmult() 117 119 120 urep = False 118 121 urep = True 119 urep = False120 122 if urep: 121 123 oo = open( 'uuidreplace.csv', 'w' ) … … 125 127 kn = up.repl[k] 126 128 for tag,ki in inx.iref_by_uid[k]: 127 try:128 oo.write( '%s\t%s\t%s\t%s\t%s\t%s\t%s\n' % (k,kn,tag,ki, inx.uid[k][1].label, inx.uid[kn][1].label, inx.uid[ki][1].label) )129 except:130 print k,kn,ki131 raise129 vu = [ inx.uid.has_key(kk) for kk in [k,kn,ki] ] 130 if all( vu ): 131 oo.write( '%s\t%s\t%s\t%s\t%s\t%s\t%s\n' % (k,kn,tag,ki, inx.uid[k].label, inx.uid[kn].label, inx.uid[ki].label) ) 132 else: 133 print 'ERROR.088.0001: Bad index in replace info: %s .. %s .. %s' % ( str([k,kn,ki]), str(vu), tag ) 132 134 else: 133 135 oo2.write( k + '\n' ) … … 173 175 if inx.var.label.has_key( i.label ): 174 176 if len( inx.var.label[i.label] ) == 1: 175 v = inx.uid[ inx.var.label[i.label][0] ] [1]177 v = inx.uid[ inx.var.label[i.label][0] ] 176 178 oo.write( string.join( ['unique',i.label,v.label,v.uid,v.prov,i.mip], '\t' ) + '\n' ) 177 179 else: … … 200 202 if all(cc): 201 203 ### where duplicates are identical , collect and output at end of file. 202 deferredRecs.append( string.join(map( lambda x: v1.__dict__[x], hs) + [v2.uid,'identical'], '\t' ) + '\n' ) 203 deferredRecs.append( string.join(map( lambda x: v2.__dict__[x], hs) + ['',''], '\t' ) + '\n' ) 204 pv1 = string.find( v1.__dict__['prov'], 'OMIP.' ) != -1 205 pv2 = string.find( v2.__dict__['prov'], 'OMIP.' ) != -1 206 if pv2: 207 vp = v2 208 vo = v1 209 else: 210 if not pv1: 211 print 'WARN.088.00002: no preference: %s, %s, %s' % (v1.__dict__['label'],v1.__dict__['prov'],v2.__dict__['prov']) 212 vp = v1 213 vo = v2 214 deferredRecs.append( string.join(map( lambda x: vo.__dict__[x], hs) + [vp.uid,'identical'], '\t' ) + '\n' ) 215 deferredRecs.append( string.join(map( lambda x: vp.__dict__[x], hs) + ['',''], '\t' ) + '\n' ) 204 216 else: 205 217 oo2.write( string.join(map( lambda x: v1.__dict__[x], hs) + ['',''], '\t' ) + '\n' ) … … 515 527 tn = str( len( mrefs[k] ) ) 516 528 for t in mrefs[k]: 517 s = self.dreq.inx.uid[t[2]] [1]._h.label529 s = self.dreq.inx.uid[t[2]]._h.label 518 530 ee['%s.%s' % (s,t[1])] += 1 519 531 if len( ee.keys() ) == 1: -
CMIP6dreqbuild/trunk/src/framework/scope.py
r393 r397 1 """Date Request Scoping module 2 --------------------------- 3 The scope.py module contains the dreqQuery class and a set of ancilliary functions. The dreqQuery class contains methods for analysing the data request. 4 """ 1 5 import dreq 2 6 import collections, string … … 15 19 16 20 nt_mcfg = collections.namedtuple( 'mcfg', ['nho','nlo','nha','nla','nlas','nls','nh1'] ) 21 22 def filter1( a, b ): 23 if b < 0: 24 return a 25 else: 26 return min( [a,b] ) 17 27 18 28 npy = {'daily':365, u'Annual':1, u'fx':0.01, u'1hr':24*365, u'3hr':8*365, u'monClim':12, u'Timestep':100, u'6hr':4*365, u'day':365, u'1day':365, u'mon':12, u'yr':1, u'1mon':12, 'month':12, 'year':1, 'monthly':12, 'hr':24*365, 'other':24*365, 'subhr':24*365, 'Day':365, '6h':4*365, … … 22 32 def vol01( sz, v, npy, freq, inx ): 23 33 n1 = npy[freq] 24 s = sz[inx.uid[v] [1].stid]34 s = sz[inx.uid[v].stid] 25 35 assert type(s) == type(1), 'Non-integer size found for %s' % v 26 36 assert type(n1) in (type(1),type(0.)), 'Non-number "npy" found for %s, [%s]' % (v,freq) … … 36 46 37 47 class dreqQuery(object): 48 __doc__ = """Methods to analyse the data request, including data volume estimates""" 38 49 def __init__(self,dq=None): 39 50 if dq == None: … … 55 66 self.mcfg[k] = self.default_mcfg.__dict__[k] 56 67 self.szcfg() 68 self.requestItemExpAll( ) 57 69 58 70 def szcfg(self): … … 105 117 elif type(mipSel) == type({1,2}): 106 118 t1 = lambda x: x in mipSel 107 self.rqs = list({self.dq.inx.uid[i.rid] [1]for i in self.dq.coll['objectiveLink'].items if t1(i.label) })119 self.rqs = list({self.dq.inx.uid[i.rid] for i in self.dq.coll['objectiveLink'].items if t1(i.label) }) 108 120 return self.rqs 109 121 … … 115 127 t1 = lambda x: x in {self.rlu[i] for i in objSel} 116 128 117 self.rqs = list({self.dq.inx.uid[i.rid] [1]for i in self.dq.coll['objectiveLink'].items if t1(i.oid) })129 self.rqs = list({self.dq.inx.uid[i.rid] for i in self.dq.coll['objectiveLink'].items if t1(i.oid) }) 118 130 return self.rqs 119 131 … … 128 140 return self.ntot 129 141 130 def volByExpt( self, l1, ex, pmax=2, cc=None ):142 def volByExpt( self, l1, ex, exptList, pmax=2, cc=None ): 131 143 """volByExpt: calculates the total data volume associated with an experiment/experiment group and a list of request items. 132 144 The calculation has some approximations concerning the number of years in each experiment group.""" … … 135 147 ## 136 148 inx = self.dq.inx 137 rql = {i.rlid for i in l1 if i.expt == ex} 149 ## 150 ## rql is the set of all request links which are associated with a request item for this experiment set 151 ## 152 rql0 = {i.rlid for i in l1 if i.esid == ex} 153 rqlInv = {u for u in rql0 if inx.uid[u]._h.label == 'remarks' } 154 if len(rqlInv) != 0: 155 print 'WARNING.001.00002: %s invalid request links from request items ...' % len(rqlInv) 156 rql = {u for u in rql0 if inx.uid[u]._h.label != 'remarks' } 138 157 139 158 ## The complete set of variables associated with these requests: 140 rqvg = list({inx.uid[i] [1].refid for i in rql})159 rqvg = list({inx.uid[i].refid for i in rql}) 141 160 142 161 ###To obtain a set of variables associated with this collection of variable groups: … … 144 163 x = {tuple( {col1.add(i) for i in inx.iref_by_sect[vg].a['requestVar']} ) for vg in rqvg} 145 164 ###The collector col1 here accumulates all the record uids, resulting in a single collection. These are request variables, to get a set of CMOR variables at priority <= pmax: 146 vars = {inx.uid[l] [1].vid for l in list(col1) if inx.uid[l][1].priority <= pmax}165 vars = {inx.uid[l].vid for l in list(col1) if inx.uid[l].priority <= pmax} 147 166 148 167 ### filter out cases where the request does not point to a CMOR variable. 149 168 ##vars = {vid for vid in vars if inx.uid[vid][0] == u'CMORvar'} 150 vars = {vid for vid in vars if inx.uid[vid] [1]._h.label == u'CMORvar'}169 vars = {vid for vid in vars if inx.uid[vid]._h.label == u'CMORvar'} 151 170 152 171 e = {} 153 172 for u in rql: 154 173 ### for request variables which reference the variable group attached to the link, add the associate CMOR variables, subject to priority 155 i = inx.uid[u][1] 156 e[i.uid] = { inx.uid[x][1].vid for x in inx.iref_by_sect[i.refid].a['requestVar'] if inx.uid[x][1].priority <= pmax} 157 174 i = inx.uid[u] 175 e[i.uid] = { inx.uid[x].vid for x in inx.iref_by_sect[i.refid].a['requestVar'] if inx.uid[x].priority <= pmax} 158 176 # 159 177 # for each variable, calculate the maximum number of years across all the request links which reference that variable. 160 # 178 ## 179 ## for each request item we have nymax, nenmax, nexmax. 180 ## 161 181 nym = {} 162 182 for v in vars: 163 183 ### for each request item, check if v is in the set of variables and then add the number of years. 164 nym[v] = max( { i.ny for i in l1 if i.expt== ex and v in e[i.rlid]} )184 nym[v] = max( {self.rqiExp[i.uid][2] for i in l1 if i.esid == ex and v in e[i.rlid]} ) 165 185 166 186 szv = {} 167 187 ov = [] 168 188 for v in vars: 169 szv[v] = self.sz[inx.uid[v] [1].stid]*npy[inx.uid[v][1].frequency]170 ov.append( self.dq.inx.uid[v] [1])171 ee = self.listIndexDual( ov, 'frequency', ' mipTable', acount=None, alist=None, cdict=szv, cc=cc )172 self.ngptot = sum( [ self.sz[inx.uid[v] [1].stid]* npy[inx.uid[v][1].frequency] *nym[v] for v in vars] )189 szv[v] = self.sz[inx.uid[v].stid]*npy[inx.uid[v].frequency] 190 ov.append( self.dq.inx.uid[v] ) 191 ee = self.listIndexDual( ov, 'frequency', 'label', acount=None, alist=None, cdict=szv, cc=cc ) 192 self.ngptot = sum( [ self.sz[inx.uid[v].stid]* npy[inx.uid[v].frequency] *nym[v] for v in vars] ) 173 193 return (self.ngptot, ee ) 194 195 def esid_to_exptList(self,esid,deref=False): 196 if not self.dq.inx.uid.has_key(esid): 197 print 'Attempt to dereferece invalid uid: %s' % esid 198 raise 199 200 if self.dq.inx.uid[esid]._h.label == 'experiment': 201 expts = [esid,] 202 elif self.dq.inx.uid[esid]._h.label != 'remarks': 203 if self.dq.inx.iref_by_sect.has_key(esid) and self.dq.inx.iref_by_sect[esid].a.has_key( 'experiment' ): 204 expts = self.dq.inx.iref_by_sect[esid].a['experiment'] 205 else: 206 expts = [] 207 else: 208 print 'WARNING: request link not associated with valid experiment group' 209 raise 210 211 if deref: 212 return [self.dq.inx.uid[e] for e in expts] 213 else: 214 return expts 215 216 ## 217 ## need to call this on load 218 ## then use instead of i.ny etc below 219 ## 220 def requestItemExpAll( self ): 221 self.rqiExp = {} 222 for rqi in self.dq.coll['requestItem'].items: 223 a,b,c = self.requestItemExp( rqi ) 224 self.rqiExp[rqi.uid] = (a,b,c) 225 226 def requestItemExp( self, rqi ): 227 assert rqi._h.label == "requestItem", 'Argument to requestItemExp must be a requestItem' 228 u = rqi.esid 229 if self.dq.inx.uid[u]._h.label == 'experiment': 230 expts = [u,] 231 elif self.dq.inx.uid[u]._h.label != 'remarks': 232 if self.dq.inx.iref_by_sect.has_key(u) and self.dq.inx.iref_by_sect[u].a.has_key( 'experiment' ): 233 expts = self.dq.inx.iref_by_sect[u].a['experiment'] 234 else: 235 expts = [] 236 else: 237 print 'WARNING: request link not associated with valid experiment group' 238 i.__info__() 239 raise 240 241 if len(expts) > 0: 242 e = [self.dq.inx.uid[i] for i in expts] 243 dat = [ (i.ntot, i.yps, i.ensz, i.nstart, filter1(i.yps,rqi.nymax), filter1(i.ensz,rqi.nenmax) ) for i in e] 244 245 nytot = sum( [x[-2]*x[-1] for x in dat ] ) 246 return (expts, dat, nytot ) 247 174 248 175 249 def summaryByMip( self, pmax=1 ): … … 195 269 196 270 #### The set of experiments/experiment groups: 197 exps = {i.e xptfor i in l1}271 exps = {i.esid for i in l1} 198 272 self.volByE = {} 199 273 vtot = 0 200 274 cc = collections.defaultdict( col_count ) 201 275 for e in exps: 202 self.volByE[e] = self.volByExpt( l1, e, pmax=pmax, cc=cc ) 276 expts = self.esid_to_exptList(e,deref=True) 277 self.volByE[e] = self.volByExpt( l1, e, expts, pmax=pmax, cc=cc ) 203 278 vtot += self.volByE[e][0] 204 279 self.indexedVol = cc -
CMIP6dreqbuild/trunk/src/workbook/importShDreq.py
r384 r397 12 12 import collections, string, re 13 13 from utils_wb import uniCleanFunc 14 import ivg 14 15 15 16 class s1(object): … … 73 74 'objective':rq.objec, 'var':rq.vars,'ovar':rq.refti, 'groupitem':rq.grps, \ 74 75 'revisedtabitem':rq.revti, 'requestlink':rq.rqli, 'requestitem':rq.rqit, \ 75 'requestvargroup':rq.rqvg, 'tablesection':rq.rqsect }76 'requestvargroup':rq.rqvg, 'tablesection':rq.rqsect, 'requestvar':rq.revti} 76 77 77 78 self.prep(rq) … … 98 99 'deflate', 'valid_min', 'flag_values', 'modeling_realm', 'valid_max', 'positive', 'mipTable', \ 99 100 'prov', 'provNote', 'frequency', 'rowIndex', 'coordinates') 101 self.rqvinfo = ('uuid','label','vid','gpid','priority','mip','table' ) 100 102 ### request variables 101 103 self.rqv = [] … … 103 105 thissh = self.skey[ksect] 104 106 if ksect == 'ovar': 107 setu1 = set() 105 108 tab2freq = {u'CMIP5_cfOff':'subhr', u'CORDEX_mon':'mon', u'SPECS_day':'day', u'CMIP5_day':'day', \ 106 109 u'PMIP3_OImon':'mon', u'CORDEX_day':'day', u'CMIP5_LImon':'mon', u'CMIP5_OImon':'mon', \ … … 128 131 rr[id] = 'scalar' 129 132 tt = thisnt._make( rr ) 133 if tt.uuid in setu1: 134 print 'ERROR.099.0002: duplicate uuid: %s: %s' % (uuid,str(rr)) 135 setu1.add(tt.uuid) 130 136 ov.append( tt ) 131 137 dset.add( ov[-1].dimensions ) … … 139 145 fr = tab2freq[rr[22]] 140 146 141 self.cmv.append( (tt.uuid, (tt.dimensions,tt.cell_methods,tt.cell_measures), tt.var, tt.title, tt.comment, tt.vid, \ 147 if tt.mipTable[:5] == 'OMIP': 148 prov = 'CMIP6 [OMIP]' 149 elif string.find( tt.mipTable, '_' ) != -1: 150 prov = '%s [%s]' % tuple( string.split( tt.mipTable, '_' ) ) 151 if tt.var[:5] == 'ccmi_': 152 pass 153 else: 154 lab = tt.var 155 if lab in {'*','include Oyr 3D tracers'}: 156 lab = '-copy-' 157 self.cmv.append( (tt.uuid, (tt.dimensions,tt.cell_methods,tt.cell_measures), lab, tt.title, tt.comment, tt.vid, \ 142 158 tt.deflate_level, tt.shuffle, tt.ok_max_mean_abs, tt.flag_meanings, tt.type, tt.ok_min_mean_abs, \ 143 159 tt.deflate, tt.valid_min, tt.flag_values, tt.modeling_realm, tt.valid_max, tt.positive, tt.mipTable, \ 144 '', '', fr, tt.rowIndex, '') ) 145 self.rqv.append( (str( uuid.uuid1() ),'%s-%s' % (tt.mipTable,tt.var), tt.uuid, tt.gpid, tt.priority) ) 160 prov, '', fr, tt.rowIndex, '') ) 161 self.rqv.append( (str( uuid.uuid1() ),lab, tt.uuid, tt.gpid, tt.priority,tt.mipTable,tt.mipTable) ) 162 ##self.rqvinfo = ('uuid','label','vid','gpid','priority','mip','table' ) 146 163 self.dsort( dset ) 147 164 print self.dsortdd[ksect][0].keys() … … 158 175 varsets = [] 159 176 nov = 0 160 for k in thissh: 177 setu = set() 178 for k in thissh.keys(): 161 179 if k[0] != '_': 162 180 rr = thissh[k][:] … … 164 182 ## split variable, create 2nd record at 23 levels. 165 183 ## 184 if rr[iu] in setu: 185 print 'ERROR.099.0001: duplicate uuid in varGroups ... %s:: %s' % (uuid,str(rr)) 186 if rr[iu] in setu1: 187 print 'ERROR.099.0003: duplicate uuid in varGroups/ovar ... %s:: %s' % (uuid,str(rr)) 188 setu.add(rr[iu]) 166 189 if rr[il] in {u'17 (or 23 )', u'17 (or 23)', u'17 (or23)'}: 167 190 rr0 = rr + [rr[1] + '23',] … … 177 200 rr0[il] = 27 178 201 rr0[iu] = str( uuid.uuid1() ) 202 tt = thisnt._make( rr0 ) 179 203 gi.append( tt ) 180 204 rr[il] = 'all' … … 202 226 smdd[s] = d1[ dsn.get( s,s ) ] 203 227 228 setu = set() 204 229 for tt in gi: 205 230 gr = 'a' … … 210 235 ### need to check where variables are, perhaps, refering to "ovar" 211 236 ##kk = ['group', 'var', 'table', 'freq', 'descriptionEx', 'shape', 'levels', 'tstyle', 'mask', 'misc', 'mip', 'uuid', 'new', 'gpid', 'vkey', 'vid'] 237 prov = '%s [%s]' % (tt.mip,tt.group) 238 provNote = '' 239 lab = tt.var 240 if lab in {'*','include Oyr 3D tracers'}: 241 lab = '-copy-' 242 elif lab == 'wap (omega)': 243 lab = 'wap' 244 provNote = 'wap (omega)' 245 lab = string.replace( string.strip(lab), '_', '-' ) 246 if tt.uuid in setu: 247 print 'SEVERE[1]: duplicate uuid: ',tt.__dict__ 248 setu.add( tt.uuid ) 212 249 if ovuu.has_key(tt.vid): 213 250 tt1 = ovuu[tt.vid] 214 self.cmv.append( (tt.uuid, (tt.shape,tt.levels,tt.tstyle,gr,smdd[tt.mask]), tt.var, 'from %s' % tt.table, tt.descriptionEx, tt1.vid, \251 self.cmv.append( (tt.uuid, (tt.shape,tt.levels,tt.tstyle,gr,smdd[tt.mask]), lab, 'from %s' % tt.table, tt.descriptionEx, tt1.vid, \ 215 252 tt1.deflate_level, tt1.shuffle, tt1.ok_max_mean_abs, tt1.flag_meanings, tt1.type, tt1.ok_min_mean_abs, \ 216 253 tt1.deflate, tt1.valid_min, tt1.flag_values, tt1.modeling_realm, tt1.valid_max, tt1.positive, 'n%s' % tt.freq, \ 217 '', '', tt.freq, '', '') )218 self.rqv.append( (str( uuid.uuid1() ), '%s-%s' % (tt.group,tt.var), tt.uuid, tt.gpid, tt1.priority) )254 prov, provNote, tt.freq, -1, '') ) 255 self.rqv.append( (str( uuid.uuid1() ),lab, tt.uuid, tt.gpid, tt1.priority, tt.mip, tt.group) ) 219 256 nov += 1 220 257 else: 221 self.cmv.append( (tt.uuid, (tt.shape,tt.levels,tt.tstyle,gr,smdd[tt.mask]), tt.var, 'from %s' % tt.table, tt.descriptionEx, tt.vid, \258 self.cmv.append( (tt.uuid, (tt.shape,tt.levels,tt.tstyle,gr,smdd[tt.mask]), lab, 'from %s' % tt.table, tt.descriptionEx, tt.vid, \ 222 259 0, 0, 0, 0, '', 0, \ 223 260 0,0,0, '', 0, '', 'n%s' % tt.freq, \ 224 '', '', tt.freq, '', '') )225 self.rqv.append( (str( uuid.uuid1() ), '%s-%s' % (tt.group,tt.var), tt.uuid, tt.gpid, 1) )261 prov, provNote, tt.freq, -1, '') ) 262 self.rqv.append( (str( uuid.uuid1() ),lab, tt.uuid, tt.gpid, 1, tt.mip, tt.group) ) 226 263 ## Variables marked with shape '?' from PMIP are actually defined by OMIP .... 227 264 if tt.shape == '?': … … 260 297 u = str( uuid.uuid1() ) 261 298 kk+=1 262 lab = 'ssd .%3.3i' % kk299 lab = 'ssd-%3.3i' % kk 263 300 description = 'ssd.%3.3i' % kk 264 301 esd[s] = (u,lab,description,d,lfl,nl) … … 272 309 eshp = set() 273 310 ll = [] 274 nt_dims = collections.namedtuple( 'dims', ['uuid','label','spid','tmid',' cell_methods','cell_measures','description','procNote','prov'] )311 nt_dims = collections.namedtuple( 'dims', ['uuid','label','spid','tmid','odims','coords','cell_methods','cell_measures','description','procNote','prov'] ) 275 312 kk = 0 276 313 strdd = {} … … 283 320 tmid = etd[tdim][0] 284 321 kk += 1 285 label = 'str .%3.3i' % kk322 label = 'str-%3.3i' % kk 286 323 proc = '' 287 prov = 'CMIP5 ,OMIP'324 prov = 'CMIP5/OMIP' 288 325 desc = '' 289 326 strdd[(dims,cmet,cmea)] = u 290 ll.append( nt_dims._make( [u,label,spid,tmid, cmet, cmea, desc, proc, prov] ) )327 ll.append( nt_dims._make( [u,label,spid,tmid, odim, crd, cmet, cmea, desc, proc, prov] ) ) 291 328 292 329 ttt = [ {u'Instantaneous (end of year)', 'instantaneous', 'point', 'Synoptic', u'synoptic', u'time: point'}, … … 296 333 t = (shp,lvls,sty,gr) 297 334 tdim, tt = self.dsort_u1( self.dsortdd['groupitem'][0][t], self.dsortdd['groupitem'][1] ) 335 d1,odim,d2,crd = self.dsortdd['groupitem'][0][t] 336 print 'INFO.099: ',d1,odim,d2,crd 298 337 tflm, msk = tmsk 299 338 sdim,lfl,nl = tt … … 311 350 cmet += ' ' + msk 312 351 kk += 1 313 label = 'str .%3.3i' % kk352 label = 'str-%3.3i' % kk 314 353 proc = '' 315 354 prov = 'CMIP5, endorsed MIPs' 316 355 desc = '' 317 356 strdd[(shp,lvls,sty,gr,tmsk)] = u 318 ll.append( nt_dims._make( [u,label,spid,tmid, cmet, cmea, desc, proc, prov] ) )357 ll.append( nt_dims._make( [u,label,spid,tmid, odim, crd, cmet, cmea, desc, proc, prov] ) ) 319 358 320 359 self.structList = ll … … 322 361 oo = open( 'test.csv', 'w' ) 323 362 for l in ll: 324 oo.write( '%s,%s,%s,%s,%s,%s,%s,%s,%s, \n' % l )363 oo.write( '%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,\n' % l ) 325 364 oo.close() 326 365 … … 334 373 nl = 0 335 374 elif nl == -2: 336 nl = 0 375 nl = 1 376 pass 337 377 return (tdim, (sdim,lfl,nl) ) 338 378 … … 341 381 """Sort the dimensions string into spatial, temporal and other sections, 342 382 returns a dictionary of tuples: spatial dimensions, other, temporal, coords and a 2nd, keyyed on spatial dimensions with a level count indicator. """ 343 vdims = {'plev 3':3,'plev8':8,'alt40':40,'alevhalf':-1,'olevel':-1,'rho':-1,'sdepth':-1,'alevel':-1}383 vdims = {'plev7':7, 'plev':4, 'plevs':17, 'plev3':3,'plev8':8,'alt40':40,'alev1':1, 'alevhalf':-1,'olevel':-1,'rho':-1,'sdepth':-1,'alevel':-1} 344 384 odims = {'sza5','vegtype','scatratio','dbze','typepdec','vgidx','tau'} 345 385 dl = sorted( list(dset) ) … … 389 429 bits = string.split( s, '|' ) 390 430 nl = -2 431 thisb = None 391 432 for b in bits: 392 433 if vdims.has_key(b): 393 434 assert nl == -2, 'Duplicate vertical level count in %s' % s 394 435 nl = vdims[b] 436 thisb = b 395 437 lcount[s] = nl 438 if nl == -1 and s == 'latitude|basin': 439 print 'SEVERE: error in level deduction' 440 print s, bits, nl, thisb 441 raise 396 442 else: 397 443 ## input is a set of tuples, shape, levels, tstyle, o/a … … 410 456 ## 'K'?? 'XYK' 411 457 dd = {'XKT':('latitude|basin','','time','',False), \ 412 'XYZKT':('l atitude|longitude|%s','effectRad','time','',True), \413 'XYZT':('l atitude|longitude|%s','','time','',True), \458 'XYZKT':('longitude|latitude|%s','effectRad','time','',True), \ 459 'XYZT':('longitude|latitude|%s','','time','',True), \ 414 460 'KZT':('alevel','spectband','time','',False), \ 415 'XYT':('l atitude|longitude','','time','',False), \416 'XYKT':('l atitude|longitude','angle','time','',False), \461 'XYT':('longitude|latitude','','time','',False), \ 462 'XYKT':('longitude|latitude','angle','time','',False), \ 417 463 'YZT':('longitude|%s','','time','',True), \ 418 'XYK':('l atitude|longitude','snowband','time','',False), \464 'XYK':('longitude|latitude','snowband','time','',False), \ 419 465 'K':('sistraits','','time','',False), \ 420 466 'scalar':('','','time','',False), \ … … 486 532 else: 487 533 sc = tt[0] 488 if string.find( sc, 'alevel' ) != -1 or string.find( sc, 'olevel'):534 if (string.find( sc, 'alevel' ) != -1) or (string.find( sc, 'olevel' ) != -1): 489 535 n = -1 490 536 else: 491 537 n = -2 492 538 lcount[sc] = n 539 if n == -1 and sc == 'latitude|basin': 540 print 'SEVERE [2]: error in level deduction' 541 print sc, tt[0], tt[-1], n 542 raise 493 543 eed[d] = (sc,tt[1],ttdd[d[2]],tt[3]) 494 544 self.dsortdd[mode] = (eed,lcount) … … 496 546 def run(self,rq): 497 547 498 main = self.doc.childNodes[0] 548 xx = self.doc.getElementsByTagName( 'main' ) 549 assert len(xx) == 1, 'Expecting one element named "main", found %s' % len(xx) 550 main = xx[0] 499 551 xsn = [] 500 552 ff = {} … … 514 566 self.ff = ff 515 567 516 addex = False 517 exrqvg = {} 518 if addex: 568 569 addex = True 570 self.prqv = ivg.prepRequestVar(addex) 571 self.prqv.run() 572 ##exrqvg = {} 573 ##if addex: 519 574 ### 520 extravg = [['OMIP', u'OMIP-Oyr', u'OMIP: OMIP-Oyr', 'CMIP5Rev', u'OMIP.Oyr'],521 ['OMIP', u'OMIP-Omon', u'OMIP: OMIP-Omon', 'CMIP5Rev', u'OMIP.Omon'],522 ['OMIP', u'OMIP-day', u'OMIP: OMIP-day', 'CMIP5Rev', u'OMIP.day'],523 ['OMIP', u'OMIP-fx', u'OMIP: OMIP-fx', 'CMIP5Rev', u'OMIP.fx'] ]524 for r in extravg:525 thisuuid = str( uuid.uuid1() )526 exrqvg[thisuuid] = [thisuuid ,] + r[:]575 ##extravg = [['OMIP', u'OMIP-Oyr', u'OMIP: OMIP-Oyr', 'CMIP5Rev', u'OMIP.Oyr'], 576 ##['OMIP', u'OMIP-Omon', u'OMIP: OMIP-Omon', 'CMIP5Rev', u'OMIP.Omon'], 577 ##['OMIP', u'OMIP-day', u'OMIP: OMIP-day', 'CMIP5Rev', u'OMIP.day'], 578 ##['OMIP', u'OMIP-fx', u'OMIP: OMIP-fx', 'CMIP5Rev', u'OMIP.fx'] ] 579 ##for r in extravg: 580 ##thisuuid = str( uuid.uuid1() ) 581 ##exrqvg[thisuuid] = [thisuuid ,] + r[:] 527 582 528 self.eern = collections.defaultdict( list )529 self.eern2 = {}530 ixrn = 5531 dups = []532 ## for k in rq.rqvg.keys():533 ## if k[0] != '_':534 for i,k in [ (rq.rqvg[k],k) for k in rq.rqvg.keys() if k[0] != '_'] + [(exrqvg[k],k) for k in exrqvg.keys()]:535 kk = ['uid', 'mip', 'tab', 'objective', 'grid', 'gridreq', 'comment', 'ref', 'refNote', 'refid']536 kk = ['uuid', 'mip', 'label', 'title', 'ref', 'refNote']583 ##self.eern = collections.defaultdict( list ) 584 ##self.eern2 = {} 585 ##ixrn = 5 586 ##dups = [] 587 ####for k in rq.rqvg.keys(): 588 ####if k[0] != '_': 589 ##for i,k in [ (rq.rqvg[k],k) for k in rq.rqvg.keys() if k[0] != '_'] + [(exrqvg[k],k) for k in exrqvg.keys()]: 590 ##kk = ['uid', 'mip', 'tab', 'objective', 'grid', 'gridreq', 'comment', 'ref', 'refNote', 'refid'] 591 ##kk = ['uuid', 'mip', 'label', 'title', 'ref', 'refNote'] 537 592 ##i = rq.rqvg[k] 538 593 539 self.eern[i[ixrn]].append( i[0] )540 k2 = '%s__%s' % (i[ixrn-1],i[ixrn])541 if self.eern2.has_key( k2 ):542 dups.append( (k2,k,self.eern2[k2]) )543 self.eern2[k2] = i[0]544 assert i[0] == k, 'Bad key/uuid'545 546 assert len( dups ) == 0, 'Duplicate refs: %s, %s' % (str(dups),str(map( lambda x: rq.rqvg[x[1]], dups )) )594 ##self.eern[i[ixrn]].append( i[0] ) 595 ##k2 = '%s__%s' % (i[ixrn-1],i[ixrn]) 596 ##if self.eern2.has_key( k2 ): 597 ##dups.append( (k2,k,self.eern2[k2]) ) 598 ##self.eern2[k2] = i[0] 599 ##assert i[0] == k, 'Bad key/uuid' 600 601 ##assert len( dups ) == 0, 'Duplicate refs: %s, %s' % (str(dups),str(map( lambda x: rq.rqvg[x[1]], dups )) ) 547 602 548 603 ## keys here match section element names in schema … … 550 605 if self.schemaMode != 'dreq2': 551 606 sectlist = ['ovar','groupitem','revisedtabitem'] + sectlist 607 else: 608 sectlist.append( 'requestvar' ) 552 609 553 610 for k in sectlist: … … 561 618 idk = 0 562 619 if len(lll) > 0: 563 dil = ff[k][0].getElementsByTagName('item') 564 for d in dil: 565 ff[k][0].removeChild(d) 620 ## 621 ## remove example items, xcept where this has been done in previous function 622 ## 623 if k not in ['xxxx']: 624 dil = ff[k][0].getElementsByTagName('item') 625 for d in dil: 626 ff[k][0].removeChild(d) 627 566 628 vare = {} 567 629 vare2 = {} … … 608 670 ##- sn; units; description; procnote; procComment; prov 609 671 ##['label', 'title', 'sn', 'units', 'description', 'procnote', 'procComment', 'prov'] 610 thisl = string. strip(str( ll[0] ))672 thisl = string.replace(string.strip(str( ll[0] ) ), '_', '-' ) 611 673 thisuuid = str(i) 612 674 if not ( self.replItems.has_key( str(i) ) or self.remo.has_key(str(i)) ): … … 701 763 item.setAttribute( tag, new ) 702 764 ################################## 703 elif k == 'revisedtabitem':765 elif k in ['revisedtabitem','requestvar']: 704 766 #### need to fill gaps in variable groups --- or do better job upstream ########## !!!!!!!!!!!!!!!! 705 767 ## - table; mip; uuid; priority … … 709 771 ## 710 772 kk = ['var', 'table', 'mip', 'vid', 'priority'] 711 kvg = 'CMIP5Rev__%s.%s' % ( ll[2],ll[1] ) 712 kvg3 = 'rev__%s.%s' % ( ll[2],ll[1] ) 713 if self.eern2.has_key(kvg): 714 vgid = self.eern2[kvg] 715 elif self.eern2.has_key(kvg3): 716 vgid = self.eern2[kvg3] 717 elif cmip5GrpLk[ll[1]].has_key(ll[0]): 718 g2 = cmip5GrpLk[ll[1]][ll[0]] 719 kvg2 = 'CMIP5Rev__%s.%s' % ( ll[2],g2 ) 720 if self.eern2.has_key(kvg2): 721 vgid = self.eern2[kvg2] 722 else: 723 vgid = '__vg_not_found_1__' 724 self.err0010[kvg] += 1 725 else: 726 vgid = '__vg_not_found_2__' 727 self.err0010[kvg] += 1 773 ##self.rqvinfo = ('uuid','label','vid','gpid','priority','mip','table' ) 774 vgid = self.prqv.rqv_vg[ll[0]] 775 ##kvg = 'CMIP5Rev__%s.%s' % ( ll[2],ll[1] ) 776 ##kvg3 = 'rev__%s.%s' % ( ll[2],ll[1] ) 777 ##if self.eern2.has_key(kvg): 778 ##vgid = self.eern2[kvg] 779 ##elif self.eern2.has_key(kvg3): 780 ##vgid = self.eern2[kvg3] 781 ##elif cmip5GrpLk[ll[1]].has_key(ll[0]): 782 ##g2 = cmip5GrpLk[ll[1]][ll[0]] 783 ##kvg2 = 'CMIP5Rev__%s.%s' % ( ll[2],g2 ) 784 ##if self.eern2.has_key(kvg2): 785 ##vgid = self.eern2[kvg2] 786 ##else: 787 ##vgid = '__vg_not_found_1__' 788 ##self.err0010[kvg] += 1 789 ##else: 790 ##vgid = '__vg_not_found_2__' 791 ##self.err0010[kvg] += 1 728 792 thisuuid = str( uuid.uuid1() ) 729 793 thisl = string.strip(str( ll[0] ) ) … … 817 881 def write2(self): 818 882 """write sections for cmor variable, request variable, structure, spatial and temporal dimensions""" 819 for ksect in [ u'cmorvar', u'spatialshape', u'temporalshape', u'structure', 'requestvar']: 883 for ksect in [ u'cmorvar', u'spatialshape', u'temporalshape', u'structure', u'requestvar']: 884 ##for ksect in [ u'cmorvar', u'spatialshape', u'temporalshape', u'structure']: 820 885 dil = self.ff[ksect][0].getElementsByTagName('item') 821 for d in dil: 822 self.ff[ksect][0].removeChild(d) 886 if ksect != 'requestvar': 887 for d in dil: 888 self.ff[ksect][0].removeChild(d) 823 889 if ksect == u'cmorvar': 824 890 for r in self.cmv: … … 853 919 item.setAttribute( self.dimsTimeInfo[i], str( rr[i] ) ) 854 920 self.ff[ksect][0].appendChild( item ) 921 elif ksect == u'requestvar': 922 ##kk = ['var', 'table', 'mip', 'vid', 'priority'] 923 kk = ['label', 'table', 'mip', 'vid', 'priority','vgid','title','uuid'] 924 kktr = {'vgid':'gpid', 'title':'label'} 925 ##self.rqvinfo = ('uuid','label','vid','gpid','priority','mip','table' ) 926 for t in self.rqv: 927 item = self.doc.createElement( 'item' ) 928 ###assert len(t) == len(kk), 'BAD request variable line: %s' % str(t) 929 for i in range(len(kk)): 930 k = kktr.get( kk[i], kk[i] ) 931 v = t[ self.rqvinfo.index(k) ] 932 if k == 'priority': 933 item.setAttribute( kk[i], str( int(v) ) ) 934 else: 935 item.setAttribute( kk[i], str( v ) ) 936 self.ff[ksect][0].appendChild( item ) 937 855 938 ##self.dimsTimeInfo = ['uuid','label','title','dimensions'] 856 939 ##self.dimsSpaceInfo = ['uuid','label','title','dimensions','levelFlag','levels'] … … 939 1022 mode = 'dreq2' 940 1023 sampleXml = '../framework/out/%sSample.xml' % mode 941 cmip5GrpLk = collections.defaultdict( dict )942 1024 from scansh import rq 943 1025 944 for k in rq.cmip5Grps.keys(): 945 bits = string.split(k,'_') 946 tab = bits[0] 947 for v in rq.cmip5Grps[k]: 948 cmip5GrpLk[tab][v] = k 1026 ##cmip5GrpLk = collections.defaultdict( dict ) 1027 ##for k in rq.cmip5Grps.keys(): 1028 ##bits = string.split(k,'_') 1029 ##tab = bits[0] 1030 ##for v in rq.cmip5Grps[k]: 1031 ##cmip5GrpLk[tab][v] = k 949 1032 950 1033 m = main(sampleXml, rq,run=True, schemaMode=mode) 951 1034 952 1035 if len(m.err0010.keys()) > 0: 953 ks = m. err0010.keys()1036 ks = m.prqv.err0010.keys() 954 1037 ks.sort() 955 1038 for k in ks: 956 print 'ERROR.001.0010: variable group not identified: %s [%s]' % (k,m.err0010[k]) 1039 print 'ERROR.001.0010: variable group not identified: %s [%s]' % (k,m.prqv.err0010[k]) 1040 ks = m.prqv.err0020.keys() 1041 ks.sort() 1042 for k in ks: 1043 print 'ERROR.001.0020: variable group not identified: %s [%s]' % (k,m.prqv.err0020[k]) -
CMIP6dreqbuild/trunk/src/workbook/trial.xml
r370 r397 1 1 <?xml version="1.0" ?> 2 <document xmlns="urn:w3id.org:cmip6.dreq.dreq:a" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="out/dreqSchema.xsd"> 3 <prologue> 4 <dc:title>Draft CMIP6 Data Request</dc:title> 5 <dc:creator>Martin Juckes</dc:creator> 6 <dc:date>2015-10-01</dc:date> 7 </prologue> 2 8 <main> 3 <institute class="vocab" id="cmip.drv.001" title="Institute" >4 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 5 <item description="Met Office Hadley Centre, Fitzroy Road, Exeter, Devon, EX1 3PB, UK." id="tmpid.0001" isni="0000 0001 2299 303X [UKMO]" label="MOHC" title="MOHC" url="http://www.metoffice.gov.uk; http://www.metoffice.gov.uk/climate-guide/science/science-behind-climate-change/hadley" uuid="675210ac-3a81-11e5-9ed5-ac72891c3257"/>6 <item description="Institut Pierre Simon Laplace, Paris, France" id="tmpid.0002" isni="0000 0000 9000 8794" label="IPSL" title="IPSL" url="https://www.ipsl.fr/en/" uuid="675214f8-3a81-11e5-9ed5-ac72891c3257"/>7 <item description="Centre National de Recherches Meteorologiques, Meteo-France, Toulouse, France) and CERFACS (Centre Europeen de Recherches et de Formation Avancee en Calcul Scientifique, Toulouse, France" id="tmpid.0003" isni="0000 0004 0640 7549 " label="CNRM-CERFACS" title="CNRM-CERFACS" url="http://www.cerfacs.fr/" uuid="6752196c-3a81-11e5-9ed5-ac72891c3257"/>8 <item description="Norwegian Climate Centre" id="tmpid.0004" isni="" label="NCC" title="NCC" url="http://folk.uib.no/ngfhd/EarthClim/index.htm" uuid="67521da4-3a81-11e5-9ed5-ac72891c3257"/>9 <item description="Australian Commonwealth Scientific and Industrial Research Organization (CSIRO) Marine and Atmospheric Research (Melbourne, Australia) in collaboration with the Queensland Climate Change Centre of Excellence (QCCCE) (Brisbane, Australia)" id="tmpid.0005" isni="0000 0001 2173 2719 ; 0000 0004 0380 0628 [Queensland Government]" label="CSIRO-QCCCE" title="CSIRO-QCCCE" url="www.csiro.au ; http://www.ehp.qld.gov.au/climatechange/index.html " uuid="675221e6-3a81-11e5-9ed5-ac72891c3257"/>10 <item description="Canadian Centre for Climate Modelling and Analysis, Victoria, BC, Canada" id="tmpid.0006" isni="" label="CCCma" title="CCCma" url="" uuid="675229e8-3a81-11e5-9ed5-ac72891c3257"/>11 <item description="Institute for Numerical Mathematics, Moscow, Russia" id="tmpid.0007" isni="" label="INM" title="INM" url="" uuid="67522e20-3a81-11e5-9ed5-ac72891c3257"/>12 <item description="Meteorological Research Institute, Tsukuba, Japan" id="tmpid.0008" isni="" label="MRI" title="MRI" url="" uuid="67523258-3a81-11e5-9ed5-ac72891c3257"/>13 <item description="AORI (Atmosphere and Ocean Research Institute, The University of Tokyo, Chiba, Japan), NIES (National Institute for Environmental Studies, Ibaraki, Japan), JAMSTEC (Japan Agency for Marine-Earth Science and Technology, Kanagawa, Japan)" id="tmpid.0009" isni="" label="MIROC" title="MIROC" url="" uuid="67523672-3a81-11e5-9ed5-ac72891c3257"/>14 <item description="JAMSTEC (Japan Agency for Marine-Earth Science and Technology, Kanagawa, Japan), AORI (Atmosphere and Ocean Research Institute, The University of Tokyo, Chiba, Japan), and NIES (National Institute for Environmental Studies, Ibaraki, Japan)" id="tmpid.0010" isni="" label="MIROC" title="MIROC" url="" uuid="67523aaa-3a81-11e5-9ed5-ac72891c3257"/>15 <item description="Goddard Institute for Space Studies, New York, NY" id="tmpid.0011" isni=" " label="NASA-GISS" title="NASA-GISS" url="" uuid="67523ece-3a81-11e5-9ed5-ac72891c3257"/>16 <item description="National Center for Atmospheric Research, Boulder, CO, USA" id="tmpid.0012" isni="0000 0004 0637 9680 " label="NCAR" title="NCAR" url=" " uuid="675242de-3a81-11e5-9ed5-ac72891c3257"/>17 <item description="NOAA GFDL, 201 Forrestal Rd, Princeton, NJ, 08540" id="tmpid.0013" isni="0000 0000 9269 5516 " label="NOAA-GFDL" title="NOAA-GFDL" url=" " uuid="675246f8-3a81-11e5-9ed5-ac72891c3257"/>18 <item description="Beijing Climate Center,China Meteorological Administration,China" id="tmpid.0014" isni="0000 0001 2234 550X [CMA]" label="BCC" title="BCC" url="" uuid="67524b26-3a81-11e5-9ed5-ac72891c3257"/>19 <item description="Max Planck Institute for Meteorology" id="tmpid.0015" isni="" label="MPI-M" title="MPI-M" url="" uuid="67524f5e-3a81-11e5-9ed5-ac72891c3257"/>20 <item description="Institute of Atmospheric Physics, Chinese Academy of Sciences, Beijing, China and Tsinghua University" id="tmpid.0016" isni="" label="LASG-CESS" title="LASG-CESS" url="" uuid="67525382-3a81-11e5-9ed5-ac72891c3257"/>21 <item description="Global Modeling and Assimilation Office, NASA Goddard Space Flight Center, Greenbelt, MD 20771" id="tmpid.0017" isni=" " label="NASA-GMAO" title="NASA-GMAO" url="" uuid="67525788-3a81-11e5-9ed5-ac72891c3257"/>22 <item description="GCESS,BNU,Beijing,China " id="tmpid.0018" isni="" label="BNU" title="BNU" url="" uuid="67525ba2-3a81-11e5-9ed5-ac72891c3257"/>23 <item description="National Center for Atmospheric Research, Boulder, CO, USA" id="tmpid.0019" isni="" label="NSF-DOE-NCAR" title="NSF-DOE-NCAR" url="" uuid="67525f80-3a81-11e5-9ed5-ac72891c3257"/>24 <item description="PNNL (Pacific Northwest National Laboratory) Richland, WA, USA/NCAR (National Center for Atmospheric Research) Boulder, CO, USA" id="tmpid.0020" isni="" label="NSF-DOE-NCAR" title="NSF-DOE-NCAR" url="" uuid="67526372-3a81-11e5-9ed5-ac72891c3257"/>25 <item description="NSF/DOE NCAR (National Center for Atmospheric Research) Boulder, CO, USA" id="tmpid.0021" isni="" label="NSF-DOE-NCAR" title="NSF-DOE-NCAR" url="" uuid="67526ae8-3a81-11e5-9ed5-ac72891c3257"/>26 <item description="Commonwealth Scientific and Industrial Research Organisation, Australia, and Bureau of Meteorology, Australia" id="tmpid.0022" isni=" " label="CSIRO-BOM" title="CSIRO-BOM" url="" uuid="67526ef8-3a81-11e5-9ed5-ac72891c3257"/>27 <item description="Nonhydrostatic Icosahedral Atmospheric Model (NICAM) Group (RIGC-JAMSTEC/AORI-U.Tokyo/AICS-RIKEN,Japan)" id="tmpid.0023" isni="" label="NICAM" title="NICAM" url="" uuid="67527312-3a81-11e5-9ed5-ac72891c3257"/>28 <item description="Centro Euro-Mediterraneo per i Cambiamenti Climatici, Bologna, Italy" id="tmpid.0024" isni=" " label="CMCC" title="CMCC" url="" uuid="67527704-3a81-11e5-9ed5-ac72891c3257"/>29 <item description="The First Institution of Oceanography,SOA,Qingdao,China" id="tmpid.0025" isni="" label="FIO" title="FIO" url="" uuid="67527b32-3a81-11e5-9ed5-ac72891c3257"/>30 <item description="Institute of Atmospheric Physics, Chinese Academy of Sciences,Beijing,China" id="tmpid.0026" isni="" label="LASG-IAP" title="LASG-IAP" url="" uuid="67527f2e-3a81-11e5-9ed5-ac72891c3257"/>31 <item description="National Institute of Meteorological Research, Seoul, South Korea" id="tmpid.0027" isni="" label="NIMR-KMA" title="NIMR-KMA" url="" uuid="6752832a-3a81-11e5-9ed5-ac72891c3257"/>32 <item description="European Earth System Model" id="tmpid.0028" isni="" label="ICHEC" title="ICHEC" url="" uuid="67528712-3a81-11e5-9ed5-ac72891c3257"/>33 <item description="Center for Ocean-Land-Atmosphere Studies, Calverton, MD" id="tmpid.0029" isni="" label="COLA-CFS" title="COLA-CFS" url="" uuid="67528c80-3a81-11e5-9ed5-ac72891c3257"/>34 <item description="National Centers for Environmental Prediction, Camp Springs, MD" id="tmpid.0030" isni="" label="NOAA-NCEP" title="NOAA-NCEP" url="" uuid="67529090-3a81-11e5-9ed5-ac72891c3257"/>9 <institute class="vocab" id="cmip.drv.001" title="Institute" uid="SECTION:institute"> 10 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 11 <item description="Met Office Hadley Centre, Fitzroy Road, Exeter, Devon, EX1 3PB, UK." id="tmpid.0001" isni="0000 0001 2299 303X [UKMO]" label="MOHC" title="MOHC" url="http://www.metoffice.gov.uk; http://www.metoffice.gov.uk/climate-guide/science/science-behind-climate-change/hadley"/> 12 <item description="Institut Pierre Simon Laplace, Paris, France" id="tmpid.0002" isni="0000 0000 9000 8794" label="IPSL" title="IPSL" url="https://www.ipsl.fr/en/"/> 13 <item description="Centre National de Recherches Meteorologiques, Meteo-France, Toulouse, France) and CERFACS (Centre Europeen de Recherches et de Formation Avancee en Calcul Scientifique, Toulouse, France" id="tmpid.0003" isni="0000 0004 0640 7549 " label="CNRM-CERFACS" title="CNRM-CERFACS" url="http://www.cerfacs.fr/"/> 14 <item description="Norwegian Climate Centre" id="tmpid.0004" isni="" label="NCC" title="NCC" url="http://folk.uib.no/ngfhd/EarthClim/index.htm"/> 15 <item description="Australian Commonwealth Scientific and Industrial Research Organization (CSIRO) Marine and Atmospheric Research (Melbourne, Australia) in collaboration with the Queensland Climate Change Centre of Excellence (QCCCE) (Brisbane, Australia)" id="tmpid.0005" isni="0000 0001 2173 2719 ; 0000 0004 0380 0628 [Queensland Government]" label="CSIRO-QCCCE" title="CSIRO-QCCCE" url="www.csiro.au ; http://www.ehp.qld.gov.au/climatechange/index.html "/> 16 <item description="Canadian Centre for Climate Modelling and Analysis, Victoria, BC, Canada" id="tmpid.0006" isni="" label="CCCma" title="CCCma" url=""/> 17 <item description="Institute for Numerical Mathematics, Moscow, Russia" id="tmpid.0007" isni="" label="INM" title="INM" url=""/> 18 <item description="Meteorological Research Institute, Tsukuba, Japan" id="tmpid.0008" isni="" label="MRI" title="MRI" url=""/> 19 <item description="AORI (Atmosphere and Ocean Research Institute, The University of Tokyo, Chiba, Japan), NIES (National Institute for Environmental Studies, Ibaraki, Japan), JAMSTEC (Japan Agency for Marine-Earth Science and Technology, Kanagawa, Japan)" id="tmpid.0009" isni="" label="MIROC" title="MIROC" url=""/> 20 <item description="JAMSTEC (Japan Agency for Marine-Earth Science and Technology, Kanagawa, Japan), AORI (Atmosphere and Ocean Research Institute, The University of Tokyo, Chiba, Japan), and NIES (National Institute for Environmental Studies, Ibaraki, Japan)" id="tmpid.0010" isni="" label="MIROC" title="MIROC" url=""/> 21 <item description="Goddard Institute for Space Studies, New York, NY" id="tmpid.0011" isni="0000 0001 1456 7559 [NASA]" label="NASA-GISS" title="NASA-GISS" url="http://www.giss.nasa.gov/"/> 22 <item description="National Center for Atmospheric Research, Boulder, CO, USA" id="tmpid.0012" isni="0000 0004 0637 9680 " label="NCAR" title="NCAR" url="ncar.ucar.edu"/> 23 <item description="NOAA GFDL, 201 Forrestal Rd, Princeton, NJ, 08540" id="tmpid.0013" isni="0000 0000 9269 5516 " label="NOAA-GFDL" title="NOAA-GFDL" url="www.gfdl.noaa.gov"/> 24 <item description="Beijing Climate Center,China Meteorological Administration,China" id="tmpid.0014" isni="0000 0001 2234 550X [CMA]" label="BCC" title="BCC" url=""/> 25 <item description="Max Planck Institute for Meteorology" id="tmpid.0015" isni="" label="MPI-M" title="MPI-M" url=""/> 26 <item description="Institute of Atmospheric Physics, Chinese Academy of Sciences, Beijing, China and Tsinghua University" id="tmpid.0016" isni="" label="LASG-CESS" title="LASG-CESS" url=""/> 27 <item description="Global Modeling and Assimilation Office, NASA Goddard Space Flight Center, Greenbelt, MD 20771" id="tmpid.0017" isni="0000 0001 1456 7559 [NASA]" label="NASA-GMAO" title="NASA-GMAO" url=""/> 28 <item description="GCESS,BNU,Beijing,China (College of Global Change and Earth System Science, Beijing Normal University)" id="tmpid.0018" isni="" label="BNU" title="BNU" url=""/> 29 <item description="National Center for Atmospheric Research, Boulder, CO, USA" id="tmpid.0019" isni="" label="NSF-DOE-NCAR" title="NSF-DOE-NCAR" url=""/> 30 <item description="PNNL (Pacific Northwest National Laboratory) Richland, WA, USA/NCAR (National Center for Atmospheric Research) Boulder, CO, USA" id="tmpid.0020" isni="" label="NSF-DOE-NCAR" title="NSF-DOE-NCAR" url=""/> 31 <item description="NSF/DOE NCAR (National Center for Atmospheric Research) Boulder, CO, USA" id="tmpid.0021" isni="" label="NSF-DOE-NCAR" title="NSF-DOE-NCAR" url=""/> 32 <item description="Commonwealth Scientific and Industrial Research Organisation, Australia, and Bureau of Meteorology, Australia" id="tmpid.0022" isni="0000 0001 2173 2719 [CSIRO]; 0000 0004 0628 7751 [BOM]" label="CSIRO-BOM" title="CSIRO-BOM" url="www.csiro.au ; http://www.bom.gov.au/"/> 33 <item description="Nonhydrostatic Icosahedral Atmospheric Model (NICAM) Group (RIGC-JAMSTEC/AORI-U.Tokyo/AICS-RIKEN,Japan)" id="tmpid.0023" isni="" label="NICAM" title="NICAM" url=""/> 34 <item description="Centro Euro-Mediterraneo per i Cambiamenti Climatici, Bologna, Italy" id="tmpid.0024" isni="0000 0004 1761 0884" label="CMCC" title="CMCC" url="www.cmcc.it"/> 35 <item description="The First Institution of Oceanography,SOA,Qingdao,China" id="tmpid.0025" isni="" label="FIO" title="FIO" url=""/> 36 <item description="Institute of Atmospheric Physics, Chinese Academy of Sciences,Beijing,China" id="tmpid.0026" isni="" label="LASG-IAP" title="LASG-IAP" url=""/> 37 <item description="National Institute of Meteorological Research, Seoul, South Korea" id="tmpid.0027" isni="" label="NIMR-KMA" title="NIMR-KMA" url=""/> 38 <item description="European Earth System Model" id="tmpid.0028" isni="" label="ICHEC" title="ICHEC" url=""/> 39 <item description="Center for Ocean-Land-Atmosphere Studies, Calverton, MD" id="tmpid.0029" isni="" label="COLA-CFS" title="COLA-CFS" url=""/> 40 <item description="National Centers for Environmental Prediction, Camp Springs, MD" id="tmpid.0030" isni="" label="NOAA-NCEP" title="NOAA-NCEP" url=""/> 35 41 </institute> 36 <model class="vocab" id="cmip.drv.002" title="Model" >37 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 38 <item description="" id="tmpid.0001" label="ACCESS" title="" uuid="67548a94-3a81-11e5-9ed5-ac72891c3257"/>39 <item description="" id="tmpid.0002" label="AWI-CM" title="" uuid="67548e36-3a81-11e5-9ed5-ac72891c3257"/>40 <item description="" id="tmpid.0003" label="BCC" title="" uuid="6754921e-3a81-11e5-9ed5-ac72891c3257"/>41 <item description="" id="tmpid.0004" label="BESM" title="" uuid="6754964c-3a81-11e5-9ed5-ac72891c3257"/>42 <item description="" id="tmpid.0005" label="BNU" title="" uuid="67549a3e-3a81-11e5-9ed5-ac72891c3257"/>43 <item description="" id="tmpid.0006" label="CAMS-CSM" title="" uuid="67549de0-3a81-11e5-9ed5-ac72891c3257"/>44 <item description="" id="tmpid.0007" label="CanESM" title="" uuid="6754a1e6-3a81-11e5-9ed5-ac72891c3257"/>45 <item description="" id="tmpid.0008" label="CAS-ESM" title="" uuid="6754a56a-3a81-11e5-9ed5-ac72891c3257"/>46 <item description="" id="tmpid.0009" label="CESM" title="" uuid="6754a8c6-3a81-11e5-9ed5-ac72891c3257"/>47 <item description="" id="tmpid.0010" label="CESS-THU" title="" uuid="6754ac2c-3a81-11e5-9ed5-ac72891c3257"/>48 <item description="" id="tmpid.0011" label="CMCC" title="" uuid="6754b21c-3a81-11e5-9ed5-ac72891c3257"/>49 <item description="" id="tmpid.0012" label="CNRM" title="" uuid="6754b582-3a81-11e5-9ed5-ac72891c3257"/>50 <item description="" id="tmpid.0013" label="EC-Earth" title="" uuid="6754b8e8-3a81-11e5-9ed5-ac72891c3257"/>51 <item description="" id="tmpid.0014" label="FGOALS" title="" uuid="6754bc62-3a81-11e5-9ed5-ac72891c3257"/>52 <item description="" id="tmpid.0015" label="FIO" title="" uuid="6754bfd2-3a81-11e5-9ed5-ac72891c3257"/>53 <item description="" id="tmpid.0016" label="GFDL" title="" uuid="6754c338-3a81-11e5-9ed5-ac72891c3257"/>54 <item description="" id="tmpid.0017" label="GISS" title="" uuid="6754c694-3a81-11e5-9ed5-ac72891c3257"/>55 <item description="" id="tmpid.0018" label="IITM" title="" uuid="6754ca22-3a81-11e5-9ed5-ac72891c3257"/>56 <item description="" id="tmpid.0019" label="INM" title="" uuid="6754cd9c-3a81-11e5-9ed5-ac72891c3257"/>57 <item description="" id="tmpid.0020" label="IPSL" title="" uuid="6754d134-3a81-11e5-9ed5-ac72891c3257"/>58 <item description="" id="tmpid.0021" label="MIROC6-CGCM" title="" uuid="6754d49a-3a81-11e5-9ed5-ac72891c3257"/>59 <item description="" id="tmpid.0022" label="MIROC-ESM" title="" uuid="6754d7f6-3a81-11e5-9ed5-ac72891c3257"/>60 <item description="" id="tmpid.0023" label="NICAM" title="" uuid="6754db70-3a81-11e5-9ed5-ac72891c3257"/>61 <item description="" id="tmpid.0024" label="MPI-ESM" title="" uuid="6754decc-3a81-11e5-9ed5-ac72891c3257"/>62 <item description="" id="tmpid.0025" label="MRI-ESM1-x" title="" uuid="6754e246-3a81-11e5-9ed5-ac72891c3257"/>63 <item description="" id="tmpid.0026" label="MRI-AGCM3-xS" title="" uuid="6754e5b6-3a81-11e5-9ed5-ac72891c3257"/>64 <item description="" id="tmpid.0027" label="NorESM" title="" uuid="6754e9b2-3a81-11e5-9ed5-ac72891c3257"/>65 <item description="" id="tmpid.0028" label="NUIST-CSM" title="" uuid="6754ed5e-3a81-11e5-9ed5-ac72891c3257"/>66 <item description="" id="tmpid.0029" label="UKESM" title="" uuid="6754f150-3a81-11e5-9ed5-ac72891c3257"/>67 <item description="" id="tmpid.0030" label="HadGEM3" title="" uuid="6754f4b6-3a81-11e5-9ed5-ac72891c3257"/>68 <item description="" id="tmpid.0031" label="KMA-ACE" title="" uuid="6754fab0-3a81-11e5-9ed5-ac72891c3257"/>69 <item description="" id="tmpid.0032" label="UKESM--KMA" title="" uuid="6754fe34-3a81-11e5-9ed5-ac72891c3257"/>42 <model class="vocab" id="cmip.drv.002" title="Model" uid="SECTION:model"> 43 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 44 <item description="" id="tmpid.0001" label="ACCESS" title=""/> 45 <item description="" id="tmpid.0002" label="AWI-CM" title=""/> 46 <item description="" id="tmpid.0003" label="BCC" title=""/> 47 <item description="" id="tmpid.0004" label="BESM" title=""/> 48 <item description="" id="tmpid.0005" label="BNU" title=""/> 49 <item description="" id="tmpid.0006" label="CAMS-CSM" title=""/> 50 <item description="" id="tmpid.0007" label="CanESM" title=""/> 51 <item description="" id="tmpid.0008" label="CAS-ESM" title=""/> 52 <item description="" id="tmpid.0009" label="CESM" title=""/> 53 <item description="" id="tmpid.0010" label="CESS-THU" title=""/> 54 <item description="" id="tmpid.0011" label="CMCC" title=""/> 55 <item description="" id="tmpid.0012" label="CNRM" title=""/> 56 <item description="" id="tmpid.0013" label="EC-Earth" title=""/> 57 <item description="" id="tmpid.0014" label="FGOALS" title=""/> 58 <item description="" id="tmpid.0015" label="FIO" title=""/> 59 <item description="" id="tmpid.0016" label="GFDL" title=""/> 60 <item description="" id="tmpid.0017" label="GISS" title=""/> 61 <item description="" id="tmpid.0018" label="IITM" title=""/> 62 <item description="" id="tmpid.0019" label="INM" title=""/> 63 <item description="" id="tmpid.0020" label="IPSL" title=""/> 64 <item description="" id="tmpid.0021" label="MIROC6-CGCM" title=""/> 65 <item description="" id="tmpid.0022" label="MIROC-ESM" title=""/> 66 <item description="" id="tmpid.0023" label="NICAM" title=""/> 67 <item description="" id="tmpid.0024" label="MPI-ESM" title=""/> 68 <item description="" id="tmpid.0025" label="MRI-ESM1-x" title=""/> 69 <item description="" id="tmpid.0026" label="MRI-AGCM3-xS" title=""/> 70 <item description="" id="tmpid.0027" label="NorESM" title=""/> 71 <item description="" id="tmpid.0028" label="NUIST-CSM" title=""/> 72 <item description="" id="tmpid.0029" label="UKESM" title=""/> 73 <item description="" id="tmpid.0030" label="HadGEM3" title=""/> 74 <item description="" id="tmpid.0031" label="KMA-ACE" title=""/> 75 <item description="" id="tmpid.0032" label="UKESM--KMA" title=""/> 70 76 </model> 71 <physicsvers class="vocab" id="cmip.drv.003" title="Physics Version" >72 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 73 <item description="dummyAt" id="001.003.001" label="example-01" title="dummy title string" u uid="215e7e6e-3a81-11e5-882e-ac72891c3257"/>77 <physicsvers class="vocab" id="cmip.drv.003" title="Physics Version" uid="SECTION:physicsvers"> 78 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 79 <item description="dummyAt" id="001.003.001" label="example-01" title="dummy title string" uid="c2c151e8-6838-11e5-b0d3-5404a60d96b5"/> 74 80 </physicsvers> 75 <initialisationmethod class="vocab" id="cmip.drv.004" title="Initialisation Method" >76 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 77 <item description="dummyAt" id="001.004.001" label="example-01" title="dummy title string" u uid="215eb3c0-3a81-11e5-882e-ac72891c3257"/>81 <initialisationmethod class="vocab" id="cmip.drv.004" title="Initialisation Method" uid="SECTION:initialisationmethod"> 82 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 83 <item description="dummyAt" id="001.004.001" label="example-01" title="dummy title string" uid="c2c18a82-6838-11e5-b0d3-5404a60d96b5"/> 78 84 </initialisationmethod> 79 <modelComp class="vocab" id="cmip.drv.005" title="Model Components" >80 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 81 <item componentType="dummyAt" id="001.005.001" label="example-01" sizeH="dummyAt" sizeV="dummyAt" title="dummy title string" u uid="215eec50-3a81-11e5-882e-ac72891c3257"/>85 <modelComp class="vocab" id="cmip.drv.005" title="Model Components" uid="SECTION:modelComp"> 86 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 87 <item componentType="dummyAt" id="001.005.001" label="example-01" sizeH="dummyAt" sizeV="dummyAt" title="dummy title string" uid="c2c1c4a2-6838-11e5-b0d3-5404a60d96b5"/> 82 88 </modelComp> 83 <activity class="vocab" id="cmip.drv.006" title="Coordinating activity" >84 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 85 <item id="tmpid.0001" label="CMIP6" status="" title="Coupled Model Intercomparison Project, Phase 6" url="http://www.wcrp-climate.org/wgcm-cmip/wgcm-cmip6" uuid="67535df4-3a81-11e5-9ed5-ac72891c3257"/>86 <item id="tmpid.0002" label="AerChemMIP" status="" title="Aerosols and Chemistry Model Intercomparison Project" url=" " uuid="67536484-3a81-11e5-9ed5-ac72891c3257"/>87 <item id="tmpid.0003" label="C4MIP" status="" title="Coupled Climate Carbon Cycle Model Intercomparison Project" url=" " uuid="67536a88-3a81-11e5-9ed5-ac72891c3257"/>88 <item id="tmpid.0004" label="CFMIP" status="" title="Cloud Feedback Model Intercomparison Project" url=" " uuid="6753710e-3a81-11e5-9ed5-ac72891c3257"/>89 <item id="tmpid.0005" label="DAMIP" status="" title="Detection and Attribution Model Intercomparison Project" url=" " uuid="6753778a-3a81-11e5-9ed5-ac72891c3257"/>90 <item id="tmpid.0006" label="DCPP" status="" title="Decadal Climate Prediction Project" url="" uuid="67537e74-3a81-11e5-9ed5-ac72891c3257"/>91 <item id="tmpid.0007" label="FAFMIP" status="" title="Flux-Anomaly-Forced Model Intercomparison Project" url=" " uuid="6753850e-3a81-11e5-9ed5-ac72891c3257"/>92 <item id="tmpid.0008" label="GeoMIP" status="" title="Geoengineering Model Intercomparison Project" url="" uuid="67538fa4-3a81-11e5-9ed5-ac72891c3257"/>93 <item id="tmpid.0009" label="GMMIP" status="" title="Global Monsoons Model Intercomparison Project" url="" uuid="675395e4-3a81-11e5-9ed5-ac72891c3257"/>94 <item id="tmpid.0010" label="HighResMIP" status="" title="High Resolution Model Intercomparison Project" url="https://dev.knmi.nl/projects/highresmip/wiki" uuid="67539bc0-3a81-11e5-9ed5-ac72891c3257"/>95 <item id="tmpid.0011" label="ISMIP6" status="" title="Ice Sheet Model Intercomparison Project for CMIP6" url="" uuid="6753a1d8-3a81-11e5-9ed5-ac72891c3257"/>96 <item id="tmpid.0012" label="LS3MIP" status="" title="Land Surface, Snow and Soil Moisture MIP" url="" uuid="6753a8a4-3a81-11e5-9ed5-ac72891c3257"/>97 <item id="tmpid.0013" label="LUMIP" status="" title="Land-Use Model Intercomparison Project" url="" uuid="6753ad90-3a81-11e5-9ed5-ac72891c3257"/>98 <item id="tmpid.0014" label="OMIP" status="" title="Ocean Model Intercomparison Project" url="" uuid="6753b678-3a81-11e5-9ed5-ac72891c3257"/>99 <item id="tmpid.0015" label="PDRMIP" status="withdrawn" title="Precipitation Driver and Response Model Intercomparison Project" url="" uuid="6753bed4-3a81-11e5-9ed5-ac72891c3257"/>100 <item id="tmpid.0016" label="PMIP" status="" title="Palaeoclimate Modelling Intercomparison Project" url="" uuid="6753c65e-3a81-11e5-9ed5-ac72891c3257"/>101 <item id="tmpid.0017" label="RFMIP" status="" title="Radiative Forcing Model Intercomparison Project" url="" uuid="6753cb86-3a81-11e5-9ed5-ac72891c3257"/>102 <item id="tmpid.0018" label="ScenarioMIP" status="" title="Scenario Model Intercomparison Project" url="" uuid="6753cfdc-3a81-11e5-9ed5-ac72891c3257"/>103 <item id="tmpid.0019" label="SolarMIP" status="merged with DAMIP" title="Solar Model Intercomparison Project" url="" uuid="6753d432-3a81-11e5-9ed5-ac72891c3257"/>104 <item id="tmpid.0020" label="VolMIP" status="" title="Volcanic Forcings Model Intercomparison Project" url="" uuid="6753da9a-3a81-11e5-9ed5-ac72891c3257"/>105 <item id="tmpid.0021" label="CORDEX" status="Diagnostic" title="" url="" uuid="6753df90-3a81-11e5-9ed5-ac72891c3257"/>106 <item id="tmpid.0022" label="DynVar" status="Diagnostic" title="" url="" uuid="6753e3aa-3a81-11e5-9ed5-ac72891c3257"/>107 <item id="tmpid.0023" label="SIMIP" status="Diagnostic" title="" url="" uuid="6753e7ba-3a81-11e5-9ed5-ac72891c3257"/>108 <item id="tmpid.0024" label="VIACS AB" status="Diagnostic" title="" url="" uuid="6753ebc0-3a81-11e5-9ed5-ac72891c3257"/>89 <activity class="vocab" id="cmip.drv.006" title="Coordinating activity" uid="SECTION:activity"> 90 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 91 <item id="tmpid.0001" label="CMIP6" status="" title="Coupled Model Intercomparison Project, Phase 6" url="http://www.wcrp-climate.org/wgcm-cmip/wgcm-cmip6"/> 92 <item id="tmpid.0002" label="AerChemMIP" status="" title="Aerosols and Chemistry Model Intercomparison Project" url="https://wiki.met.no/aerocom/aerchemmip/start"/> 93 <item id="tmpid.0003" label="C4MIP" status="" title="Coupled Climate Carbon Cycle Model Intercomparison Project" url="http://c4mip.lsce.ipsl.fr/"/> 94 <item id="tmpid.0004" label="CFMIP" status="" title="Cloud Feedback Model Intercomparison Project" url="http://www.cfmip.net./"/> 95 <item id="tmpid.0005" label="DAMIP" status="" title="Detection and Attribution Model Intercomparison Project" url="http://www.wcrp-climate.org/modelling-wgcm-mip-catalogue/modelling-wgcm-mips/475-modelling-wgcm-damip"/> 96 <item id="tmpid.0006" label="DCPP" status="" title="Decadal Climate Prediction Project" url=""/> 97 <item id="tmpid.0007" label="FAFMIP" status="" title="Flux-Anomaly-Forced Model Intercomparison Project" url="http://www.met.reading.ac.uk/~jonathan/FAFMIP/"/> 98 <item id="tmpid.0008" label="GeoMIP" status="" title="Geoengineering Model Intercomparison Project" url=""/> 99 <item id="tmpid.0009" label="GMMIP" status="" title="Global Monsoons Model Intercomparison Project" url=""/> 100 <item id="tmpid.0010" label="HighResMIP" status="" title="High Resolution Model Intercomparison Project" url="https://dev.knmi.nl/projects/highresmip/wiki"/> 101 <item id="tmpid.0011" label="ISMIP6" status="" title="Ice Sheet Model Intercomparison Project for CMIP6" url=""/> 102 <item id="tmpid.0012" label="LS3MIP" status="" title="Land Surface, Snow and Soil Moisture MIP" url=""/> 103 <item id="tmpid.0013" label="LUMIP" status="" title="Land-Use Model Intercomparison Project" url=""/> 104 <item id="tmpid.0014" label="OMIP" status="" title="Ocean Model Intercomparison Project" url=""/> 105 <item id="tmpid.0015" label="PDRMIP" status="withdrawn" title="Precipitation Driver and Response Model Intercomparison Project" url=""/> 106 <item id="tmpid.0016" label="PMIP" status="" title="Palaeoclimate Modelling Intercomparison Project" url=""/> 107 <item id="tmpid.0017" label="RFMIP" status="" title="Radiative Forcing Model Intercomparison Project" url=""/> 108 <item id="tmpid.0018" label="ScenarioMIP" status="" title="Scenario Model Intercomparison Project" url=""/> 109 <item id="tmpid.0019" label="SolarMIP" status="merged with DAMIP" title="Solar Model Intercomparison Project" url=""/> 110 <item id="tmpid.0020" label="VolMIP" status="" title="Volcanic Forcings Model Intercomparison Project" url=""/> 111 <item id="tmpid.0021" label="CORDEX" status="Diagnostic" title="" url=""/> 112 <item id="tmpid.0022" label="DynVar" status="Diagnostic" title="" url=""/> 113 <item id="tmpid.0023" label="SIMIP" status="Diagnostic" title="" url=""/> 114 <item id="tmpid.0024" label="VIACS AB" status="Diagnostic" title="" url=""/> 109 115 </activity> 110 <product class="vocab" id="cmip.drv.007" title="Data product" >111 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 112 <item id="001.007.001" label="example-01" title="dummy title string" u uid="215ef9ac-3a81-11e5-882e-ac72891c3257"/>116 <product class="vocab" id="cmip.drv.007" title="Data product" uid="SECTION:product"> 117 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 118 <item id="001.007.001" label="example-01" title="dummy title string" uid="c2c1d262-6838-11e5-b0d3-5404a60d96b5"/> 113 119 </product> 114 <experiment class="vocab" id="cmip.drv.008" title="Numerical Experiment" >115 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 116 <item altLabel="dummyAt" description="dummyAt" id="001.008.001" label="example-01" sponsor="dummyAt" title="dummy title string" u rl="dummyAt" uuid="215efe70-3a81-11e5-882e-ac72891c3257"/>120 <experiment class="vocab" id="cmip.drv.008" title="Numerical Experiment" uid="SECTION:experiment"> 121 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 122 <item altLabel="dummyAt" description="dummyAt" id="001.008.001" label="example-01" sponsor="dummyAt" title="dummy title string" uid="c2c1d744-6838-11e5-b0d3-5404a60d96b5" url="dummyAt"/> 117 123 </experiment> 118 <frequency class="vocab" id="cmip.drv.009" title="Temporal frequency of data values" >119 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 120 <item id="tmpid.0001" iso="P1Y" label="yr" title="Annual" uuid="67529d2e-3a81-11e5-9ed5-ac72891c3257"/>121 <item id="tmpid.0002" iso="P1M" label="monClim" title="Monthly climatology" uuid="6752a0bc-3a81-11e5-9ed5-ac72891c3257"/>122 <item id="tmpid.0003" iso="P1M" label="mon" title="Monthly" uuid="6752a40e-3a81-11e5-9ed5-ac72891c3257"/>123 <item id="tmpid.0004" iso="P1D" label="day" title="Daily" uuid="6752a760-3a81-11e5-9ed5-ac72891c3257"/>124 <item id="tmpid.0005" iso="PT6H" label="6hr" title="6-hourly" uuid="6752aa9e-3a81-11e5-9ed5-ac72891c3257"/>125 <item id="tmpid.0006" iso="PT3H" label="3hr" title="3-hourly" uuid="6752ae90-3a81-11e5-9ed5-ac72891c3257"/>126 <item id="tmpid.0007" iso="PT1H" label="hr" title="Hourly" uuid="6752b890-3a81-11e5-9ed5-ac72891c3257"/>127 <item id="tmpid.0008" iso="" label="subhr" title="Sub-hourly" uuid="6752bd9a-3a81-11e5-9ed5-ac72891c3257"/>124 <frequency class="vocab" id="cmip.drv.009" title="Temporal frequency of data values" uid="SECTION:frequency"> 125 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 126 <item id="tmpid.0001" iso="P1Y" label="yr" title="Annual"/> 127 <item id="tmpid.0002" iso="P1M" label="monClim" title="Monthly climatology"/> 128 <item id="tmpid.0003" iso="P1M" label="mon" title="Monthly"/> 129 <item id="tmpid.0004" iso="P1D" label="day" title="Daily"/> 130 <item id="tmpid.0005" iso="PT6H" label="6hr" title="6-hourly"/> 131 <item id="tmpid.0006" iso="PT3H" label="3hr" title="3-hourly"/> 132 <item id="tmpid.0007" iso="PT1H" label="hr" title="Hourly"/> 133 <item id="tmpid.0008" iso="" label="subhr" title="Sub-hourly"/> 128 134 </frequency> 129 <realm class="vocab" id="cmip.drv.010" title="Modeling realm" >130 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 131 <item id="tmpid.0001" label="atmos" title="Atmospheric" uuid="67509b28-3a81-11e5-9ed5-ac72891c3257"/>132 <item id="tmpid.0002" label="ocean" title="Oceanic" uuid="6750da48-3a81-11e5-9ed5-ac72891c3257"/>133 <item id="tmpid.0003" label="land" title="Land" uuid="67512232-3a81-11e5-9ed5-ac72891c3257"/>134 <item id="tmpid.0004" label="landIce" title="Terrestrial cryosphere" uuid="6751662a-3a81-11e5-9ed5-ac72891c3257"/>135 <item id="tmpid.0005" label="seaIce" title="Marine cryosphere" uuid="67516f44-3a81-11e5-9ed5-ac72891c3257"/>136 <item id="tmpid.0006" label="aerosol" title="Aerosols" uuid="675172e6-3a81-11e5-9ed5-ac72891c3257"/>137 <item id="tmpid.0007" label="atmosChem" title="Atmospheric chemistry" uuid="6751762e-3a81-11e5-9ed5-ac72891c3257"/>138 <item id="tmpid.0008" label="ocnBgchem" title="Ocean bio-geochemistry" uuid="6751796c-3a81-11e5-9ed5-ac72891c3257"/>135 <realm class="vocab" id="cmip.drv.010" title="Modeling realm" uid="SECTION:realm"> 136 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 137 <item id="tmpid.0001" label="atmos" title="Atmospheric"/> 138 <item id="tmpid.0002" label="ocean" title="Oceanic"/> 139 <item id="tmpid.0003" label="land" title="Land"/> 140 <item id="tmpid.0004" label="landIce" title="Terrestrial cryosphere"/> 141 <item id="tmpid.0005" label="seaIce" title="Marine cryosphere"/> 142 <item id="tmpid.0006" label="aerosol" title="Aerosols"/> 143 <item id="tmpid.0007" label="atmosChem" title="Atmospheric chemistry"/> 144 <item id="tmpid.0008" label="ocnBgchem" title="Ocean bio-geochemistry"/> 139 145 </realm> 140 <grid class="vocab" id="cmip.drv.011" title="Native grid" >141 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 142 <item id="tmpid.0001" label="atmosphere" title="Atmosphere grid" uuid="6752c768-3a81-11e5-9ed5-ac72891c3257"/>143 <item id="tmpid.0002" label="ocean" title="Ocean grid" uuid="6752ca7e-3a81-11e5-9ed5-ac72891c3257"/>144 <item id="tmpid.0003" label="ice" title="Grid used for ice sheets" uuid="6752cd94-3a81-11e5-9ed5-ac72891c3257"/>145 <item id="tmpid.0004" label="land" title="Grid used for land surface modelling" uuid="6752d0a0-3a81-11e5-9ed5-ac72891c3257"/>146 <grid class="vocab" id="cmip.drv.011" title="Native grid" uid="SECTION:grid"> 147 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 148 <item id="tmpid.0001" label="atmosphere" title="Atmosphere grid"/> 149 <item id="tmpid.0002" label="ocean" title="Ocean grid"/> 150 <item id="tmpid.0003" label="ice" title="Grid used for ice sheets"/> 151 <item id="tmpid.0004" label="land" title="Grid used for land surface modelling"/> 146 152 </grid> 147 <dimensions class="vocab" id="cmip.drv.012" title="MIP table variable dimensions" >148 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 149 <item altLabel="dummyAt" id="001.012.001" label="example01" size="25" sn="dummyAt" title="dummy title string" u uid="215f0bea-3a81-11e5-882e-ac72891c3257"/>153 <dimensions class="vocab" id="cmip.drv.012" title="MIP table variable dimensions" uid="SECTION:dimensions"> 154 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 155 <item altLabel="dummyAt" id="001.012.001" label="example01" size="25" sn="dummyAt" title="dummy title string" uid="c2c1e54a-6838-11e5-b0d3-5404a60d96b5"/> 150 156 </dimensions> 151 <forcings class="vocab" id="cmip.drv.013" title="Forcing" >152 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 153 <item id="001.013.001" label="example-01" title="dummy title string" u uid="215f0ed8-3a81-11e5-882e-ac72891c3257"/>157 <forcings class="vocab" id="cmip.drv.013" title="Forcing" uid="SECTION:forcings"> 158 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 159 <item id="001.013.001" label="example-01" title="dummy title string" uid="c2c1e95a-6838-11e5-b0d3-5404a60d96b5"/> 154 160 </forcings> 155 <table class="vocab" id="cmip.drv.014" title="Data specification table" >156 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 157 <item comment="" description="Definitions of all the coordinate variables used in the CMIP6 data request" frequency="fx" id="tmpid.0001" label="grids" title="Fixed coordinate variables" uuid="67540d4e-3a81-11e5-9ed5-ac72891c3257"/>158 <item comment="" description="Variables with no time dependency" frequency="fx" id="tmpid.0002" label="fx" title="Fixed variables" uuid="67541208-3a81-11e5-9ed5-ac72891c3257"/>159 <item comment=""ocean" as in "ocean grid"" description="Annual mean variables on the ocean grid." frequency="yr" id="tmpid.0003" label="Oyr" title="Annual ocean variables" uuid="67541654-3a81-11e5-9ed5-ac72891c3257"/>160 <item comment="For CMIP5 there was "Oclim" for ocean climatologies, and atmospheric climatologies were in Amon. Moving Atmospheric climatologies to Clim gives us a strict hierarchy with a single "frequency" in each table." description="Monthly Mean Climatology" frequency="monClim" id="tmpid.0004" label="Clim" title="Monthly climatologies" uuid="67541b2c-3a81-11e5-9ed5-ac72891c3257"/>161 <item comment="" description="Monthly Mean Ocean Fields, Including Biogechemical Field" frequency="mon" id="tmpid.0005" label="Omon" title="Monthly ocean variables" uuid="67541f6e-3a81-11e5-9ed5-ac72891c3257"/>162 <item comment="See comment on ts: http://dreq01.vanillaforums.com/discussion/29/surface-temperature?new=1" description="Monthly Mean Atmospheric Fields and Some Surface Field" frequency="mon" id="tmpid.0006" label="Amon" title="Montly atmospheric variables (excluding composition and radiation)" uuid="675423c4-3a81-11e5-9ed5-ac72891c3257"/>163 <item comment="" description="Monthly Mean Land Cryosphere Fields" frequency="mon" id="tmpid.0007" label="LImon" title="Monthly land ice" uuid="6754282e-3a81-11e5-9ed5-ac72891c3257"/>164 <item comment=""land" as in "land grid" -- not including variables on atmospheric grid requested for analysis of land processes" description="Monthly Mean Land Fields, Including Physical, Vegetation, Soil, and Biogeochemical Variables" frequency="mon" id="tmpid.0008" label="Lmon" title="Monthly land variables" uuid="67542c8e-3a81-11e5-9ed5-ac72891c3257"/>165 <item comment="" description="Monthly Mean Ocean Cryosphere Fields" frequency="mon" id="tmpid.0009" label="OImon" title="Sea-ice" uuid="675430f8-3a81-11e5-9ed5-ac72891c3257"/>166 <item comment="Used in CMIP5; not requested by CfMIP in CMIP6, but, provisionally, by HighResMIP" description="Monthly Offline Cloud Diagnostic Fields" frequency="mon" id="tmpid.0010" label="cfOff" title="Offline diagnostics for cloud forcing analysis" uuid="67543526-3a81-11e5-9ed5-ac72891c3257"/>167 <item comment="Contains radiative fields from cfMon; some duplication with Amon " description="" frequency="mon" id="tmpid.0011" label="Rmon" title="Monthly atmospheric radiation data" uuid="67543986-3a81-11e5-9ed5-ac72891c3257"/>168 <item comment="" description="Monthly atmospheric composition, including aerosols and properties of aerosols (but see Rmon for radiation quantities)" frequency="mon" id="tmpid.0012" label="Cmon" title="Monthly Atmospheric Composition Data" uuid="67543df0-3a81-11e5-9ed5-ac72891c3257"/>169 <item comment="" description="Daily Mean Atmosphere, Ocean and Surface Fields" frequency="day" id="tmpid.0013" label="Oday" title="Daily ocean data" uuid="6754423c-3a81-11e5-9ed5-ac72891c3257"/>170 <item comment="" description="" frequency="" id="tmpid.0014" label="Aday" title="Daily atmospheric data, excluding composition and cloud forcing" uuid="6754466a-3a81-11e5-9ed5-ac72891c3257"/>171 <item comment="Formerly "aero"" description="" frequency="day" id="tmpid.0015" label="Cday" title="Daily atmospheric composition data" uuid="67544ae8-3a81-11e5-9ed5-ac72891c3257"/>172 <item comment="" description="" frequency="" id="tmpid.0016" label="cfDay" title="Daily data associated with cloud forcing" uuid="67545196-3a81-11e5-9ed5-ac72891c3257"/>173 <item comment="" description="Fields (Sampled Every 6 Hours) for Driving Regional Models " frequency="6hr" id="tmpid.0017" label="6hrLev" title="6-hourly atmospheric data on model levels" uuid="675455f6-3a81-11e5-9ed5-ac72891c3257"/>174 <item comment="Only 3 levels in CMIP5, more levels requested in CMIP6 by HighResMIP (low priority)" description="Fields (Sampled Every 6 Hours) for Storm-Track Analysis and other Advanced Diagnostic Applications" frequency="6hr" id="tmpid.0018" label="6hrPlev" title="6-hourly atmospheric data on pressure levels" uuid="67545a7e-3a81-11e5-9ed5-ac72891c3257"/>175 <item comment="CMIP5 had two MIP tables at 3hr frequency, "3hr" and "cf3hr". In some cases variables were requested as instantaneous in one and accumulated in the other. Making two tables with clear definitions should make it easier to see what is going on." description="" frequency="3hr" id="tmpid.0019" label="3hrPoint" title="3-hourly data, instantaenous fields" uuid="67545f74-3a81-11e5-9ed5-ac72891c3257"/>176 <item comment="" description="Atmospheric and Surface Fields Sampled Every 3 Hours" frequency="3hr" id="tmpid.0020" label="3hrAcc" title="3-hourly data, accumulated fields" uuid="6754642e-3a81-11e5-9ed5-ac72891c3257"/>177 <item comment="New -- part of HighResMIP request." description="" frequency="1hr" id="tmpid.0021" label="1hr" title="" uuid="6754685c-3a81-11e5-9ed5-ac72891c3257"/>178 <item comment="Includes cfsites and data for highresmip" description="" frequency="subhr" id="tmpid.0022" label="subhr" title="" uuid="67546c58-3a81-11e5-9ed5-ac72891c3257"/>161 <table class="vocab" id="cmip.drv.014" title="Data specification table" uid="SECTION:table"> 162 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 163 <item comment="" description="Definitions of all the coordinate variables used in the CMIP6 data request" frequency="fx" id="tmpid.0001" label="grids" title="Fixed coordinate variables"/> 164 <item comment="" description="Variables with no time dependency" frequency="fx" id="tmpid.0002" label="fx" title="Fixed variables"/> 165 <item comment=""ocean" as in "ocean grid"" description="Annual mean variables on the ocean grid." frequency="yr" id="tmpid.0003" label="Oyr" title="Annual ocean variables"/> 166 <item comment="For CMIP5 there was "Oclim" for ocean climatologies, and atmospheric climatologies were in Amon. Moving Atmospheric climatologies to Clim gives us a strict hierarchy with a single "frequency" in each table." description="Monthly Mean Climatology" frequency="monClim" id="tmpid.0004" label="Clim" title="Monthly climatologies"/> 167 <item comment="" description="Monthly Mean Ocean Fields, Including Biogechemical Field" frequency="mon" id="tmpid.0005" label="Omon" title="Monthly ocean variables"/> 168 <item comment="See comment on ts: http://dreq01.vanillaforums.com/discussion/29/surface-temperature?new=1" description="Monthly Mean Atmospheric Fields and Some Surface Field" frequency="mon" id="tmpid.0006" label="Amon" title="Montly atmospheric variables (excluding composition and radiation)"/> 169 <item comment="" description="Monthly Mean Land Cryosphere Fields" frequency="mon" id="tmpid.0007" label="LImon" title="Monthly land ice"/> 170 <item comment=""land" as in "land grid" -- not including variables on atmospheric grid requested for analysis of land processes" description="Monthly Mean Land Fields, Including Physical, Vegetation, Soil, and Biogeochemical Variables" frequency="mon" id="tmpid.0008" label="Lmon" title="Monthly land variables"/> 171 <item comment="" description="Monthly Mean Ocean Cryosphere Fields" frequency="mon" id="tmpid.0009" label="OImon" title="Sea-ice"/> 172 <item comment="Used in CMIP5; not requested by CfMIP in CMIP6, but, provisionally, by HighResMIP" description="Monthly Offline Cloud Diagnostic Fields" frequency="mon" id="tmpid.0010" label="cfOff" title="Offline diagnostics for cloud forcing analysis"/> 173 <item comment="Contains radiative fields from cfMon; some duplication with Amon " description="" frequency="mon" id="tmpid.0011" label="Rmon" title="Monthly atmospheric radiation data"/> 174 <item comment="" description="Monthly atmospheric composition, including aerosols and properties of aerosols (but see Rmon for radiation quantities)" frequency="mon" id="tmpid.0012" label="Cmon" title="Monthly Atmospheric Composition Data"/> 175 <item comment="" description="Daily Mean Atmosphere, Ocean and Surface Fields" frequency="day" id="tmpid.0013" label="Oday" title="Daily ocean data"/> 176 <item comment="" description="" frequency="" id="tmpid.0014" label="Aday" title="Daily atmospheric data, excluding composition and cloud forcing"/> 177 <item comment="Formerly "aero"" description="" frequency="day" id="tmpid.0015" label="Cday" title="Daily atmospheric composition data"/> 178 <item comment="" description="" frequency="" id="tmpid.0016" label="cfDay" title="Daily data associated with cloud forcing"/> 179 <item comment="" description="Fields (Sampled Every 6 Hours) for Driving Regional Models " frequency="6hr" id="tmpid.0017" label="6hrLev" title="6-hourly atmospheric data on model levels"/> 180 <item comment="Only 3 levels in CMIP5, more levels requested in CMIP6 by HighResMIP (low priority)" description="Fields (Sampled Every 6 Hours) for Storm-Track Analysis and other Advanced Diagnostic Applications" frequency="6hr" id="tmpid.0018" label="6hrPlev" title="6-hourly atmospheric data on pressure levels"/> 181 <item comment="CMIP5 had two MIP tables at 3hr frequency, "3hr" and "cf3hr". In some cases variables were requested as instantaneous in one and accumulated in the other. Making two tables with clear definitions should make it easier to see what is going on." description="" frequency="3hr" id="tmpid.0019" label="3hrPoint" title="3-hourly data, instantaenous fields"/> 182 <item comment="" description="Atmospheric and Surface Fields Sampled Every 3 Hours" frequency="3hr" id="tmpid.0020" label="3hrAcc" title="3-hourly data, accumulated fields"/> 183 <item comment="New -- part of HighResMIP request." description="" frequency="1hr" id="tmpid.0021" label="1hr" title=""/> 184 <item comment="Includes cfsites and data for highresmip" description="" frequency="subhr" id="tmpid.0022" label="subhr" title=""/> 179 185 </table> 180 <cref class="vocab" id="cmip.drv.015" title="Coordinate Reference" >181 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 182 <item id="001.015.001" label="example-01" title="dummy title string" u uid="215f170c-3a81-11e5-882e-ac72891c3257"/>186 <cref class="vocab" id="cmip.drv.015" title="Coordinate Reference" uid="SECTION:cref"> 187 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 188 <item id="001.015.001" label="example-01" title="dummy title string" uid="c2c1f0c6-6838-11e5-b0d3-5404a60d96b5"/> 183 189 </cref> 184 <areaType class="vocab" id="cmip.drv.016" title="CMIP Area Type" >185 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 186 <item id="001.016.001" inCF="dummyAt" label="example-01" title="dummy title string" u uid="215f1a54-3a81-11e5-882e-ac72891c3257"/>190 <areaType class="vocab" id="cmip.drv.016" title="CMIP Area Type" uid="SECTION:areaType"> 191 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 192 <item id="001.016.001" inCF="dummyAt" label="example-01" title="dummy title string" uid="c2c1f422-6838-11e5-b0d3-5404a60d96b5"/> 187 193 </areaType> 188 <timeSlice class="vocab" id="cmip.drv.017" title="Time slices used in data request" >189 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 190 <item id="001.017.001" label="example-01" specification="dummyAt" title="dummy title string" type="dummyAt" u uid="215f1de2-3a81-11e5-882e-ac72891c3257"/>194 <timeSlice class="vocab" id="cmip.drv.017" title="Time slices used in data request" uid="SECTION:timeSlice"> 195 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 196 <item id="001.017.001" label="example-01" specification="dummyAt" title="dummy title string" type="dummyAt" uid="c2c1f7d8-6838-11e5-b0d3-5404a60d96b5"/> 191 197 </timeSlice> 192 <modelFamily class="vocab" id="cmip.drv.018" title="Family of model" >193 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 194 <item id="001.018.001" label="example-01" title="dummy title string" u uid="215f20b2-3a81-11e5-882e-ac72891c3257"/>198 <modelFamily class="vocab" id="cmip.drv.018" title="Family of model" uid="SECTION:modelFamily"> 199 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 200 <item id="001.018.001" label="example-01" title="dummy title string" uid="c2c1fac6-6838-11e5-b0d3-5404a60d96b5"/> 195 201 </modelFamily> 196 <priority class="vocab" id="cmip.drv.019" title="Variable priority" >197 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 198 <item description="Modelling centres must commit to supplying all priority 1 variables associated with at least one science question for Tier 1 experiments of any MIP which they participate in;" id="tmpid.0001" label="1 " title="High" uuid="6751ecb2-3a81-11e5-9ed5-ac72891c3257"/>199 <item description="Expected to be used in multi-model diagnostics; models not supplying these variables may be omitted from some parts of the inter-comparison;" id="tmpid.0002" label="3 " title="Medium" uuid="6751f05e-3a81-11e5-9ed5-ac72891c3257"/>200 <item description="Experimental -- used for exploring new capabilities and/or unlikely to be used in multi-model diagnostic." id="tmpid.0003" label="3 " title="Low" uuid="6751f3a6-3a81-11e5-9ed5-ac72891c3257"/>202 <priority class="vocab" id="cmip.drv.019" title="Variable priority" uid="SECTION:priority"> 203 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 204 <item description="Modelling centres must commit to supplying all priority 1 variables associated with at least one science question for Tier 1 experiments of any MIP which they participate in;" id="tmpid.0001" label="1.0" title="High"/> 205 <item description="Expected to be used in multi-model diagnostics; models not supplying these variables may be omitted from some parts of the inter-comparison;" id="tmpid.0002" label="3.0" title="Medium"/> 206 <item description="Experimental -- used for exploring new capabilities and/or unlikely to be used in multi-model diagnostic." id="tmpid.0003" label="3.0" title="Low"/> 201 207 </priority> 202 <qcLevel class="vocab" id="cmip.drv.020" title="Quality control level" >203 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 204 <item id="001.020.001" label="1" title="dummy title string" u uid="215f26a2-3a81-11e5-882e-ac72891c3257"/>208 <qcLevel class="vocab" id="cmip.drv.020" title="Quality control level" uid="SECTION:qcLevel"> 209 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 210 <item id="001.020.001" label="1" title="dummy title string" uid="c2c200fc-6838-11e5-b0d3-5404a60d96b5"/> 205 211 </qcLevel> 206 <complianceCode class="vocab" id="cmip.drv.021" title="Data specification compliance codes" >207 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 208 <item id="001.021.001" label="example-01" title="dummy title string" u uid="215f295e-3a81-11e5-882e-ac72891c3257"/>212 <complianceCode class="vocab" id="cmip.drv.021" title="Data specification compliance codes" uid="SECTION:complianceCode"> 213 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 214 <item id="001.021.001" label="example-01" title="dummy title string" uid="c2c203e0-6838-11e5-b0d3-5404a60d96b5"/> 209 215 </complianceCode> 210 <glossary class="vocab" id="cmip.drv.022" title="Glossary" >211 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 212 <item description="" fullName="Coupled Model Intercomparison Project" id="tmpid.0001" label="cmip" title="CMIP" url="" uuid="675186f0-3a81-11e5-9ed5-ac72891c3257"/>213 <item description="World Climate Research Programme (WCRP) Working Group on Coupled Modeling" fullName="Working Group on Coupled Models" id="tmpid.0002" label="wgcm" title="WGCM" url="http://www.wcrp-climate.org/wgcm/" uuid="67518b5a-3a81-11e5-9ed5-ac72891c3257"/>214 <item description="" fullName="" id="tmpid.0003" label="wcrp" title="WCRP" url="" uuid="67518fce-3a81-11e5-9ed5-ac72891c3257"/>215 <item description="Full specifications of vocabularies used for formatting, archiving and dsitribution of CMIP data" fullName="Data Reference Vocabularies" id="tmpid.0004" label="drvocabs" title="DRVoc" url="https://drive.google.com/drive/folders/0B6AWgiTrQ0xFQ0t2RjYtWW1jaFk" uuid="675193fc-3a81-11e5-9ed5-ac72891c3257"/>216 <glossary class="vocab" id="cmip.drv.022" title="Glossary" uid="SECTION:glossary"> 217 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 218 <item description="" fullName="Coupled Model Intercomparison Project" id="tmpid.0001" label="cmip" title="CMIP" url=""/> 219 <item description="World Climate Research Programme (WCRP) Working Group on Coupled Modeling" fullName="Working Group on Coupled Models" id="tmpid.0002" label="wgcm" title="WGCM" url="http://www.wcrp-climate.org/wgcm/"/> 220 <item description="" fullName="" id="tmpid.0003" label="wcrp" title="WCRP" url=""/> 221 <item description="Full specifications of vocabularies used for formatting, archiving and dsitribution of CMIP data" fullName="Data Reference Vocabularies" id="tmpid.0004" label="drvocabs" title="DRVoc" url="https://drive.google.com/drive/folders/0B6AWgiTrQ0xFQ0t2RjYtWW1jaFk"/> 216 222 </glossary> 217 <modelCompType class="vocab" id="cmip.drv.023" title="Model Component Types/Categories [redundant with *Native Grid*]" >218 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 219 <item id="001.023.001" label="example-01" title="dummy title string" u uid="215f3002-3a81-11e5-882e-ac72891c3257"/>223 <modelCompType class="vocab" id="cmip.drv.023" title="Model Component Types/Categories [redundant with *Native Grid*]" uid="SECTION:modelCompType"> 224 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 225 <item id="001.023.001" label="example-01" title="dummy title string" uid="c2c20ade-6838-11e5-b0d3-5404a60d96b5"/> 220 226 </modelCompType> 221 <modelType class="vocab" id="cmip.drv.024" title="Class of model" >222 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 223 <item id="tmpid.0001" label="AGCM" title="Atmosphere only GCM" uuid="6751d09c-3a81-11e5-9ed5-ac72891c3257"/>224 <item id="tmpid.0002" label="AOGCM" title="Coupled atmosphere-ocean model" uuid="6751d3bc-3a81-11e5-9ed5-ac72891c3257"/>225 <item id="tmpid.0003" label="ESM" title="Earth System Model" uuid="6751d718-3a81-11e5-9ed5-ac72891c3257"/>226 <item id="tmpid.0004" label="RCM" title="Regional Climate Model" uuid="6751da24-3a81-11e5-9ed5-ac72891c3257"/>227 <item id="tmpid.0005" label="OGCM" title="Ocean General Circulation Model" uuid="6751dd26-3a81-11e5-9ed5-ac72891c3257"/>228 <item id="tmpid.0006" label="ICESH" title="Ice sheet model" uuid="6751e03c-3a81-11e5-9ed5-ac72891c3257"/>229 <item id="tmpid.0007" label="LU" title="Land use model" uuid="6751e32a-3a81-11e5-9ed5-ac72891c3257"/>227 <modelType class="vocab" id="cmip.drv.024" title="Class of model" uid="SECTION:modelType"> 228 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 229 <item id="tmpid.0001" label="AGCM" title="Atmosphere only GCM"/> 230 <item id="tmpid.0002" label="AOGCM" title="Coupled atmosphere-ocean model"/> 231 <item id="tmpid.0003" label="ESM" title="Earth System Model"/> 232 <item id="tmpid.0004" label="RCM" title="Regional Climate Model"/> 233 <item id="tmpid.0005" label="OGCM" title="Ocean General Circulation Model"/> 234 <item id="tmpid.0006" label="ICESH" title="Ice sheet model"/> 235 <item id="tmpid.0007" label="LU" title="Land use model"/> 230 236 </modelType> 231 <index class="vocab" id="cmip.drv.025" title="Index of vocabularies" >232 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 233 <item description="This table defines the quantities used to specify CMOR dimensions. Further information is in the CMOR documentation." id="tmpid.0001" label="cmorDimAttr" title="Attributes of CMOR dimensions" uuid="67504f6a-3a81-11e5-9ed5-ac72891c3257"/>237 <index class="vocab" id="cmip.drv.025" title="Index of vocabularies" uid="SECTION:index"> 238 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 239 <item description="This table defines the quantities used to specify CMOR dimensions. Further information is in the CMOR documentation." id="tmpid.0001" label="cmorDimAttr" title="Attributes of CMOR dimensions"/> 234 240 </index> 235 <cmorDimAttr class="vocab" id="cmip.drv.026" title="CMOR Dimension Attributes" >236 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 237 <item CMORattr="" description="A list of CMOR tables in which this dimension is used." id="tmpid.0001" label="tables" title="Tables using this dimension" uuid="6752e810-3a81-11e5-9ed5-ac72891c3257"/>238 <item CMORattr="" description="Name used by CMOR -- unique within one set of tables" id="tmpid.0002" label="CmorName" title="CMOR name" uuid="6752ec0c-3a81-11e5-9ed5-ac72891c3257"/>239 <item CMORattr="" description="Name used for variable and dimension in netcdf files" id="tmpid.0003" label="name" title="Name in file" uuid="6752efc2-3a81-11e5-9ed5-ac72891c3257"/>240 <item CMORattr="" description="Value copied into NetCDF attribute 'long_name' of dimension variable" id="tmpid.0004" label="longname" title="Long name" uuid="6752f382-3a81-11e5-9ed5-ac72891c3257"/>241 <item CMORattr="" description="For spatial or temporal dimensions -- should take the value X, Y, Z or T. Otherwise blank. Value copied into NetCDF attribute of dimension variable" id="tmpid.0005" label="axis" title="NetCDF axis attribute" uuid="6752f742-3a81-11e5-9ed5-ac72891c3257"/>242 <item CMORattr="" description="Value copied into NetCDF attribute of dimension variable" id="tmpid.0006" label="units" title="Units" uuid="6752fb34-3a81-11e5-9ed5-ac72891c3257"/>243 <item CMORattr="" description="Set "ok" if the axis is an index (no netcdf variable will be created)." id="tmpid.0007" label="index" title="Is this an index dimension?" uuid="6752feea-3a81-11e5-9ed5-ac72891c3257"/>244 <item CMORattr="coords_attrib" description="Used as variable name for coordinate values when these cannot be held in the axis variable (e.g. when the coordinate values are words)." id="tmpid.0008" label="coords" title="NetCDF coords attribute" uuid="675302dc-3a81-11e5-9ed5-ac72891c3257"/>245 <item CMORattr="must_have_bounds" description="'Yes' or 'No', to indicate whether a bounds variable is needed." id="tmpid.0009" label="bounds" title="Are bounds required?" uuid="67530674-3a81-11e5-9ed5-ac72891c3257"/>246 <item CMORattr="stored_direction" description="Set to 'increasing' or 'decreasing'. " id="tmpid.0010" label="direction" title="Order of values in axis variable" uuid="67530a2a-3a81-11e5-9ed5-ac72891c3257"/>247 <item CMORattr="" description="" id="tmpid.0011" label="validMin" title="" uuid="67530df4-3a81-11e5-9ed5-ac72891c3257"/>248 <item CMORattr="" description="" id="tmpid.0012" label="validMax" title="" uuid="675311c8-3a81-11e5-9ed5-ac72891c3257"/>249 <item CMORattr="" description="Type (e.g. 'double', 'character', 'integer')" id="tmpid.0013" label="type" title="Type of axis values" uuid="67531574-3a81-11e5-9ed5-ac72891c3257"/>250 <item CMORattr="" description="This attribute is used for vertical coordinates, indicates whether the dimension increases upwards or downwards (valid values are 'up', 'down', or blank)" id="tmpid.0014" label="positive" title="NetCDF positive attribute" uuid="67531b82-3a81-11e5-9ed5-ac72891c3257"/>251 <item CMORattr="" description="For array dimensions see 'requested'" id="tmpid.0015" label="value" title="Value of singleton dimension" uuid="67531f38-3a81-11e5-9ed5-ac72891c3257"/>252 <item CMORattr="" description="For array dimensions see 'boundsreq'" id="tmpid.0016" label="bounds_values" title="Bounds of a singleton dimension" uuid="675322e4-3a81-11e5-9ed5-ac72891c3257"/>253 <item CMORattr="" description="For singleton dimensions see 'value'" id="tmpid.0017" label="requested" title="Values of array dimensions" uuid="675326ea-3a81-11e5-9ed5-ac72891c3257"/>254 <item CMORattr="" description="For singleton dimensions see 'bounds_value'" id="tmpid.0018" label="boundsreq" title="Bounds Requested" uuid="67532aaa-3a81-11e5-9ed5-ac72891c3257"/>255 <item CMORattr="" description="Variance from requested values that is tolerated" id="tmpid.0019" label="tolerance" title="Tolerance on requested values" uuid="67532e6a-3a81-11e5-9ed5-ac72891c3257"/>256 <item CMORattr="must_call_cmor_grid" description="" id="tmpid.0020" label="grid" title="Is this a grid" uuid="6753322a-3a81-11e5-9ed5-ac72891c3257"/>257 <item CMORattr="" description="Value copied into NetCDF attribute of dimension variable" id="tmpid.0021" label="formula" title="NetCDF formula_terms attribute" uuid="675335fe-3a81-11e5-9ed5-ac72891c3257"/>258 <item CMORattr="" description="Value copied into NetCDF attribute of dimension variable" id="tmpid.0022" label="z_factors" title="NetCDF z_factors attribute" uuid="675339b4-3a81-11e5-9ed5-ac72891c3257"/>259 <item CMORattr="" description="Value copied into NetCDF attribute of dimension variable" id="tmpid.0023" label="z_bounds_factors" title="NetCDF z_bounds_factors" uuid="67533d88-3a81-11e5-9ed5-ac72891c3257"/>241 <cmorDimAttr class="vocab" id="cmip.drv.026" title="CMOR Dimension Attributes" uid="SECTION:cmorDimAttr"> 242 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 243 <item CMORattr="" description="A list of CMOR tables in which this dimension is used." id="tmpid.0001" label="tables" title="Tables using this dimension"/> 244 <item CMORattr="" description="Name used by CMOR -- unique within one set of tables" id="tmpid.0002" label="CmorName" title="CMOR name"/> 245 <item CMORattr="" description="Name used for variable and dimension in netcdf files" id="tmpid.0003" label="name" title="Name in file"/> 246 <item CMORattr="" description="Value copied into NetCDF attribute 'long_name' of dimension variable" id="tmpid.0004" label="longname" title="Long name"/> 247 <item CMORattr="" description="For spatial or temporal dimensions -- should take the value X, Y, Z or T. Otherwise blank. Value copied into NetCDF attribute of dimension variable" id="tmpid.0005" label="axis" title="NetCDF axis attribute"/> 248 <item CMORattr="" description="Value copied into NetCDF attribute of dimension variable" id="tmpid.0006" label="units" title="Units"/> 249 <item CMORattr="" description="Set "ok" if the axis is an index (no netcdf variable will be created)." id="tmpid.0007" label="index" title="Is this an index dimension?"/> 250 <item CMORattr="coords_attrib" description="Used as variable name for coordinate values when these cannot be held in the axis variable (e.g. when the coordinate values are words)." id="tmpid.0008" label="coords" title="NetCDF coords attribute"/> 251 <item CMORattr="must_have_bounds" description="'Yes' or 'No', to indicate whether a bounds variable is needed." id="tmpid.0009" label="bounds" title="Are bounds required?"/> 252 <item CMORattr="stored_direction" description="Set to 'increasing' or 'decreasing'. " id="tmpid.0010" label="direction" title="Order of values in axis variable"/> 253 <item CMORattr="" description="" id="tmpid.0011" label="validMin" title=""/> 254 <item CMORattr="" description="" id="tmpid.0012" label="validMax" title=""/> 255 <item CMORattr="" description="Type (e.g. 'double', 'character', 'integer')" id="tmpid.0013" label="type" title="Type of axis values"/> 256 <item CMORattr="" description="This attribute is used for vertical coordinates, indicates whether the dimension increases upwards or downwards (valid values are 'up', 'down', or blank)" id="tmpid.0014" label="positive" title="NetCDF positive attribute"/> 257 <item CMORattr="" description="For array dimensions see 'requested'" id="tmpid.0015" label="value" title="Value of singleton dimension"/> 258 <item CMORattr="" description="For array dimensions see 'boundsreq'" id="tmpid.0016" label="bounds_values" title="Bounds of a singleton dimension"/> 259 <item CMORattr="" description="For singleton dimensions see 'value'" id="tmpid.0017" label="requested" title="Values of array dimensions"/> 260 <item CMORattr="" description="For singleton dimensions see 'bounds_value'" id="tmpid.0018" label="boundsreq" title="Bounds Requested"/> 261 <item CMORattr="" description="Variance from requested values that is tolerated" id="tmpid.0019" label="tolerance" title="Tolerance on requested values"/> 262 <item CMORattr="must_call_cmor_grid" description="" id="tmpid.0020" label="grid" title="Is this a grid"/> 263 <item CMORattr="" description="Value copied into NetCDF attribute of dimension variable" id="tmpid.0021" label="formula" title="NetCDF formula_terms attribute"/> 264 <item CMORattr="" description="Value copied into NetCDF attribute of dimension variable" id="tmpid.0022" label="z_factors" title="NetCDF z_factors attribute"/> 265 <item CMORattr="" description="Value copied into NetCDF attribute of dimension variable" id="tmpid.0023" label="z_bounds_factors" title="NetCDF z_bounds_factors"/> 260 266 </cmorDimAttr> 261 <processingOptions class="vocab" id="cmip.drv.027" title="Processing steps required" >262 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 263 <item description="" id="tmpid.0001" label="TM" title="time mean" uuid="6751a22a-3a81-11e5-9ed5-ac72891c3257"/>264 <item description="The weighted time mean is important when a time varying mask is used (e.g. sea ice)" id="tmpid.0002" label="WM" title="weighted time mean" uuid="6751a5c2-3a81-11e5-9ed5-ac72891c3257"/>265 <item description="" id="tmpid.0003" label="VCI" title="vertical coordinate interpolation" uuid="6751a91e-3a81-11e5-9ed5-ac72891c3257"/>266 <item description="" id="tmpid.0004" label="MSK" title="masking" uuid="6751aca2-3a81-11e5-9ed5-ac72891c3257"/>267 <item description="" id="tmpid.0005" label="NS" title="near surface (atmosphere)" uuid="6751afea-3a81-11e5-9ed5-ac72891c3257"/>268 <item description="" id="tmpid.0006" label="SPI" title="spatial interpolation" uuid="6751b35a-3a81-11e5-9ed5-ac72891c3257"/>269 <item description="" id="tmpid.0007" label="SM" title="spectral mean" uuid="6751bbb6-3a81-11e5-9ed5-ac72891c3257"/>270 <item description="" id="tmpid.0008" label="CL" title="climatology " uuid="6751bf62-3a81-11e5-9ed5-ac72891c3257"/>271 <item description="" id="tmpid.0009" label="STAT" title="temporal statistics" uuid="6751c2c8-3a81-11e5-9ed5-ac72891c3257"/>272 <item description="specialised definition of variable which is more tightly constrained than the CF standard name; variables marked with this will need special attention." id="tmpid.0010" label="SD" title="specialised definition" uuid="6751c62e-3a81-11e5-9ed5-ac72891c3257"/>267 <processingOptions class="vocab" id="cmip.drv.027" title="Processing steps required" uid="SECTION:processingOptions"> 268 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 269 <item description="" id="tmpid.0001" label="TM" title="time mean"/> 270 <item description="The weighted time mean is important when a time varying mask is used (e.g. sea ice)" id="tmpid.0002" label="WM" title="weighted time mean"/> 271 <item description="" id="tmpid.0003" label="VCI" title="vertical coordinate interpolation"/> 272 <item description="" id="tmpid.0004" label="MSK" title="masking"/> 273 <item description="" id="tmpid.0005" label="NS" title="near surface (atmosphere)"/> 274 <item description="" id="tmpid.0006" label="SPI" title="spatial interpolation"/> 275 <item description="" id="tmpid.0007" label="SM" title="spectral mean"/> 276 <item description="" id="tmpid.0008" label="CL" title="climatology "/> 277 <item description="" id="tmpid.0009" label="STAT" title="temporal statistics"/> 278 <item description="specialised definition of variable which is more tightly constrained than the CF standard name; variables marked with this will need special attention." id="tmpid.0010" label="SD" title="specialised definition"/> 273 279 </processingOptions> 280 <coordinateReference class="vocab" id="cmip.drv.028" title="Processing steps required" uid="SECTION:coordinateReference"> 281 <!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 282 <item id="tmpid.0001" label="Sphere" ogc_wkt="GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.01745329251994328,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]]" title="Spherical coordinate reference (WGS 84)" url="http://spatialreference.org/ref/epsg/wgs-84/"/> 283 </coordinateReference> 274 284 </main> 285 </document>
Note: See TracChangeset
for help on using the changeset viewer.