Changeset 508


Ignore:
Timestamp:
03/12/15 09:20:17 (6 years ago)
Author:
mjuckes
Message:

corrections

Location:
CMIP6dreqbuild/trunk
Files:
1 added
25 edited

Legend:

Unmodified
Added
Removed
  • CMIP6dreqbuild/trunk/docs/vocab.txt

    r442 r508  
    2626 - status {Status and role within the CMIP6 process} 
    2727 - uid 
     28 - project {Project which is sponsoring the CMIP6 contribution, if applicable} 
    2829## vsf=f 
    2930vocab product; Data product; cmip.drv.004; def; 0; 1; Yes 
     
    6566## vsf=s 
    6667vocab timeSlice; Time slices used in data request; cmip.drv.004; def; 0; 1; Yes 
    67  - type; specification 
    6868 - uid 
     69 - type 
     70 - start 
     71 - end 
     72 - step 
     73 - sliceLen 
     74 - nyears 
    6975vocab modelFamily; Family of model; cmip.drv.004; def; 0; 1; Yes 
    7076 - uid 
  • CMIP6dreqbuild/trunk/docs/vocabFrameworkSchema.xsd

    r470 r508  
    3131  <xs:attribute name="techNote" type="xs:string"/> 
    3232  <xs:attribute name="superclass" type="xs:string"/> 
     33  <xs:attribute name="usage" type="xs:string"/> 
    3334</xs:complexType> 
    3435 
  • CMIP6dreqbuild/trunk/src/framework/Makefile

    r502 r508  
    7676        cp data2.js /var/www/f/data/mipVarsData.js 
    7777        cp -r html/u/* /var/www/f/u/ 
     78        cp -r html/t/* /var/www/f/t/ 
    7879        cp -r html/index/* /var/www/f/index/ 
    7980        cp -r html/index.html /var/www/f/ 
  • CMIP6dreqbuild/trunk/src/framework/dreqPy/dreq.py

    r493 r508  
    2121  cc = collections.defaultdict( dict ) 
    2222  for l in ll[3:]: 
     23    if len(l) < len(ll[2]): 
     24      l.append( '' ) 
    2325    for i in range( len(ll[2]) ): 
    2426      cc[l[0]][ll[2][i]] = l[i] 
     
    125127                   try: 
    126128                     targ = self._base._inx.uid[ self.__dict__[a] ] 
     129                     lst = self.getHtmlLinkAttrStyle(a) 
     130                     m = lst( app, targ, frm=sect ) 
    127131                   except: 
    128132                     print ( a, self.__dict__[a], sect ) 
    129                      raise 
    130                    lst = self.getHtmlLinkAttrStyle(a) 
    131                    m = lst( app, targ, frm=sect ) 
     133                     m = '<li>%s: %s .... broken link</li>' % ( app, self.__dict__[a] ) 
     134                     ##raise 
    132135                   ##m = '<li>%s, %s: [%s] %s [%s]</li>' % ( a, self.__class__.__dict__[a].__href__(label=self._greenIcon), targ._h.label, targ.label, targ.__href__() ) 
    133136               else: 
     
    215218               else: 
    216219                 v = string.strip(v) 
    217                  thissect = '%s [%s]' % (self._h.title,self._h.tag) 
     220                 thissect = '%s [%s]' % (self._h.title,self._h.label) 
    218221                 if v in [ '',u'',' ', u' ']: 
    219222                   if nw1 < 20: 
     
    259262    self.vsamp = thisdoc 
    260263 
    261     self.nts = collections.namedtuple( 'sectdef', ['tag','label','title','id','itemLabelMode','level','maxOccurs','labUnique'] ) 
     264    self.nts = collections.namedtuple( 'sectdef', ['tag','label','title','id','itemLabelMode','level','maxOccurs','labUnique','uid'] ) 
    262265    self.nti = collections.namedtuple( 'itemdef', ['tag','label','title','type','useClass','techNote'] ) 
    263266    self.ntt = collections.namedtuple( 'sectinit', ['header','attributes','defaults'] ) 
     
    298301    self._t0 = self.parsevcfg(None) 
    299302    self._tableClass0 = self.itemClassFact( self._t0, ns=self.ns ) 
    300  
    301303## 
    302304## define a class for the section heading records. 
     
    447449         'type':'xs:string', 'uid':'__core__:description', 'label':'label' } 
    448450        if v == None: 
    449           vtt = self.nts( '__core__', 'CoreAttributes', 'Core Attributes', '00000000', 'def', '0', '0', 'false' ) 
     451          vtt = self.nts( '__core__', 'CoreAttributes', 'Core Attributes', '00000000', 'def', '0', '0', 'false', '__core__' ) 
    450452        else: 
    451           vtt = self.nts( '__main__', 'Attributes defined for the Data Request', 'Data Request Attributes', '00000001', 'def', '0', '0', 'false' ) 
     453          vtt = self.nts( '__main__', 'Attributes defined for the Data Request', 'Data Request Attributes', '00000001', 'def', '0', '0', 'false', '__main__' ) 
    452454      elif v == '__sect__': 
    453455        idict = {'title':'Record Description', \ 
    454456         'uid':'__core__:description', 'label':'label', 'useClass':'text', 'id':'id', 'maxOccurs':'', 'itemLabelMode':'', 'level':'', 'labUnique':'' } 
    455         vtt = self.nts( '__core__', 'sectionAttributes', 'Section Attributes', '00000000', 'def', '0', '0', 'false' ) 
     457        vtt = self.nts( '__sect__', 'sectionAttributes', 'Section Attributes', '00000000', 'def', '0', '0', 'false', '__sect__' ) 
    456458##<var label="var" uid="SECTION:var" useClass="vocab" title="MIP Variable" id="cmip.drv.001"> 
    457459      else: 
     
    464466        labu = v.getAttribute( 'labUnique' ) 
    465467        il = v.getElementsByTagName( 'rowAttribute' ) 
    466         vtt = self.nts( v.nodeName, l,t,i,ilm,lev, maxo, labu ) 
     468        vtt = self.nts( v.nodeName, l,t,i,ilm,lev, maxo, labu, 's__%s' % v.nodeName ) 
    467469        idict = {} 
    468470        for i in il: 
  • CMIP6dreqbuild/trunk/src/framework/dreqPy/makettl.py

    r507 r508  
    5252ttlRecHead = """ 
    5353dqc:%s  a      rdf:Property ; 
    54         dqc:inSection  dqc:coreAttribute ; 
     54""" 
     55ttlInSect = """   dqc:inSection  dqc:%s ; 
    5556""" 
    5657 
    57 ttlRecHead2 = """ 
    58 dqc:%s  a      rdf:Property ; 
    59         dqc:inSection  dqc:attribute ; 
    60 """ 
     58 
     59def ttlid( u ): 
     60  return string.replace( u, ':', '_' )  
    6161 
    6262al = ['uid', 'title', 'techNote', 'label', 'superclass', 'useClass', 'type', 'description'] 
     
    6666oo.write( header ) 
    6767for i in dq.coll['__core__'].items: 
    68   oo.write( ttlRecHead % i.uid ) 
     68  oo.write( ttlRecHead % ttlid( i.uid ) ) 
     69  oo.write( ttlInSect % ttlid( i._h.uid ) ) 
    6970  ll = [] 
    7071  for a in al: 
     
    7879 
    7980for i in dq.coll['__main__'].items: 
    80   oo.write( ttlRecHead2 % i.uid ) 
     81  oo.write( ttlRecHead % ttlid( i.uid ) ) 
     82  oo.write( ttlInSect % ttlid( i._h.uid ) ) 
    8183  ll = [] 
    8284  for a in al: 
     
    8991      ll.append( 'dqc:%s %s' % (a,txt) ) 
    9092  oo.write( string.join( ll, ' ;\n' ) + ' . \n' ) 
     93 
     94al = dq.coll['__sect__'].attDefn.keys() 
     95for i in dq.coll['__sect__'].items: 
     96  oo.write( ttlRecHead % ttlid( i.uid ) ) 
     97  oo.write( ttlInSect % ttlid( i._h.uid ) ) 
     98  ll = [] 
     99  for a in al: 
     100    txt = i.__dict__[a] 
     101    if txt != None: 
     102      if txt[:3] == 'xs:': 
     103        pass 
     104      else: 
     105        txt = '"%s"' % string.strip( txt, '"' ) 
     106      ll.append( 'dqc:%s %s' % (a,txt) ) 
     107  oo.write( string.join( ll, ' ;\n' ) + ' . \n' ) 
     108 
    91109oo.close() 
  • CMIP6dreqbuild/trunk/src/framework/dreqPy/scope.py

    r491 r508  
    171171    return self.ntot 
    172172 
    173   def volByExpt( self, l1, ex, exptList, pmax=2, cc=None, retainRedundantRank=False, intersection=False ): 
     173  def volByExpt( self, l1, ex, pmax=2, cc=None, retainRedundantRank=False, intersection=False ): 
    174174    """volByExpt: calculates the total data volume associated with an experiment/experiment group and a list of request items. 
    175175          The calculation has some approximations concerning the number of years in each experiment group.""" 
     
    301301      szv[v] = self.sz[inx.uid[v].stid]*npy[inx.uid[v].frequency] 
    302302      ov.append( self.dq.inx.uid[v] ) 
    303     ee = self.listIndexDual( ov, 'frequency', 'label', acount=None, alist=None, cdict=szv, cc=cc ) 
     303    ee = self.listIndexDual( ov, 'mipTable', 'label', acount=None, alist=None, cdict=szv, cc=cc ) 
    304304    ff = {} 
    305305    for v in vars: 
     
    412412      expts = self.esid_to_exptList(e,deref=True) 
    413413      if expts != None: 
    414         self.volByE[e] = self.volByExpt( l1, e, expts, pmax=pmax, cc=cc, retainRedundantRank=retainRedundantRank ) 
     414        self.volByE[e] = self.volByExpt( l1, e, pmax=pmax, cc=cc, retainRedundantRank=retainRedundantRank ) 
    415415        vtot += self.volByE[e][0] 
    416416        self.allVars = self.allVars.union( self.vars ) 
  • CMIP6dreqbuild/trunk/src/framework/makeTables.py

    r506 r508  
    257257    pass 
    258258 
     259  def rqvLink01(self,targ,frm='',ann=''): 
     260    if targ._h.label == 'remarks': 
     261      return '<li>%s: %s</li>' % ( targ.__href__(odir='../u/', label=targ.title), "Link to request variable broken"  ) 
     262    elif frm != "CMORvar": 
     263      cmv = targ._inx.uid[ targ.vid ] 
     264      if targ._h.label == 'remarks': 
     265        return '<li>%s [%s]: %s</li>' % ( cmv.label, targ.__href__(label=targ.priority) , 'Variable not defined or not found'  ) 
     266      else: 
     267        return '<li>%s [%s]: %s</li>' % ( cmv.label, targ.__href__(label=targ.priority) , cmv.__href__(label=cmv.title)  ) 
     268    else: 
     269      rg = targ._inx.uid[ targ.vgid ] 
     270      if targ._h.label == 'remarks': 
     271        return '<li>%s [%s]: %s</li>' % ( targ.label, targ.__href__(label=targ.priority) , 'Link not defined or not found'  ) 
     272      elif rg._h.label == 'remarks': 
     273        return '<li>%s [%s]: %s</li>' % ( rg.label, targ.__href__(label=targ.priority) , 'Group not defined or not found'  ) 
     274      else: 
     275        return '<li>%s [%s]: %s</li>' % ( rg.label, targ.__href__(label=targ.priority) , rg.__href__(label=rg.mip)  ) 
     276 
    259277  def snLink01(self,a,targ,frm='',ann=''): 
    260278    if targ._h.label == 'remarks': 
     
    323341dq.itemStyles['spatialShape'] = styls.labTtl 
    324342dq.coll['var'].items[0].__class__._linkAttrStyle['sn'] = styls.snLink01 
     343##dq.coll['requestVarGroup'].items[0].__class__._linkAttrStyle['requestVar'] = styls.rqvLink01 
     344dq.itemStyles['requestVar'] = styls.rqvLink01 
    325345 
    326346ht = htmlTrees(dq) 
  • CMIP6dreqbuild/trunk/src/framework/out/BlockSchema.csv

    r470 r508  
    1 "Block schema definition"                                                        
    2                                                          
    3 "label" "uid"   "title" "description"   "useClass"      "type"  "techNote"      "superclass" 
    4 "label" "__core__:label"        "Record Label"  "A single word, with restricted character set"  "__core__"      "xs:string"             "rdf:property" 
    5 "uid"   "__core__:uid"  "Record Identifier"     "Unique identifier"     "__core__"      "xs:string"             "rdf:property" 
    6 "title" "__core__:title"        "Record Title"  "A few words describing the object"     "__core__"      "xs:string"             "rdf:property" 
    7 "description"   "__core__:description"  "Record Description"    "An extended description of the object" "__core__"      "xs:string"             "rdf:property" 
    8 "useClass"      "__core__:useClass"     "Record Class"  '"The class: value should be from a defined vocabulary. All records in the schema definition section must have class set to ''__core__''."'     "__core__"      "xs:string"             "rdf:property" 
    9 "type"  "__core__:type" "Record Type"   "The type specifies the XSD value type constraint, e.g. xs:string."     "__core__"      "xs:string"             "rdfs:range" 
    10 "techNote"      "__core__:techNote"     "Technical Note"        "Additional technical information which can be used to specify additional properties."  "__core__"      "xs:string"             "rdf:property" 
    11 "superclass"    "__core__:superclass"   "Superclass"    "States what class the property is derived from"        "__core__"      "xs:string"             "rdf:property" 
    12 "id"    "__core__:id"   "Alternative identifier"        "Alternative identifier"        "__core__"      "xs:string"             "rdf:property" 
    13 "itemLabelMode" "__core__:iitemLabelMode"       "Item Label Mode"       "Item Label Mode"       "__core__"      "xs:string"             "rdf:property" 
    14 "level" "__core__:level"        "Level" "Level" "__core__"      "xs:integer"            "rdf:property" 
    15 "maxOccurs"     "__core__:maxOccurs"    "Maximum number of permissible occurrences of this section"     "Maximum number of permissible occurences of this section"      "__core__"      "xs:string"             "rdf:property" 
    16 "labUnique"     "__core__:labUnique"    "Set true if label of each record is unique within section"     "Set true if label of each record is unique within section"     "__core__"      "xs:boolean"            "rdf:property" 
     1"Block schema definition"                                                                
     2                                                                 
     3"label" "uid"   "title" "description"   "useClass"      "type"  "techNote"      "superclass"    “usage” 
     4"label" "__core__:label"        "Record Label"  "A single word,  with restricted character set" "__core__"      "xs:string"             "rdf:property"  “A short mnemonic word which is potentially meaningful but also concise and suitable for use in a programming environment” 
     5"uid"   "__core__:uid"  "Record Identifier"     "Unique identifier"     "__core__"      "xs:string"             "rdf:property"  “Must be unique in the data request. For well known concepts this may be related to the label, but for items such as simple links between concepts an  a random string will be used” 
     6"title" "__core__:title"        "Record Title"  "A few words describing the object"     "__core__"      "xs:string"             "rdf:property"  “A short phrase, suitable for use as a section heading” 
     7"description"   "__core__:description"  "Record Description"    "An extended description of the object/concept. "       "__core__"      "xs:string"             â€œskos:definition”    
     8"useClass"      "__core__:useClass"     "Record Class"  '"The class: value should be from a defined vocabulary. All records in the schema definition section must have class set to ''__core__''."'     "__core__"      "xs:string"             "rdf:property"   
     9"type"  "__core__:type" "Record Type"   "The type specifies the XSD value type constraint,  e.g. xs:string."    "__core__"      "xs:string"             "rdfs:range"     
     10"techNote"      "__core__:techNote"     "Technical Note"        "Additional technical information which can be used to specify additional properties."  "__core__"      "xs:string"             "rdf:property"   
     11"superclass"    "__core__:superclass"   "Superclass"    "States what class the property is derived from"        "__core__"      "xs:string"             "rdf:property"   
     12"id"    "__core__:id"   "Alternative identifier"        "Alternative identifier"        "__core__"      "xs:string"             "rdf:property"   
     13"itemLabelMode" "__core__:itemLabelMode"        "Item Label Mode"       "Item Label Mode"       "__core__"      "xs:string"             "rdf:property"   
     14"level" "__core__:level"        "Level" "Level" "__core__"      "xs:integer"            "rdf:property"   
     15"maxOccurs"     "__core__:maxOccurs"    "Maximum number of permissible occurrences of this section"     "Maximum number of permissible occurences of this section"      "__core__"      "xs:string"             "rdf:property"   
     16"labUnique"     "__core__:labUnique"    "Set true if label of each record is unique within section"     "Set true if label of each record is unique within section"     "__core__"      "xs:boolean"            "rdf:property"   
     17“usage”     "__core__:usage"        “Usage notes”       â€œNotes on the usage of the predicate/concept defined by this node”  "__core__"      "xs:string"             "rdf:property"   
  • CMIP6dreqbuild/trunk/src/framework/out/dreq2Defn.xml

    r505 r508  
    44xmlns="urn:w3id.org:cmip6.dreq.framework:a" 
    55xsi:schemaLocation="http://w3id.org/cmip6dr/ns vocabFrameworkSchema_v01beta.xsd"> 
    6 <table label="requestVarGroup" uid="SECTION:requestVarGroup" title="3.1 Request variable group: a collection of request variables" id="cmip.drv.008" itemLabelMode="def" level="3" maxOccurs="1" labUnique="Yes"> 
    7   <rowAttribute label="label" type="xs:string" title="Record Label" uid="d23bcec6-8fa4-11e5-a341-ac72891c3257"/> 
    8   <rowAttribute label="title" type="xs:string" title="Record Title" uid="d23c0a76-8fa4-11e5-a341-ac72891c3257"/> 
    9   <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="" superclass=""/> 
    10   <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="" superclass=""/> 
    11   <rowAttribute label="uid" type="xs:string" title="" useClass="recordId" techNote="" description="" uid="" superclass=""/> 
    12   <rowAttribute label="mip" type="xs:string" title="Endorsed MIP defining the variable group" useClass="" techNote="" description="" uid="" superclass=""/> 
    13   <rowAttribute label="ref" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    14   <rowAttribute label="refNote" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    15 </table> 
    16 <table label="requestItem" uid="SECTION:requestItem" title="3.2 Request Item: specifying the number of years for an experiment" id="cmip.drv.010" itemLabelMode="def" level="5" maxOccurs="1" labUnique="No"> 
    17   <rowAttribute label="label" type="xs:string" title="Record Label" uid="d23c57b0-8fa4-11e5-a341-ac72891c3257"/> 
    18   <rowAttribute label="title" type="xs:string" title="Record Title" uid="d23c931a-8fa4-11e5-a341-ac72891c3257"/> 
    19   <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="" superclass=""/> 
    20   <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="" superclass=""/> 
    21   <rowAttribute label="uid" type="xs:string" title="" useClass="recordId" techNote="" description="" uid="" superclass=""/> 
    22   <rowAttribute label="mip" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    23   <rowAttribute label="tab" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    24   <rowAttribute label="expt" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    25   <rowAttribute label="rlid" type="xs:string" title="Identifier of corresponding requestLink" useClass="internalLink" techNote="" description="" uid="" superclass=""/> 
    26   <rowAttribute label="esid" type="xs:string" title="Identifier experiment(s): a link to an experiment, an experiment group or a MIP" useClass="internalLink" techNote="" description="" uid="" superclass=""/> 
    27   <rowAttribute label="esidComment" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    28   <rowAttribute label="preset" type="xs:integer" title="Option to override priority set in each variable group" useClass="" techNote="" description="" uid="" superclass=""/> 
    29   <rowAttribute label="ny" type="xs:integer" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    30   <rowAttribute label="nexmax" type="xs:integer" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    31   <rowAttribute label="nenmax" type="xs:integer" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    32   <rowAttribute label="nymax" type="xs:float" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    33 </table> 
    34 <table label="exptgroup" uid="SECTION:exptgroup" title="Experiment Group" id="cmip.drv.013" itemLabelMode="def" level="0" maxOccurs="1" labUnique="No"> 
    35   <rowAttribute label="label" type="xs:string" title="Record Label" uid="d23cda64-8fa4-11e5-a341-ac72891c3257"/> 
    36   <rowAttribute label="title" type="xs:string" title="Record Title" uid="d23ce02c-8fa4-11e5-a341-ac72891c3257"/> 
    37   <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="" superclass=""/> 
    38   <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="" superclass=""/> 
    39   <rowAttribute label="uid" type="xs:string" title="Record identifier" useClass="recordId" techNote="" description="" uid="" superclass=""/> 
    40   <rowAttribute label="tierMin" type="xs:integer" title="Minimum tier of experiments in group" useClass="" techNote="" description="" uid="" superclass=""/> 
    41   <rowAttribute label="ntot" type="xs:integer" title="Total number of years" useClass="" techNote="" description="" uid="" superclass=""/> 
    42 </table> 
    43 <table label="CMORvar" uid="SECTION:CMORvar" title="1.3 CMOR Variable" id="cmip.drv.002" itemLabelMode="def" level="1" maxOccurs="1" labUnique="No"> 
    44   <rowAttribute label="label" type="xs:string" title="Record Label" uid="d23ceca2-8fa4-11e5-a341-ac72891c3257"/> 
    45   <rowAttribute label="title" type="xs:string" title="Record Title" uid="d23cee82-8fa4-11e5-a341-ac72891c3257"/> 
    46   <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="" superclass=""/> 
    47   <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="" superclass=""/> 
    48   <rowAttribute label="uid" type="xs:string" title="" useClass="recordId" techNote="" description="" uid="" superclass=""/> 
    49   <rowAttribute label="title" type="xs:string" title="Long name" useClass="" techNote="" description="The long name is used as the long_name variable attribute in the NetCDF files." uid="" superclass=""/> 
    50   <rowAttribute label="stid" type="xs:string" title="Link to a record specifying the structure of the variable (dimensions and associated variable attributes)." useClass="internalLink" techNote="structure" description="" uid="" superclass=""/> 
    51   <rowAttribute label="vid" type="xs:string" title="MIP Variable" useClass="internalLink" techNote="var" description="The MIP Variable specifies the physical quantity." uid="" superclass=""/> 
    52   <rowAttribute label="valid_min" type="xs:string" title="Minimum expected value for this variable." useClass="" techNote="" description="" uid="" superclass=""/> 
    53   <rowAttribute label="valid_max" type="xs:string" title="Maximum expected value for this variable." useClass="" techNote="" description="" uid="" superclass=""/> 
    54   <rowAttribute label="ok_min_mean_abs" type="xs:string" title="Minimum expected value of the mean absolute value at each point in time" useClass="" techNote="" description="" uid="" superclass=""/> 
    55   <rowAttribute label="ok_max_mean_abs" type="xs:string" title="Maximum expected value of the mean absolute value at each point in time" useClass="" techNote="" description="" uid="" superclass=""/> 
    56   <rowAttribute label="deflate" type="xs:string" title="Deflate: NetCDF compression parameter" useClass="" techNote="" description="" uid="" superclass=""/> 
    57   <rowAttribute label="deflate_level" type="xs:string" title="Deflate Level: NetCDF compression parameter" useClass="" techNote="" description="" uid="" superclass=""/> 
    58   <rowAttribute label="shuffle" type="xs:string" title="Shuffle: NetCDF compression parameter" useClass="" techNote="" description="" uid="" superclass=""/> 
    59   <rowAttribute label="defaultPriority" type="xs:integer" title="Indicative priority for this parameter, which is over-ruled by the requestVar priority setting, but provides a reference for organisation of the CMORvariables" useClass="" techNote="" description="" uid="" superclass=""/> 
    60   <rowAttribute label="type" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    61   <rowAttribute label="modeling_realm" type="xs:string" title="" useClass="drsVocab" techNote="" description="" uid="" superclass=""/> 
    62   <rowAttribute label="positive" type="xs:string" title="" useClass="CMORdirective" techNote="" description="" uid="" superclass=""/> 
    63   <rowAttribute label="mipTable" type="xs:string" title="The MIP table: each table identifies a collection of variables" useClass="drsVocab" techNote="" description="" uid="" superclass=""/> 
    64   <rowAttribute label="prov" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    65   <rowAttribute label="provNote" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    66   <rowAttribute label="frequency" type="xs:string" title="Frequency of time steps to be archived." useClass="drsVocab" techNote="" description="" uid="" superclass=""/> 
    67   <rowAttribute label="rowIndex" type="xs:integer" title="Row index of entry in source sheet" useClass="" techNote="" description="" uid="" superclass=""/> 
    68   <rowAttribute label="description" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    69 </table> 
    70 <table label="objective" uid="SECTION:objective" title="1.6 Scientific objectives" id="cmip.drv.014" itemLabelMode="def" level="0" maxOccurs="1" labUnique="No"> 
    71   <rowAttribute label="label" type="xs:string" title="Record Label" uid="d23cffb2-8fa4-11e5-a341-ac72891c3257"/> 
    72   <rowAttribute label="title" type="xs:string" title="Record Title" uid="d23d0188-8fa4-11e5-a341-ac72891c3257"/> 
    73   <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="" superclass=""/> 
    74   <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="" superclass=""/> 
    75   <rowAttribute label="uid" type="xs:string" title="Record identifier" useClass="recordId" techNote="" description="" uid="" superclass=""/> 
    76   <rowAttribute label="description" type="xs:string" title="Description" useClass="freeText" techNote="" description="" uid="" superclass=""/> 
    77   <rowAttribute label="title" type="xs:string" title="Long name" useClass="" techNote="" description="" uid="" superclass=""/> 
    78   <rowAttribute label="mip" type="xs:string" title="Endorsed MIP" useClass="" techNote="" description="" uid="" superclass=""/> 
    79 </table> 
    80 <table label="spatialShape" uid="SECTION:spatialShape" title="2.1 Spatial dimensions" id="cmip.drv.004" itemLabelMode="def" level="3" maxOccurs="1" labUnique="Yes"> 
    81   <rowAttribute label="label" type="xs:string" title="Record Label" uid="d23d0890-8fa4-11e5-a341-ac72891c3257"/> 
    82   <rowAttribute label="title" type="xs:string" title="Record Title" uid="d23d0a3e-8fa4-11e5-a341-ac72891c3257"/> 
    83   <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="" superclass=""/> 
    84   <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="" superclass=""/> 
    85   <rowAttribute label="uid" type="xs:string" title="" useClass="recordId" techNote="" description="" uid="" superclass=""/> 
    86   <rowAttribute label="dimensions" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    87   <rowAttribute label="shape" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    88   <rowAttribute label="levels" type="xs:integer" title="Number of vertical levels (ignored if levelFlag=false)" useClass="" techNote="" description="" uid="" superclass=""/> 
    89   <rowAttribute label="levelFlag" type="xs:boolean" title="Flag set to *false* if number of levels is optional (e.g. determined by the model)" useClass="" techNote="" description="" uid="" superclass=""/> 
    90 </table> 
    91 <table label="requestLink" uid="SECTION:requestLink" title="3.3 Request link: linking a set of variables and a set of experiments" id="cmip.drv.009" itemLabelMode="def" level="4" maxOccurs="1" labUnique="No"> 
    92   <rowAttribute label="label" type="xs:string" title="Record Label" uid="d23d1240-8fa4-11e5-a341-ac72891c3257"/> 
    93   <rowAttribute label="title" type="xs:string" title="Record Title" uid="d23d13ee-8fa4-11e5-a341-ac72891c3257"/> 
    94   <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="" superclass=""/> 
    95   <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="" superclass=""/> 
    96   <rowAttribute label="uid" type="xs:string" title="" useClass="recordId" techNote="" description="" uid="" superclass=""/> 
    97   <rowAttribute label="mip" type="xs:string" title="Endorsed MIP requesting the data" useClass="internalLink" techNote="" description="" uid="" superclass=""/> 
    98   <rowAttribute label="tab" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    99   <rowAttribute label="objective" type="xs:string" title="Science objectives associated with this request" useClass="" techNote="" description="Every request for model ouput is linked to one or more objectives. The XML link is made via objectiveLink records, each of which associates one requestLink with one objective record." uid="" superclass=""/> 
    100   <rowAttribute label="grid" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    101   <rowAttribute label="gridreq" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    102   <rowAttribute label="comment" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    103   <rowAttribute label="ref" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    104   <rowAttribute label="refNote" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    105   <rowAttribute label="refid" type="xs:string" title="reference to a request Variable Group" useClass="internalLink" techNote="" description="" uid="" superclass=""/> 
    106   <rowAttribute label="opt" type="xs:string" title="option for selecting a subset of variables" useClass="" techNote="" description="" uid="" superclass=""/> 
    107   <rowAttribute label="opar" type="xs:string" title="parameter associated with *opt*" useClass="" techNote="" description="" uid="" superclass=""/> 
    108 </table> 
    109 <table label="tableSection" uid="SECTION:tableSection" title="3.4 CMOR Table Sections" id="cmip.drv.007" itemLabelMode="def" level="1" maxOccurs="1" labUnique="No"> 
    110   <rowAttribute label="label" type="xs:string" title="Record Label" uid="d23d1fc4-8fa4-11e5-a341-ac72891c3257"/> 
    111   <rowAttribute label="title" type="xs:string" title="Record Title" uid="d23d2186-8fa4-11e5-a341-ac72891c3257"/> 
    112   <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="" superclass=""/> 
    113   <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="" superclass=""/> 
    114   <rowAttribute label="uid" type="xs:string" title="" useClass="recordId" techNote="" description="" uid="" superclass=""/> 
    115   <rowAttribute label="gpid" type="xs:string" title="Identifier for CMOR Tables" useClass="internalLink" techNote="requestVarGroup" description="" uid="" superclass=""/> 
    116   <rowAttribute label="mip" type="xs:string" title="Project" useClass="" techNote="" description="" uid="" superclass=""/> 
    117   <rowAttribute label="ref" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    118   <rowAttribute label="refNote" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    119 </table> 
    120 <table label="modelConfig" uid="SECTION:modelConfig" title="3.5 Model configuration options" id="cmip.drv.020" itemLabelMode="an" level="0" maxOccurs="1" labUnique="Yes"> 
    121   <rowAttribute label="label" type="xs:string" title="Record Label" uid="d23d28c0-8fa4-11e5-a341-ac72891c3257"/> 
    122   <rowAttribute label="title" type="xs:string" title="Record Title" uid="d23d2a78-8fa4-11e5-a341-ac72891c3257"/> 
    123   <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="" superclass=""/> 
    124   <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="" superclass=""/> 
    125   <rowAttribute label="uid" type="xs:string" title="Record identifier" useClass="recordId" techNote="" description="" uid="" superclass=""/> 
    126   <rowAttribute label="title" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    127   <rowAttribute label="MIPs" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    128   <rowAttribute label="usage" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    129   <rowAttribute label="type" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    130   <rowAttribute label="range" type="xs:string" title="Range of valid values, e.g. xs:boolean" useClass="" techNote="" description="" uid="" superclass=""/> 
    131 </table> 
    132 <table label="varChoiceLinkC" uid="SECTION:varChoiceLinkC" title="3.6 Links a variable to a choice element" id="cmip.drv.017" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 
    133   <rowAttribute label="label" type="xs:string" title="Record Label" uid="d23d3284-8fa4-11e5-a341-ac72891c3257"/> 
    134   <rowAttribute label="title" type="xs:string" title="Record Title" uid="d23d3432-8fa4-11e5-a341-ac72891c3257"/> 
    135   <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="" superclass=""/> 
    136   <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="" superclass=""/> 
    137   <rowAttribute label="uid" type="xs:string" title="Record identifier" useClass="recordId" techNote="" description="" uid="" superclass=""/> 
    138   <rowAttribute label="vid" type="xs:string" title="Variable" useClass="internalLink" techNote="" description="" uid="" superclass=""/> 
    139   <rowAttribute label="cfgid" type="xs:string" title="Configuration Option" useClass="internalLink" techNote="" description="" uid="" superclass=""/> 
    140   <rowAttribute label="cfg" type="xs:boolean" title="Configuration Value" useClass="" techNote="" description="" uid="" superclass=""/> 
    141   <rowAttribute label="cid" type="xs:string" title="Choice -- can provide a link to related variables" useClass="internalLink" techNote="" description="" uid="" superclass=""/> 
    142 </table> 
    143 <table label="objectiveLink" uid="SECTION:objectiveLink" title="3.7 Link between scientific objectives and requests" id="cmip.drv.015" itemLabelMode="def" level="0" maxOccurs="1" labUnique="No"> 
    144   <rowAttribute label="label" type="xs:string" title="Record Label" uid="d23d3b94-8fa4-11e5-a341-ac72891c3257"/> 
    145   <rowAttribute label="title" type="xs:string" title="Record Title" uid="d23d3d42-8fa4-11e5-a341-ac72891c3257"/> 
    146   <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="" superclass=""/> 
    147   <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="" superclass=""/> 
    148   <rowAttribute label="uid" type="xs:string" title="Record identifier" useClass="recordId" techNote="" description="" uid="" superclass=""/> 
    149   <rowAttribute label="oid" type="xs:string" title="Identifier for a scientific objective" useClass="internalLink" techNote="objective" description="" uid="" superclass=""/> 
    150   <rowAttribute label="rid" type="xs:string" title="Identifier for a request link" useClass="internalLink" techNote="requestLink" description="" uid="" superclass=""/> 
    151 </table> 
    152 <table label="remarks" uid="SECTION:remarks" title="3.08 Remarks about other items" id="cmip.drv.011" itemLabelMode="def" level="10" maxOccurs="1" labUnique="No"> 
    153   <rowAttribute label="label" type="xs:string" title="Record Label" uid="d23d4454-8fa4-11e5-a341-ac72891c3257"/> 
    154   <rowAttribute label="title" type="xs:string" title="Record Title" uid="d23d45f8-8fa4-11e5-a341-ac72891c3257"/> 
    155   <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="" superclass=""/> 
    156   <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="" superclass=""/> 
    157   <rowAttribute label="uid" type="xs:string" title="" useClass="recordId" techNote="" description="" uid="" superclass=""/> 
    158   <rowAttribute label="tid" type="xs:string" title="Target identifier: the record ID of the item this refers to." useClass="internalLink" techNote="" description="" uid="" superclass=""/> 
    159   <rowAttribute label="tattr" type="xs:string" title="Target attribute: an attribute of the target item, or 'ALL'" useClass="" techNote="" description="" uid="" superclass=""/> 
    160   <rowAttribute label="description" type="xs:string" title="Free text remarks -- unless there are specific restrictions associated with the class attribute of this remark" useClass="" techNote="" description="" uid="" superclass=""/> 
    161   <rowAttribute label="class" type="xs:string" title="Different classes of remark support a range of specialised usages: free (a free text comment), modelTypeReq (a model type requirement), modelTypeExcl (a model type exclusion), varAlt (an alternative variable that my be used instead of this one), varSup (an alternative variable which, if selected makes this one redundant), attChange (a change in the value of an attribute -- old value provided in 'techNote')." useClass="" techNote="" description="" uid="" superclass=""/> 
    162   <rowAttribute label="qid" type="xs:string" title="Identifier required for classes modelTypeReq, modelTypeExcl, varAlt, varSup. For the first two classes, the identifier points to a model type specification, for the last two it points to an output variable specification." useClass="" techNote="" description="" uid="" superclass=""/> 
    163   <rowAttribute label="techNote" type="xs:string" title="Optional additional machine readable content (though not restricted by the schema)" useClass="" techNote="" description="" uid="" superclass=""/> 
    164   <rowAttribute label="prov" type="xs:string" title="Provenance" useClass="" techNote="" description="" uid="" superclass=""/> 
    165 </table> 
    166 <table label="experiment" uid="SECTION:experiment" title="1.5 Experiments" id="cmip.drv.012" itemLabelMode="def" level="0" maxOccurs="1" labUnique="No"> 
    167   <rowAttribute label="label" type="xs:string" title="Record Label" uid="d23d5002-8fa4-11e5-a341-ac72891c3257"/> 
    168   <rowAttribute label="title" type="xs:string" title="Record Title" uid="d23d51b0-8fa4-11e5-a341-ac72891c3257"/> 
    169   <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="" superclass=""/> 
    170   <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="" superclass=""/> 
    171   <rowAttribute label="uid" type="xs:string" title="Record identifier" useClass="recordId" techNote="" description="" uid="" superclass=""/> 
    172   <rowAttribute label="description" type="xs:string" title="Description" useClass="freeText" techNote="" description="" uid="" superclass=""/> 
    173   <rowAttribute label="egid" type="xs:string" title="Identifier for experiment group" useClass="internalLink" techNote="" description="" uid="" superclass=""/> 
    174   <rowAttribute label="mip" type="xs:string" title="MIP defining experiment" useClass="internalLink" techNote="" description="" uid="" superclass=""/> 
    175   <rowAttribute label="mcfg" type="xs:string" title="Model category" useClass="" techNote="" description="" uid="" superclass=""/> 
    176   <rowAttribute label="tier" type="xs:integer" title="Tier of experiment" useClass="" techNote="" description="Experiments are assigned a tier by the MIP specifying the tier, tier 1 experiments being the most important." uid="" superclass=""/> 
    177   <rowAttribute label="nstart" type="xs:integer" title="Number of start dates" useClass="" techNote="" description="" uid="" superclass=""/> 
    178   <rowAttribute label="starty" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    179   <rowAttribute label="endy" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    180   <rowAttribute label="yps" type="xs:integer" title="Years per simulation" useClass="" techNote="" description="" uid="" superclass=""/> 
    181   <rowAttribute label="ensz" type="xs:integer" title="Ensemble size" useClass="" techNote="" description="" uid="" superclass=""/> 
    182   <rowAttribute label="ntot" type="xs:integer" title="Total number of years" useClass="" techNote="" description="" uid="" superclass=""/> 
    183   <rowAttribute label="comment" type="xs:string" title="Comment" useClass="" techNote="" description="" uid="" superclass=""/> 
    184 </table> 
    185 <table label="requestVar" uid="SECTION:requestVar" title="1.4 Request variable (carrying priority and link to group)" id="cmip.drv.006" itemLabelMode="def" level="3" maxOccurs="1" labUnique="No"> 
    186   <rowAttribute label="label" type="xs:string" title="Record Label" uid="d23d5d40-8fa4-11e5-a341-ac72891c3257"/> 
    187   <rowAttribute label="title" type="xs:string" title="Record Title" uid="d23d5ee4-8fa4-11e5-a341-ac72891c3257"/> 
    188   <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="" superclass=""/> 
    189   <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="" superclass=""/> 
    190   <rowAttribute label="uid" type="xs:string" title="" useClass="recordId" techNote="" description="" uid="" superclass=""/> 
    191   <rowAttribute label="priority" type="xs:integer" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    192   <rowAttribute label="vid" type="xs:string" title="Identifier for MIP Output Variable" useClass="internalLink" techNote="ovar" description="" uid="" superclass=""/> 
    193   <rowAttribute label="vgid" type="xs:string" title="Identifier for Variable Group" useClass="internalLink" techNote="requestVarGroup" description="" uid="" superclass=""/> 
    194   <rowAttribute label="mip" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    195   <rowAttribute label="table" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    196 </table> 
    197 <table label="standardname" uid="SECTION:standardname" title="1.8 CF Standard Names" id="cmip.drv.021" itemLabelMode="an" level="0" maxOccurs="1" labUnique="Yes"> 
    198   <rowAttribute label="label" type="xs:string" title="Record Label" uid="d23d6722-8fa4-11e5-a341-ac72891c3257"/> 
    199   <rowAttribute label="title" type="xs:string" title="Record Title" uid="d23d68d0-8fa4-11e5-a341-ac72891c3257"/> 
    200   <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="" superclass=""/> 
    201   <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="" superclass=""/> 
    202   <rowAttribute label="uid" type="xs:string" title="CF Standard Name" useClass="recordId" techNote="" description="" uid="" superclass=""/> 
    203   <rowAttribute label="description" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    204   <rowAttribute label="title" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    205   <rowAttribute label="label" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    206   <rowAttribute label="units" type="xs:string" title="Canonical Units" useClass="" techNote="" description="" uid="" superclass=""/> 
    207 </table> 
    208 <table label="varChoiceLinkR" uid="SECTION:varChoiceLinkR" title="3.09 Links a variable to a choice element" id="cmip.drv.016" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 
    209   <rowAttribute label="label" type="xs:string" title="Record Label" uid="d23d6fba-8fa4-11e5-a341-ac72891c3257"/> 
    210   <rowAttribute label="title" type="xs:string" title="Record Title" uid="d23d715e-8fa4-11e5-a341-ac72891c3257"/> 
    211   <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="" superclass=""/> 
    212   <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="" superclass=""/> 
    213   <rowAttribute label="uid" type="xs:string" title="Record identifier" useClass="recordId" techNote="" description="" uid="" superclass=""/> 
    214   <rowAttribute label="vid" type="xs:string" title="Variable" useClass="internalLink" techNote="" description="" uid="" superclass=""/> 
    215   <rowAttribute label="cid" type="xs:string" title="Choice" useClass="internalLink" techNote="" description="" uid="" superclass=""/> 
    216   <rowAttribute label="rank" type="xs:integer" title="For ranked choices, the rank of this variable (higher rank makes lower ranks redundant)" useClass="" techNote="" description="" uid="" superclass=""/> 
    217 </table> 
    218 <table label="var" uid="SECTION:var" title="1.2 MIP Variable" id="cmip.drv.001" itemLabelMode="def" level="0" maxOccurs="1" labUnique="No"> 
    219   <rowAttribute label="label" type="xs:string" title="Record Label" uid="d23d7870-8fa4-11e5-a341-ac72891c3257"/> 
    220   <rowAttribute label="title" type="xs:string" title="Record Title" uid="d23d7a14-8fa4-11e5-a341-ac72891c3257"/> 
    221   <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="" superclass=""/> 
    222   <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="" superclass=""/> 
    223   <rowAttribute label="sn" type="xs:string" title="CF Standard Name" useClass="internalLink" techNote="" description="The CF Standard Name is part of an extensive vocabulary maintained within the CF Convention." uid="" superclass=""/> 
    224   <rowAttribute label="units" type="xs:string" title="Units" useClass="" techNote="" description="" uid="" superclass=""/> 
    225   <rowAttribute label="description" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    226   <rowAttribute label="title" type="xs:string" title="Long name" useClass="" techNote="" description="The long name is used as the long_name variable attribute in the NetCDF files." uid="" superclass=""/> 
    227   <rowAttribute label="procnote" type="xs:string" title="Processing notes" useClass="list" techNote="" description="" uid="" superclass=""/> 
    228   <rowAttribute label="procComment" type="xs:string" title="Processing comments" useClass="freeText" techNote="" description="" uid="" superclass=""/> 
    229   <rowAttribute label="prov" type="xs:string" title="Provenance" useClass="freeText" techNote="" description="" uid="" superclass=""/> 
    230   <rowAttribute label="uid" type="xs:string" title="Record identifier" useClass="recordId" techNote="" description="" uid="" superclass=""/> 
    231 </table> 
    232 <table label="mip" uid="SECTION:mip" title="1.1 Model Intercomparison Project" id="cmip.drv.019" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 
    233   <rowAttribute label="label" type="xs:string" title="Record Label" uid="d23d836a-8fa4-11e5-a341-ac72891c3257"/> 
    234   <rowAttribute label="title" type="xs:string" title="Record Title" uid="d23d850e-8fa4-11e5-a341-ac72891c3257"/> 
    235   <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="" superclass=""/> 
    236   <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="" superclass=""/> 
    237   <rowAttribute label="uid" type="xs:string" title="Record identifier" useClass="recordId" techNote="" description="" uid="" superclass=""/> 
    238   <rowAttribute label="title" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    239   <rowAttribute label="description" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    240   <rowAttribute label="url" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    241   <rowAttribute label="status" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    242 </table> 
    243 <table label="varChoice" uid="SECTION:varChoice" title="3.10 Indicates variables for which a there is a range of potential CMOR Varibles" id="cmip.drv.018" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 
    244   <rowAttribute label="label" type="xs:string" title="Record Label" uid="d23d8c0c-8fa4-11e5-a341-ac72891c3257"/> 
    245   <rowAttribute label="title" type="xs:string" title="Record Title" uid="d23d8dba-8fa4-11e5-a341-ac72891c3257"/> 
    246   <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="" superclass=""/> 
    247   <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="" superclass=""/> 
    248   <rowAttribute label="uid" type="xs:string" title="Record identifier" useClass="recordId" techNote="" description="" uid="" superclass=""/> 
    249   <rowAttribute label="class" type="xs:string" title="Class of choice: heirarchy|cfg" useClass="" techNote="" description="" uid="" superclass=""/> 
    250   <rowAttribute label="title" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    251   <rowAttribute label="description" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    252   <rowAttribute label="varList" type="xs:string" title="A colon separated list of variable names" useClass="" techNote="" description="" uid="" superclass=""/> 
    253   <rowAttribute label="optionList" type="xs:string" title="A list of options, one for each variable" useClass="" techNote="" description="" uid="" superclass=""/> 
    254 </table> 
    255 <table label="temporalShape" uid="SECTION:temporalShape" title="2.2 Temporal dimension" id="cmip.drv.005" itemLabelMode="def" level="3" maxOccurs="1" labUnique="Yes"> 
    256   <rowAttribute label="label" type="xs:string" title="Record Label" uid="d23d9580-8fa4-11e5-a341-ac72891c3257"/> 
    257   <rowAttribute label="title" type="xs:string" title="Record Title" uid="d23d972e-8fa4-11e5-a341-ac72891c3257"/> 
    258   <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="" superclass=""/> 
    259   <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="" superclass=""/> 
    260   <rowAttribute label="uid" type="xs:string" title="" useClass="recordId" techNote="" description="" uid="" superclass=""/> 
    261   <rowAttribute label="dimensions" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    262   <rowAttribute label="label" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    263   <rowAttribute label="description" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    264 </table> 
    265 <table label="structure" uid="SECTION:structure" title="2.3 Dimensions and related information" id="cmip.drv.003" itemLabelMode="def" level="3" maxOccurs="1" labUnique="Yes"> 
    266   <rowAttribute label="label" type="xs:string" title="Record Label" uid="d23d9e5e-8fa4-11e5-a341-ac72891c3257"/> 
    267   <rowAttribute label="title" type="xs:string" title="Record Title" uid="d23da002-8fa4-11e5-a341-ac72891c3257"/> 
    268   <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="" superclass=""/> 
    269   <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="" superclass=""/> 
    270   <rowAttribute label="uid" type="xs:string" title="" useClass="recordId" techNote="" description="" uid="" superclass=""/> 
    271   <rowAttribute label="spid" type="xs:string" title="" useClass="internalLink" techNote="spatialShape" description="" uid="" superclass=""/> 
    272   <rowAttribute label="tmid" type="xs:string" title="" useClass="internalLink" techNote="temporalShape" description="" uid="" superclass=""/> 
    273   <rowAttribute label="odims" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    274   <rowAttribute label="coords" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    275   <rowAttribute label="cell_methods" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    276   <rowAttribute label="cell_measures" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    277   <rowAttribute label="flag_values" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    278   <rowAttribute label="flag_meanings" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    279   <rowAttribute label="description" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    280   <rowAttribute label="procNote" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    281   <rowAttribute label="prov" type="xs:string" title="" useClass="" techNote="" description="" uid="" superclass=""/> 
    282 </table> 
    283 <table label="grids" uid="SECTION:grids" title="1.7 Specification of dimensions" id="cmip.drv.003" itemLabelMode="def" level="4" maxOccurs="1" labUnique="Yes"> 
    284   <rowAttribute label="label" type="xs:string" title="Record Label" uid="d23dab9c-8fa4-11e5-a341-ac72891c3257"/> 
    285   <rowAttribute label="title" type="xs:string" title="Record Title" uid="d23dad36-8fa4-11e5-a341-ac72891c3257"/> 
    286   <rowAttribute label="tables" type="xs:string" title="CMOR table(s)" useClass="" techNote="" description="List of tables which make use of this dimension" uid="" superclass=""/> 
    287   <rowAttribute label="uid" type="xs:string" title="Identifier" useClass="recordId" techNote="" description="" uid="" superclass=""/> 
    288   <rowAttribute label="label" type="xs:string" title="CMOR dimension" useClass="" techNote="" description="Unique label" uid="" superclass=""/> 
    289   <rowAttribute label="altLabel" type="xs:string" title="output dimension name" useClass="" techNote="" description="Name used for the dimension in NetCDF files" uid="" superclass=""/> 
    290   <rowAttribute label="description" type="xs:string" title="description" useClass="" techNote="" description="" uid="" superclass=""/> 
    291   <rowAttribute label="standardName" type="xs:string" title="standard name" useClass="internalLink" techNote="" description="CF Standard Name" uid="" superclass=""/> 
    292   <rowAttribute label="title" type="xs:string" title="long name" useClass="" techNote="" description="Used for the variable long_name attribute" uid="" superclass=""/> 
    293   <rowAttribute label="axis" type="xs:string" title="axis" useClass="" techNote="" description="" uid="" superclass=""/> 
    294   <rowAttribute label="units" type="xs:string" title="units" useClass="" techNote="" description="" uid="" superclass=""/> 
    295   <rowAttribute label="isIndex" type="xs:string" title="index axis?" useClass="" techNote="" description="" uid="" superclass=""/> 
    296   <rowAttribute label="coords" type="xs:string" title="coords_attrib" useClass="" techNote="" description="" uid="" superclass=""/> 
    297   <rowAttribute label="bounds" type="xs:string" title="bounds?" useClass="" techNote="" description="" uid="" superclass=""/> 
    298   <rowAttribute label="direction" type="xs:string" title="stored direction" useClass="" techNote="" description="" uid="" superclass=""/> 
    299   <rowAttribute label="validMin" type="xs:string" title="valid_min" useClass="" techNote="" description="" uid="" superclass=""/> 
    300   <rowAttribute label="validMax" type="xs:string" title="valid_max" useClass="" techNote="" description="" uid="" superclass=""/> 
    301   <rowAttribute label="type" type="xs:string" title="type" useClass="" techNote="" description="" uid="" superclass=""/> 
    302   <rowAttribute label="positive" type="xs:string" title="positive" useClass="" techNote="" description="" uid="" superclass=""/> 
    303   <rowAttribute label="value" type="xs:string" title="value" useClass="" techNote="" description="" uid="" superclass=""/> 
    304   <rowAttribute label="boundsValues" type="xs:string" title="bounds _values" useClass="" techNote="" description="" uid="" superclass=""/> 
    305   <rowAttribute label="requested" type="xs:string" title="requested" useClass="" techNote="" description="" uid="" superclass=""/> 
    306   <rowAttribute label="boundsRequested" type="aa:st__floatList" title="bounds_ requested" useClass="" techNote="" description="" uid="" superclass=""/> 
    307   <rowAttribute label="tolRequested" type="xs:string" title="tol_on_requests: variance from requested values that is tolerated" useClass="" techNote="" description="" uid="" superclass=""/> 
    308   <rowAttribute label="isGrid" type="xs:string" title="grid?" useClass="" techNote="" description="" uid="" superclass=""/> 
     6<table label="requestVarGroup" uid="SECTION:requestVarGroup" title="3.1 Request variable group: a collection of request variables" id="rqvg" itemLabelMode="def" level="3" maxOccurs="1" labUnique="Yes"> 
     7  <rowAttribute label="label" type="xs:string" title="Record Label" uid="fcddfe90-9393-11e5-bc60-5404a60d96b5"/> 
     8  <rowAttribute label="title" type="xs:string" title="Record Title" uid="fcde39aa-9393-11e5-bc60-5404a60d96b5"/> 
     9  <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="fcde74a6-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     10  <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="fcdeaf5c-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     11  <rowAttribute label="uid" type="xs:string" title="" useClass="recordId" techNote="" description="" uid="fcdef6d8-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     12  <rowAttribute label="mip" type="xs:string" title="Endorsed MIP defining the variable group" useClass="" techNote="" description="" uid="fcdf00ec-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     13  <rowAttribute label="ref" type="xs:string" title="" useClass="" techNote="" description="" uid="fcdf036c-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     14  <rowAttribute label="refNote" type="xs:string" title="" useClass="" techNote="" description="" uid="fcdf05c4-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     15</table> 
     16<table label="requestItem" uid="SECTION:requestItem" title="3.2 Request Item: specifying the number of years for an experiment" id="rqi" itemLabelMode="def" level="5" maxOccurs="1" labUnique="No"> 
     17  <rowAttribute label="label" type="xs:string" title="Record Label" uid="fcdf1a00-9393-11e5-bc60-5404a60d96b5"/> 
     18  <rowAttribute label="title" type="xs:string" title="Record Title" uid="fcdf1c08-9393-11e5-bc60-5404a60d96b5"/> 
     19  <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="fcdf1e06-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     20  <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="fcdf204a-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     21  <rowAttribute label="uid" type="xs:string" title="" useClass="recordId" techNote="" description="" uid="fcdf2266-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     22  <rowAttribute label="mip" type="xs:string" title="" useClass="" techNote="" description="" uid="fcdf246e-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     23  <rowAttribute label="tab" type="xs:string" title="" useClass="" techNote="" description="" uid="fcdf266c-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     24  <rowAttribute label="expt" type="xs:string" title="" useClass="" techNote="" description="" uid="fcdf2860-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     25  <rowAttribute label="rlid" type="xs:string" title="Identifier of corresponding requestLink" useClass="internalLink" techNote="" description="" uid="fcdf2a7c-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     26  <rowAttribute label="esid" type="xs:string" title="Identifier experiment(s): a link to an experiment, an experiment group or a MIP" useClass="internalLink" techNote="" description="" uid="fcdf2cf2-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     27  <rowAttribute label="esidComment" type="xs:string" title="" useClass="" techNote="" description="" uid="fcdf2f90-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     28  <rowAttribute label="preset" type="xs:integer" title="Option to override priority set in each variable group" useClass="" techNote="" description="" uid="fcdf322e-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     29  <rowAttribute label="ny" type="xs:integer" title="" useClass="" techNote="" description="" uid="fcdf3436-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     30  <rowAttribute label="nexmax" type="xs:integer" title="" useClass="" techNote="" description="" uid="fcdf3652-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     31  <rowAttribute label="nenmax" type="xs:integer" title="" useClass="" techNote="" description="" uid="fcdf38fa-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     32  <rowAttribute label="nymax" type="xs:float" title="" useClass="" techNote="" description="" uid="fcdf3bf2-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     33</table> 
     34<table label="exptgroup" uid="SECTION:exptgroup" title="1.9 Experiment Group" id="exg" itemLabelMode="def" level="0" maxOccurs="1" labUnique="No"> 
     35  <rowAttribute label="label" type="xs:string" title="Record Label" uid="fcdf435e-9393-11e5-bc60-5404a60d96b5"/> 
     36  <rowAttribute label="title" type="xs:string" title="Record Title" uid="fcdf453e-9393-11e5-bc60-5404a60d96b5"/> 
     37  <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="fcdf4714-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     38  <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="fcdf4926-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     39  <rowAttribute label="uid" type="xs:string" title="Record identifier" useClass="recordId" techNote="" description="" uid="fcdf4b60-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     40  <rowAttribute label="tierMin" type="xs:integer" title="Minimum tier of experiments in group" useClass="" techNote="" description="" uid="fcdf4d7c-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     41  <rowAttribute label="ntot" type="xs:integer" title="Total number of years" useClass="" techNote="" description="" uid="fcdf4f84-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     42</table> 
     43<table label="CMORvar" uid="SECTION:CMORvar" title="1.3 CMOR Variable" id="cmv" itemLabelMode="def" level="1" maxOccurs="1" labUnique="No"> 
     44  <rowAttribute label="label" type="xs:string" title="Record Label" uid="fcdf56dc-9393-11e5-bc60-5404a60d96b5"/> 
     45  <rowAttribute label="title" type="xs:string" title="Record Title" uid="fcdf58a8-9393-11e5-bc60-5404a60d96b5"/> 
     46  <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="fcdf5a7e-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     47  <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="fcdf5cae-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     48  <rowAttribute label="uid" type="xs:string" title="" useClass="recordId" techNote="" description="" uid="fcdf5eb6-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     49  <rowAttribute label="title" type="xs:string" title="Long name" useClass="" techNote="" description="The long name is used as the long_name variable attribute in the NetCDF files." uid="fcdf60b4-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     50  <rowAttribute label="stid" type="xs:string" title="Link to a record specifying the structure of the variable (dimensions and associated variable attributes)." useClass="internalLink" techNote="structure" description="" uid="fcdf62da-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     51  <rowAttribute label="vid" type="xs:string" title="MIP Variable" useClass="internalLink" techNote="var" description="The MIP Variable specifies the physical quantity." uid="fcdf6528-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     52  <rowAttribute label="valid_min" type="xs:string" title="Minimum expected value for this variable." useClass="" techNote="" description="" uid="fcdf6794-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     53  <rowAttribute label="valid_max" type="xs:string" title="Maximum expected value for this variable." useClass="" techNote="" description="" uid="fcdf6974-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     54  <rowAttribute label="ok_min_mean_abs" type="xs:string" title="Minimum expected value of the mean absolute value at each point in time" useClass="" techNote="" description="" uid="fcdf6b54-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     55  <rowAttribute label="ok_max_mean_abs" type="xs:string" title="Maximum expected value of the mean absolute value at each point in time" useClass="" techNote="" description="" uid="fcdf6d34-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     56  <rowAttribute label="deflate" type="xs:string" title="Deflate: NetCDF compression parameter" useClass="" techNote="" description="" uid="fcdf6f28-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     57  <rowAttribute label="deflate_level" type="xs:string" title="Deflate Level: NetCDF compression parameter" useClass="" techNote="" description="" uid="fcdf711c-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     58  <rowAttribute label="shuffle" type="xs:string" title="Shuffle: NetCDF compression parameter" useClass="" techNote="" description="" uid="fcdf72fc-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     59  <rowAttribute label="defaultPriority" type="xs:integer" title="Indicative priority for this parameter, which is over-ruled by the requestVar priority setting, but provides a reference for organisation of the CMORvariables" useClass="" techNote="" description="" uid="fcdf74e6-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     60  <rowAttribute label="type" type="xs:string" title="" useClass="" techNote="" description="" uid="fcdf7734-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     61  <rowAttribute label="modeling_realm" type="xs:string" title="" useClass="drsVocab" techNote="" description="" uid="fcdf7946-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     62  <rowAttribute label="positive" type="xs:string" title="" useClass="CMORdirective" techNote="" description="" uid="fcdf7b26-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     63  <rowAttribute label="mipTable" type="xs:string" title="The MIP table: each table identifies a collection of variables" useClass="drsVocab" techNote="" description="" uid="fcdf7d1a-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     64  <rowAttribute label="prov" type="xs:string" title="" useClass="" techNote="" description="" uid="fcdf7ef0-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     65  <rowAttribute label="provNote" type="xs:string" title="" useClass="" techNote="" description="" uid="fcdf80bc-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     66  <rowAttribute label="frequency" type="xs:string" title="Frequency of time steps to be archived." useClass="drsVocab" techNote="" description="" uid="fcdf82a6-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     67  <rowAttribute label="rowIndex" type="xs:integer" title="Row index of entry in source sheet" useClass="" techNote="" description="" uid="fcdf847c-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     68  <rowAttribute label="description" type="xs:string" title="" useClass="" techNote="" description="" uid="fcdf8648-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     69</table> 
     70<table label="objective" uid="SECTION:objective" title="1.6 Scientific objectives" id="obj" itemLabelMode="def" level="0" maxOccurs="1" labUnique="No"> 
     71  <rowAttribute label="label" type="xs:string" title="Record Label" uid="fcdf8bde-9393-11e5-bc60-5404a60d96b5"/> 
     72  <rowAttribute label="title" type="xs:string" title="Record Title" uid="fcdf8d96-9393-11e5-bc60-5404a60d96b5"/> 
     73  <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="fcdf8f62-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     74  <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="fcdf916a-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     75  <rowAttribute label="uid" type="xs:string" title="Record identifier" useClass="recordId" techNote="" description="" uid="fcdf9354-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     76  <rowAttribute label="description" type="xs:string" title="Description" useClass="freeText" techNote="" description="" uid="fcdf953e-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     77  <rowAttribute label="title" type="xs:string" title="Long name" useClass="" techNote="" description="" uid="fcdf9714-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     78  <rowAttribute label="mip" type="xs:string" title="Endorsed MIP" useClass="" techNote="" description="" uid="fcdf98ea-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     79</table> 
     80<table label="spatialShape" uid="SECTION:spatialShape" title="2.1 Spatial dimensions" id="ss" itemLabelMode="def" level="3" maxOccurs="1" labUnique="Yes"> 
     81  <rowAttribute label="label" type="xs:string" title="Record Label" uid="fcdf9d22-9393-11e5-bc60-5404a60d96b5"/> 
     82  <rowAttribute label="title" type="xs:string" title="Record Title" uid="fcdf9ed0-9393-11e5-bc60-5404a60d96b5"/> 
     83  <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="fcdfa088-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     84  <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="fcdfa268-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     85  <rowAttribute label="uid" type="xs:string" title="" useClass="recordId" techNote="" description="" uid="fcdfa43e-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     86  <rowAttribute label="dimensions" type="xs:string" title="" useClass="" techNote="" description="" uid="fcdfa60a-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     87  <rowAttribute label="shape" type="xs:string" title="" useClass="" techNote="" description="" uid="fcdfa7d6-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     88  <rowAttribute label="levels" type="xs:integer" title="Number of vertical levels (ignored if levelFlag=false)" useClass="" techNote="" description="" uid="fcdfa9ac-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     89  <rowAttribute label="levelFlag" type="xs:boolean" title="Flag set to *false* if number of levels is optional (e.g. determined by the model)" useClass="" techNote="" description="" uid="fcdfab82-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     90</table> 
     91<table label="requestLink" uid="SECTION:requestLink" title="3.3 Request link: linking a set of variables and a set of experiments" id="rql" itemLabelMode="def" level="4" maxOccurs="1" labUnique="No"> 
     92  <rowAttribute label="label" type="xs:string" title="Record Label" uid="fcdfb172-9393-11e5-bc60-5404a60d96b5"/> 
     93  <rowAttribute label="title" type="xs:string" title="Record Title" uid="fcdfb316-9393-11e5-bc60-5404a60d96b5"/> 
     94  <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="fcdfb4ce-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     95  <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="fcdfb6ae-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     96  <rowAttribute label="uid" type="xs:string" title="" useClass="recordId" techNote="" description="" uid="fcdfb88e-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     97  <rowAttribute label="mip" type="xs:string" title="Endorsed MIP requesting the data" useClass="internalLink" techNote="" description="" uid="fcdfba6e-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     98  <rowAttribute label="tab" type="xs:string" title="" useClass="" techNote="" description="" uid="fcdfbc3a-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     99  <rowAttribute label="objective" type="xs:string" title="Science objectives associated with this request" useClass="" techNote="" description="Every request for model ouput is linked to one or more objectives. The XML link is made via objectiveLink records, each of which associates one requestLink with one objective record." uid="fcdfbe24-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     100  <rowAttribute label="grid" type="xs:string" title="" useClass="" techNote="" description="" uid="fcdfc02c-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     101  <rowAttribute label="gridreq" type="xs:string" title="" useClass="" techNote="" description="" uid="fcdfc216-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     102  <rowAttribute label="comment" type="xs:string" title="" useClass="" techNote="" description="" uid="fcdfc3e2-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     103  <rowAttribute label="ref" type="xs:string" title="" useClass="" techNote="" description="" uid="fcdfc5a4-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     104  <rowAttribute label="refNote" type="xs:string" title="" useClass="" techNote="" description="" uid="fcdfc770-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     105  <rowAttribute label="refid" type="xs:string" title="reference to a request Variable Group" useClass="internalLink" techNote="" description="" uid="fcdfc950-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     106  <rowAttribute label="opt" type="xs:string" title="option for selecting a subset of variables" useClass="" techNote="" description="" uid="fcdfcb26-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     107  <rowAttribute label="opar" type="xs:string" title="parameter associated with *opt*" useClass="" techNote="" description="" uid="fcdfccfc-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     108</table> 
     109<table label="tableSection" uid="SECTION:tableSection" title="3.4 CMOR Table Sections" id="tbs" itemLabelMode="def" level="1" maxOccurs="1" labUnique="No"> 
     110  <rowAttribute label="label" type="xs:string" title="Record Label" uid="fcdfd1e8-9393-11e5-bc60-5404a60d96b5"/> 
     111  <rowAttribute label="title" type="xs:string" title="Record Title" uid="fcdfd3a0-9393-11e5-bc60-5404a60d96b5"/> 
     112  <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="fcdfd558-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     113  <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="fcdfd760-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     114  <rowAttribute label="uid" type="xs:string" title="" useClass="recordId" techNote="" description="" uid="fcdfd940-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     115  <rowAttribute label="gpid" type="xs:string" title="Identifier for CMOR Tables" useClass="internalLink" techNote="requestVarGroup" description="" uid="fcdfdb34-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     116  <rowAttribute label="mip" type="xs:string" title="Project" useClass="" techNote="" description="" uid="fcdfdd14-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     117  <rowAttribute label="ref" type="xs:string" title="" useClass="" techNote="" description="" uid="fcdfdee0-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     118  <rowAttribute label="refNote" type="xs:string" title="" useClass="" techNote="" description="" uid="fcdfe0ac-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     119</table> 
     120<table label="modelConfig" uid="SECTION:modelConfig" title="3.5 Model configuration options" id="mcfg" itemLabelMode="an" level="0" maxOccurs="1" labUnique="Yes"> 
     121  <rowAttribute label="label" type="xs:string" title="Record Label" uid="fcdfe52a-9393-11e5-bc60-5404a60d96b5"/> 
     122  <rowAttribute label="title" type="xs:string" title="Record Title" uid="fcdfe6ce-9393-11e5-bc60-5404a60d96b5"/> 
     123  <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="fcdfe872-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     124  <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="fcdfea52-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     125  <rowAttribute label="uid" type="xs:string" title="Record identifier" useClass="recordId" techNote="" description="" uid="fcdfec32-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     126  <rowAttribute label="title" type="xs:string" title="" useClass="" techNote="" description="" uid="fcdfedfe-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     127  <rowAttribute label="MIPs" type="xs:string" title="" useClass="" techNote="" description="" uid="fcdfefca-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     128  <rowAttribute label="usage" type="xs:string" title="" useClass="" techNote="" description="" uid="fcdff196-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     129  <rowAttribute label="type" type="xs:string" title="" useClass="" techNote="" description="" uid="fcdff362-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     130  <rowAttribute label="range" type="xs:string" title="Range of valid values, e.g. xs:boolean" useClass="" techNote="" description="" uid="fcdff542-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     131</table> 
     132<table label="varChoiceLinkC" uid="SECTION:varChoiceLinkC" title="3.6 Links a variable to a choice element" id="vclc" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 
     133  <rowAttribute label="label" type="xs:string" title="Record Label" uid="fcdff984-9393-11e5-bc60-5404a60d96b5"/> 
     134  <rowAttribute label="title" type="xs:string" title="Record Title" uid="fcdffb32-9393-11e5-bc60-5404a60d96b5"/> 
     135  <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="fcdffcf4-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     136  <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="fcdffed4-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     137  <rowAttribute label="uid" type="xs:string" title="Record identifier" useClass="recordId" techNote="" description="" uid="fce000be-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     138  <rowAttribute label="vid" type="xs:string" title="Variable" useClass="internalLink" techNote="" description="" uid="fce0029e-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     139  <rowAttribute label="cfgid" type="xs:string" title="Configuration Option" useClass="internalLink" techNote="" description="" uid="fce00488-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     140  <rowAttribute label="cfg" type="xs:boolean" title="Configuration Value" useClass="" techNote="" description="" uid="fce0065e-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     141  <rowAttribute label="cid" type="xs:string" title="Choice -- can provide a link to related variables" useClass="internalLink" techNote="" description="" uid="fce00866-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     142</table> 
     143<table label="objectiveLink" uid="SECTION:objectiveLink" title="3.7 Link between scientific objectives and requests" id="objl" itemLabelMode="def" level="0" maxOccurs="1" labUnique="No"> 
     144  <rowAttribute label="label" type="xs:string" title="Record Label" uid="fce00cbc-9393-11e5-bc60-5404a60d96b5"/> 
     145  <rowAttribute label="title" type="xs:string" title="Record Title" uid="fce00e74-9393-11e5-bc60-5404a60d96b5"/> 
     146  <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="fce0102c-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     147  <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="fce0122a-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     148  <rowAttribute label="uid" type="xs:string" title="Record identifier" useClass="recordId" techNote="" description="" uid="fce01464-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     149  <rowAttribute label="oid" type="xs:string" title="Identifier for a scientific objective" useClass="internalLink" techNote="objective" description="" uid="fce016ee-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     150  <rowAttribute label="rid" type="xs:string" title="Identifier for a request link" useClass="internalLink" techNote="requestLink" description="" uid="fce0196e-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     151</table> 
     152<table label="remarks" uid="SECTION:remarks" title="3.08 Remarks about other items" id="rmk" itemLabelMode="def" level="10" maxOccurs="1" labUnique="No"> 
     153  <rowAttribute label="label" type="xs:string" title="Record Label" uid="fce01e0a-9393-11e5-bc60-5404a60d96b5"/> 
     154  <rowAttribute label="title" type="xs:string" title="Record Title" uid="fce01fae-9393-11e5-bc60-5404a60d96b5"/> 
     155  <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="fce0215c-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     156  <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="fce02332-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     157  <rowAttribute label="uid" type="xs:string" title="" useClass="recordId" techNote="" description="" uid="fce02512-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     158  <rowAttribute label="tid" type="xs:string" title="Target identifier: the record ID of the item this refers to." useClass="internalLink" techNote="" description="" uid="fce026f2-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     159  <rowAttribute label="tattr" type="xs:string" title="Target attribute: an attribute of the target item, or 'ALL'" useClass="" techNote="" description="" uid="fce028d2-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     160  <rowAttribute label="description" type="xs:string" title="Free text remarks -- unless there are specific restrictions associated with the class attribute of this remark" useClass="" techNote="" description="" uid="fce02ab2-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     161  <rowAttribute label="class" type="xs:string" title="Different classes of remark support a range of specialised usages: free (a free text comment), modelTypeReq (a model type requirement), modelTypeExcl (a model type exclusion), varAlt (an alternative variable that my be used instead of this one), varSup (an alternative variable which, if selected makes this one redundant), attChange (a change in the value of an attribute -- old value provided in 'techNote')." useClass="" techNote="" description="" uid="fce02c9c-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     162  <rowAttribute label="qid" type="xs:string" title="Identifier required for classes modelTypeReq, modelTypeExcl, varAlt, varSup. For the first two classes, the identifier points to a model type specification, for the last two it points to an output variable specification." useClass="" techNote="" description="" uid="fce02e90-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     163  <rowAttribute label="techNote" type="xs:string" title="Optional additional machine readable content (though not restricted by the schema)" useClass="" techNote="" description="" uid="fce0307a-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     164  <rowAttribute label="prov" type="xs:string" title="Provenance" useClass="" techNote="" description="" uid="fce0325a-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     165</table> 
     166<table label="experiment" uid="SECTION:experiment" title="1.5 Experiments" id="exp" itemLabelMode="def" level="0" maxOccurs="1" labUnique="No"> 
     167  <rowAttribute label="label" type="xs:string" title="Record Label" uid="fce03836-9393-11e5-bc60-5404a60d96b5"/> 
     168  <rowAttribute label="title" type="xs:string" title="Record Title" uid="fce039da-9393-11e5-bc60-5404a60d96b5"/> 
     169  <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="fce03b88-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     170  <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="fce03d86-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     171  <rowAttribute label="uid" type="xs:string" title="Record identifier" useClass="recordId" techNote="" description="" uid="fce03f8e-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     172  <rowAttribute label="description" type="xs:string" title="Description" useClass="freeText" techNote="" description="" uid="fce04178-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     173  <rowAttribute label="egid" type="xs:string" title="Identifier for experiment group" useClass="internalLink" techNote="" description="" uid="fce04362-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     174  <rowAttribute label="mip" type="xs:string" title="MIP defining experiment" useClass="internalLink" techNote="" description="" uid="fce0454c-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     175  <rowAttribute label="mcfg" type="xs:string" title="Model category" useClass="" techNote="" description="" uid="fce04722-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     176  <rowAttribute label="tier" type="xs:integer" title="Tier of experiment" useClass="" techNote="" description="Experiments are assigned a tier by the MIP specifying the tier, tier 1 experiments being the most important." uid="fce04902-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     177  <rowAttribute label="nstart" type="xs:integer" title="Number of start dates" useClass="" techNote="" description="" uid="fce04b00-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     178  <rowAttribute label="starty" type="xs:string" title="" useClass="" techNote="" description="" uid="fce04ccc-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     179  <rowAttribute label="endy" type="xs:string" title="" useClass="" techNote="" description="" uid="fce04e98-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     180  <rowAttribute label="yps" type="xs:integer" title="Years per simulation" useClass="" techNote="" description="" uid="fce0506e-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     181  <rowAttribute label="ensz" type="xs:integer" title="Ensemble size" useClass="" techNote="" description="" uid="fce0524e-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     182  <rowAttribute label="ntot" type="xs:integer" title="Total number of years" useClass="" techNote="" description="" uid="fce05424-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     183  <rowAttribute label="comment" type="xs:string" title="Comment" useClass="" techNote="" description="" uid="fce05604-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     184</table> 
     185<table label="requestVar" uid="SECTION:requestVar" title="1.4 Request variable (carrying priority and link to group)" id="rqv" itemLabelMode="def" level="3" maxOccurs="1" labUnique="No"> 
     186  <rowAttribute label="label" type="xs:string" title="Record Label" uid="fce05af0-9393-11e5-bc60-5404a60d96b5"/> 
     187  <rowAttribute label="title" type="xs:string" title="Record Title" uid="fce05c94-9393-11e5-bc60-5404a60d96b5"/> 
     188  <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="fce05e42-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     189  <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="fce06040-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     190  <rowAttribute label="uid" type="xs:string" title="" useClass="recordId" techNote="" description="" uid="fce06220-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     191  <rowAttribute label="priority" type="xs:integer" title="" useClass="" techNote="" description="" uid="fce063f6-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     192  <rowAttribute label="vid" type="xs:string" title="Identifier for MIP Output Variable" useClass="internalLink" techNote="ovar" description="" uid="fce065f4-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     193  <rowAttribute label="vgid" type="xs:string" title="Identifier for Variable Group" useClass="internalLink" techNote="requestVarGroup" description="" uid="fce067e8-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     194  <rowAttribute label="mip" type="xs:string" title="" useClass="" techNote="" description="" uid="fce069b4-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     195  <rowAttribute label="table" type="xs:string" title="" useClass="" techNote="" description="" uid="fce06b80-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     196</table> 
     197<table label="standardname" uid="SECTION:standardname" title="1.8 CF Standard Names" id="sn" itemLabelMode="an" level="0" maxOccurs="1" labUnique="Yes"> 
     198  <rowAttribute label="label" type="xs:string" title="Record Label" uid="fce06f9a-9393-11e5-bc60-5404a60d96b5"/> 
     199  <rowAttribute label="title" type="xs:string" title="Record Title" uid="fce071a2-9393-11e5-bc60-5404a60d96b5"/> 
     200  <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="fce073dc-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     201  <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="fce075bc-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     202  <rowAttribute label="uid" type="xs:string" title="CF Standard Name" useClass="recordId" techNote="" description="" uid="fce077a6-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     203  <rowAttribute label="description" type="xs:string" title="" useClass="" techNote="" description="" uid="fce07968-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     204  <rowAttribute label="title" type="xs:string" title="" useClass="" techNote="" description="" uid="fce07b2a-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     205  <rowAttribute label="label" type="xs:string" title="" useClass="" techNote="" description="" uid="fce07cf6-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     206  <rowAttribute label="units" type="xs:string" title="Canonical Units" useClass="" techNote="" description="" uid="fce07ed6-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     207</table> 
     208<table label="varChoiceLinkR" uid="SECTION:varChoiceLinkR" title="3.09 Links a variable to a choice element" id="vclr" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 
     209  <rowAttribute label="label" type="xs:string" title="Record Label" uid="fce082fa-9393-11e5-bc60-5404a60d96b5"/> 
     210  <rowAttribute label="title" type="xs:string" title="Record Title" uid="fce0849e-9393-11e5-bc60-5404a60d96b5"/> 
     211  <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="fce08656-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     212  <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="fce0885e-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     213  <rowAttribute label="uid" type="xs:string" title="Record identifier" useClass="recordId" techNote="" description="" uid="fce08a3e-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     214  <rowAttribute label="vid" type="xs:string" title="Variable" useClass="internalLink" techNote="" description="" uid="fce08c1e-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     215  <rowAttribute label="cid" type="xs:string" title="Choice" useClass="internalLink" techNote="" description="" uid="fce08e08-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     216  <rowAttribute label="rank" type="xs:integer" title="For ranked choices, the rank of this variable (higher rank makes lower ranks redundant)" useClass="" techNote="" description="" uid="fce08fe8-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     217</table> 
     218<table label="var" uid="SECTION:var" title="1.2 MIP Variable" id="var" itemLabelMode="def" level="0" maxOccurs="1" labUnique="No"> 
     219  <rowAttribute label="label" type="xs:string" title="Record Label" uid="fce09498-9393-11e5-bc60-5404a60d96b5"/> 
     220  <rowAttribute label="title" type="xs:string" title="Record Title" uid="fce09646-9393-11e5-bc60-5404a60d96b5"/> 
     221  <rowAttribute label="label" type="xs:string" title="Variable Name" useClass="" techNote="" description="" uid="fce09808-9393-11e5-bc60-5404a60d96b5" superclass="skos:prefLabel" usage="A short name for the variable, consistent, where possible, with names of related variables."/> 
     222  <rowAttribute label="sn" type="xs:string" title="CF Standard Name" useClass="internalLink" techNote="" description="The CF Standard Name is part of an extensive vocabulary maintained within the CF Convention." uid="fce09a1a-9393-11e5-bc60-5404a60d96b5" superclass="" usage="The CF Standard Name must be approved and published in the CF Convention"/> 
     223  <rowAttribute label="units" type="xs:string" title="Units" useClass="" techNote="" description="" uid="fce09c22-9393-11e5-bc60-5404a60d96b5" superclass="" usage="Units "/> 
     224  <rowAttribute label="description" type="xs:string" title="" useClass="" techNote="" description="" uid="fce09df8-9393-11e5-bc60-5404a60d96b5" superclass="dc:description"/> 
     225  <rowAttribute label="title" type="xs:string" title="Long name" useClass="" techNote="" description="The long name is used as the long_name variable attribute in the NetCDF files." uid="fce09fec-9393-11e5-bc60-5404a60d96b5" superclass="dc:title" usage="A short phrase to be used in the long_name NetCDF variable attribute"/> 
     226  <rowAttribute label="procnote" type="xs:string" title="Processing notes" useClass="list" techNote="" description="" uid="fce0a1fe-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     227  <rowAttribute label="procComment" type="xs:string" title="Processing comments" useClass="freeText" techNote="" description="" uid="fce0a3de-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     228  <rowAttribute label="prov" type="xs:string" title="Provenance" useClass="freeText" techNote="" description="" uid="fce0a5be-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     229  <rowAttribute label="uid" type="xs:string" title="Record identifier" useClass="recordId" techNote="" description="" uid="fce0a7a8-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     230  <rowAttribute label="provmip" type="xs:string" title="MIP defining this variables" useClass="internalLink" techNote="" description="The MIP responsible for the original definition of this quantity" uid="fce0a992-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     231</table> 
     232<table label="mip" uid="SECTION:mip" title="1.1 Model Intercomparison Project" id="mip" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 
     233  <rowAttribute label="label" type="xs:string" title="Record Label" uid="fce0adde-9393-11e5-bc60-5404a60d96b5"/> 
     234  <rowAttribute label="title" type="xs:string" title="Record Title" uid="fce0b05e-9393-11e5-bc60-5404a60d96b5"/> 
     235  <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="fce0b28e-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     236  <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="fce0b46e-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     237  <rowAttribute label="uid" type="xs:string" title="Record identifier" useClass="recordId" techNote="" description="" uid="fce0b658-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     238  <rowAttribute label="title" type="xs:string" title="" useClass="" techNote="" description="" uid="fce0b824-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     239  <rowAttribute label="description" type="xs:string" title="" useClass="" techNote="" description="" uid="fce0b9fa-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     240  <rowAttribute label="url" type="xs:string" title="" useClass="" techNote="" description="" uid="fce0bbbc-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     241  <rowAttribute label="status" type="xs:string" title="" useClass="" techNote="" description="" uid="fce0bd88-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     242  <rowAttribute label="project" type="xs:string" title="" useClass="" techNote="" description="" uid="fce0bf4a-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     243</table> 
     244<table label="varChoice" uid="SECTION:varChoice" title="3.10 Indicates variables for which a there is a range of potential CMOR Varibles" id="vc" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 
     245  <rowAttribute label="label" type="xs:string" title="Record Label" uid="fce0c3fa-9393-11e5-bc60-5404a60d96b5"/> 
     246  <rowAttribute label="title" type="xs:string" title="Record Title" uid="fce0c59e-9393-11e5-bc60-5404a60d96b5"/> 
     247  <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="fce0c74c-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     248  <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="fce0c94a-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     249  <rowAttribute label="uid" type="xs:string" title="Record identifier" useClass="recordId" techNote="" description="" uid="fce0cb34-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     250  <rowAttribute label="class" type="xs:string" title="Class of choice: heirarchy|cfg" useClass="" techNote="" description="" uid="fce0cd0a-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     251  <rowAttribute label="title" type="xs:string" title="" useClass="" techNote="" description="" uid="fce0ced6-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     252  <rowAttribute label="description" type="xs:string" title="" useClass="" techNote="" description="" uid="fce0d098-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     253  <rowAttribute label="varList" type="xs:string" title="A colon separated list of variable names" useClass="" techNote="" description="" uid="fce0d26e-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     254  <rowAttribute label="optionList" type="xs:string" title="A list of options, one for each variable" useClass="" techNote="" description="" uid="fce0d444-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     255</table> 
     256<table label="temporalShape" uid="SECTION:temporalShape" title="2.2 Temporal dimension" id="ts" itemLabelMode="def" level="3" maxOccurs="1" labUnique="Yes"> 
     257  <rowAttribute label="label" type="xs:string" title="Record Label" uid="fce0d822-9393-11e5-bc60-5404a60d96b5"/> 
     258  <rowAttribute label="title" type="xs:string" title="Record Title" uid="fce0d9bc-9393-11e5-bc60-5404a60d96b5"/> 
     259  <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="fce0db6a-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     260  <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="fce0dd40-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     261  <rowAttribute label="uid" type="xs:string" title="" useClass="recordId" techNote="" description="" uid="fce0df16-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     262  <rowAttribute label="dimensions" type="xs:string" title="" useClass="" techNote="" description="" uid="fce0e0ec-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     263  <rowAttribute label="label" type="xs:string" title="" useClass="" techNote="" description="" uid="fce0e2b8-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     264  <rowAttribute label="description" type="xs:string" title="" useClass="" techNote="" description="" uid="fce0e484-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     265</table> 
     266<table label="structure" uid="SECTION:structure" title="2.3 Dimensions and related information" id="str" itemLabelMode="def" level="3" maxOccurs="1" labUnique="Yes"> 
     267  <rowAttribute label="label" type="xs:string" title="Record Label" uid="fce0e9e8-9393-11e5-bc60-5404a60d96b5"/> 
     268  <rowAttribute label="title" type="xs:string" title="Record Title" uid="fce0eb82-9393-11e5-bc60-5404a60d96b5"/> 
     269  <rowAttribute label="label" type="xs:string" title="Record Label" useClass="" techNote="" description="" uid="fce0ed30-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     270  <rowAttribute label="title" type="xs:string" title="Record Title" useClass="" techNote="" description="" uid="fce0ef10-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     271  <rowAttribute label="uid" type="xs:string" title="" useClass="recordId" techNote="" description="" uid="fce0f0dc-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     272  <rowAttribute label="spid" type="xs:string" title="" useClass="internalLink" techNote="spatialShape" description="" uid="fce0f2bc-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     273  <rowAttribute label="tmid" type="xs:string" title="" useClass="internalLink" techNote="temporalShape" description="" uid="fce0f49c-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     274  <rowAttribute label="odims" type="xs:string" title="" useClass="" techNote="" description="" uid="fce0f668-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     275  <rowAttribute label="coords" type="xs:string" title="" useClass="" techNote="" description="" uid="fce0f82a-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     276  <rowAttribute label="cell_methods" type="xs:string" title="" useClass="" techNote="" description="" uid="fce0f9f6-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     277  <rowAttribute label="cell_measures" type="xs:string" title="" useClass="" techNote="" description="" uid="fce0fbb8-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     278  <rowAttribute label="flag_values" type="xs:string" title="" useClass="" techNote="" description="" uid="fce0fd7a-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     279  <rowAttribute label="flag_meanings" type="xs:string" title="" useClass="" techNote="" description="" uid="fce0ff5a-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     280  <rowAttribute label="description" type="xs:string" title="" useClass="" techNote="" description="" uid="fce10126-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     281  <rowAttribute label="procNote" type="xs:string" title="" useClass="" techNote="" description="" uid="fce102f2-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     282  <rowAttribute label="prov" type="xs:string" title="" useClass="" techNote="" description="" uid="fce104be-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     283</table> 
     284<table label="grids" uid="SECTION:grids" title="1.7 Specification of dimensions" id="grd" itemLabelMode="def" level="4" maxOccurs="1" labUnique="Yes"> 
     285  <rowAttribute label="label" type="xs:string" title="Record Label" uid="fce10a68-9393-11e5-bc60-5404a60d96b5"/> 
     286  <rowAttribute label="title" type="xs:string" title="Record Title" uid="fce10c02-9393-11e5-bc60-5404a60d96b5"/> 
     287  <rowAttribute label="tables" type="xs:string" title="CMOR table(s)" useClass="" techNote="" description="List of tables which make use of this dimension" uid="fce10dba-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     288  <rowAttribute label="uid" type="xs:string" title="Identifier" useClass="recordId" techNote="" description="" uid="fce10fd6-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     289  <rowAttribute label="label" type="xs:string" title="CMOR dimension" useClass="" techNote="" description="Unique label" uid="fce111b6-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     290  <rowAttribute label="altLabel" type="xs:string" title="output dimension name" useClass="" techNote="" description="Name used for the dimension in NetCDF files" uid="fce113a0-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     291  <rowAttribute label="description" type="xs:string" title="description" useClass="" techNote="" description="" uid="fce1158a-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     292  <rowAttribute label="standardName" type="xs:string" title="standard name" useClass="internalLink" techNote="" description="CF Standard Name" uid="fce11774-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     293  <rowAttribute label="title" type="xs:string" title="long name" useClass="" techNote="" description="Used for the variable long_name attribute" uid="fce11968-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     294  <rowAttribute label="axis" type="xs:string" title="axis" useClass="" techNote="" description="" uid="fce11b5c-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     295  <rowAttribute label="units" type="xs:string" title="units" useClass="" techNote="" description="" uid="fce11d46-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     296  <rowAttribute label="isIndex" type="xs:string" title="index axis?" useClass="" techNote="" description="" uid="fce11f26-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     297  <rowAttribute label="coords" type="xs:string" title="coords_attrib" useClass="" techNote="" description="" uid="fce12106-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     298  <rowAttribute label="bounds" type="xs:string" title="bounds?" useClass="" techNote="" description="" uid="fce122fa-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     299  <rowAttribute label="direction" type="xs:string" title="stored direction" useClass="" techNote="" description="" uid="fce124d0-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     300  <rowAttribute label="validMin" type="xs:string" title="valid_min" useClass="" techNote="" description="" uid="fce126a6-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     301  <rowAttribute label="validMax" type="xs:string" title="valid_max" useClass="" techNote="" description="" uid="fce12886-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     302  <rowAttribute label="type" type="xs:string" title="type" useClass="" techNote="" description="" uid="fce12a5c-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     303  <rowAttribute label="positive" type="xs:string" title="positive" useClass="" techNote="" description="" uid="fce12c32-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     304  <rowAttribute label="value" type="xs:string" title="value" useClass="" techNote="" description="" uid="fce12dfe-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     305  <rowAttribute label="boundsValues" type="xs:string" title="bounds _values" useClass="" techNote="" description="" uid="fce12fd4-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     306  <rowAttribute label="requested" type="xs:string" title="requested" useClass="" techNote="" description="" uid="fce131aa-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     307  <rowAttribute label="boundsRequested" type="aa:st__floatList" title="bounds_ requested" useClass="" techNote="" description="" uid="fce13380-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     308  <rowAttribute label="tolRequested" type="xs:string" title="tol_on_requests: variance from requested values that is tolerated" useClass="" techNote="" description="" uid="fce13556-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     309  <rowAttribute label="isGrid" type="xs:string" title="grid?" useClass="" techNote="" description="" uid="fce13722-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     310</table> 
     311<table label="timeSlice" uid="SECTION:timeSlice" title="3.11 Time Slices for Output Requests" id="tsl" itemLabelMode="def" level="4" maxOccurs="1" labUnique="Yes"> 
     312  <rowAttribute label="label" type="xs:string" title="Record Label" uid="fce13d62-9393-11e5-bc60-5404a60d96b5"/> 
     313  <rowAttribute label="title" type="xs:string" title="Record Title" uid="fce13f06-9393-11e5-bc60-5404a60d96b5"/> 
     314  <rowAttribute label="type" type="xs:string" title="Type of time slice" useClass="" techNote="" description="" uid="fce140c8-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     315  <rowAttribute label="start" type="xs:integer" title="Start year" useClass="" techNote="" description="" uid="fce142d0-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     316  <rowAttribute label="end" type="xs:integer" title="End year" useClass="" techNote="" description="" uid="fce144b0-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     317  <rowAttribute label="step" type="xs:integer" title="Step (years)" useClass="" techNote="" description="" uid="fce14686-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     318  <rowAttribute label="sliceLen" type="xs:integer" title="Length of slice" useClass="" techNote="" description="" uid="fce1485c-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     319  <rowAttribute label="nyears" type="xs:integer" title="Total number of years" useClass="" techNote="" description="" uid="fce14a3c-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
     320  <rowAttribute label="uid" type="xs:string" title="Unique identifier" useClass="" techNote="" description="" uid="fce14c62-9393-11e5-bc60-5404a60d96b5" superclass=""/> 
    309321</table> 
    310322</defDoc> 
  • CMIP6dreqbuild/trunk/src/framework/out/vocabDefn.xml

    r424 r508  
    55xsi:schemaLocation="http://w3id.org/cmip6dr/ns vocabFrameworkSchema_v01beta.xsd"> 
    66<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   <rowAttribute label="url" title="Home page"/> 
    10   <rowAttribute label="isni" title="International Standard Name Identifier (ISO 27729)"/> 
    11   <rowAttribute label="description"/> 
    12   <rowAttribute label="uid"/> 
     7  <rowAttribute label="label" type="xs:string" title="Record Label" uid="876a507c-9385-11e5-b828-5404a60d96b5"/> 
     8  <rowAttribute label="title" type="xs:string" title="Record Title" uid="876a8c54-9385-11e5-b828-5404a60d96b5"/> 
     9  <rowAttribute label="url" type="xs:string" title="Home page" uid="876ac516-9385-11e5-b828-5404a60d96b5"/> 
     10  <rowAttribute label="isni" type="xs:string" title="International Standard Name Identifier (ISO 27729)" uid="876afe78-9385-11e5-b828-5404a60d96b5"/> 
     11  <rowAttribute label="description" type="xs:string" uid="876b3708-9385-11e5-b828-5404a60d96b5"/> 
     12  <rowAttribute label="uid" type="xs:string" uid="876b3d3e-9385-11e5-b828-5404a60d96b5"/> 
    1313</table> 
    1414<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   <rowAttribute label="description"/> 
    18   <rowAttribute label="url"/> 
    19   <rowAttribute label="altUrl"/> 
    20   <rowAttribute label="source" title="List of major model components"/> 
    21   <rowAttribute label="uid"/> 
     15  <rowAttribute label="label" type="xs:string" title="Record Label" uid="876b472a-9385-11e5-b828-5404a60d96b5"/> 
     16  <rowAttribute label="title" type="xs:string" title="Record Title" uid="876b4900-9385-11e5-b828-5404a60d96b5"/> 
     17  <rowAttribute label="description" type="xs:string" uid="876b4ab8-9385-11e5-b828-5404a60d96b5"/> 
     18  <rowAttribute label="url" type="xs:string" uid="876b4c52-9385-11e5-b828-5404a60d96b5"/> 
     19  <rowAttribute label="altUrl" type="xs:string" uid="876b4dec-9385-11e5-b828-5404a60d96b5"/> 
     20  <rowAttribute label="source" type="xs:string" title="List of major model components" uid="876b4f90-9385-11e5-b828-5404a60d96b5"/> 
     21  <rowAttribute label="uid" type="xs:string" uid="876b5120-9385-11e5-b828-5404a60d96b5"/> 
    2222</table> 
    2323<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   <rowAttribute label="description"/> 
    27   <rowAttribute label="uid"/> 
     24  <rowAttribute label="label" type="xs:string" title="Record Label" uid="876b5544-9385-11e5-b828-5404a60d96b5"/> 
     25  <rowAttribute label="title" type="xs:string" title="Record Title" uid="876b56e8-9385-11e5-b828-5404a60d96b5"/> 
     26  <rowAttribute label="description" type="xs:string" uid="876b588c-9385-11e5-b828-5404a60d96b5"/> 
     27  <rowAttribute label="uid" type="xs:string" uid="876b5a26-9385-11e5-b828-5404a60d96b5"/> 
    2828</table> 
    2929<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   <rowAttribute label="description"/> 
    33   <rowAttribute label="uid"/> 
     30  <rowAttribute label="label" type="xs:string" title="Record Label" uid="876b5e18-9385-11e5-b828-5404a60d96b5"/> 
     31  <rowAttribute label="title" type="xs:string" title="Record Title" uid="876b5fc6-9385-11e5-b828-5404a60d96b5"/> 
     32  <rowAttribute label="description" type="xs:string" uid="876b6160-9385-11e5-b828-5404a60d96b5"/> 
     33  <rowAttribute label="uid" type="xs:string" uid="876b62f0-9385-11e5-b828-5404a60d96b5"/> 
    3434</table> 
    3535<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   <rowAttribute label="componentType"/> 
    39   <rowAttribute label="sizeH"/> 
    40   <rowAttribute label="sizeV"/> 
    41   <rowAttribute label="uid"/> 
     36  <rowAttribute label="label" type="xs:string" title="Record Label" uid="876b6778-9385-11e5-b828-5404a60d96b5"/> 
     37  <rowAttribute label="title" type="xs:string" title="Record Title" uid="876b6930-9385-11e5-b828-5404a60d96b5"/> 
     38  <rowAttribute label="componentType" type="xs:string" uid="876b6ac0-9385-11e5-b828-5404a60d96b5"/> 
     39  <rowAttribute label="sizeH" type="xs:string" uid="876b6c5a-9385-11e5-b828-5404a60d96b5"/> 
     40  <rowAttribute label="sizeV" type="xs:string" uid="876b6dea-9385-11e5-b828-5404a60d96b5"/> 
     41  <rowAttribute label="uid" type="xs:string" uid="876b6f84-9385-11e5-b828-5404a60d96b5"/> 
    4242</table> 
    4343<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   <rowAttribute label="url"/> 
    47   <rowAttribute label="status" title="Status and role within the CMIP6 process"/> 
    48   <rowAttribute label="uid"/> 
     44  <rowAttribute label="label" type="xs:string" title="Record Label" uid="876b77cc-9385-11e5-b828-5404a60d96b5"/> 
     45  <rowAttribute label="title" type="xs:string" title="Record Title" uid="876b7a60-9385-11e5-b828-5404a60d96b5"/> 
     46  <rowAttribute label="url" type="xs:string" uid="876b7c36-9385-11e5-b828-5404a60d96b5"/> 
     47  <rowAttribute label="status" type="xs:string" title="Status and role within the CMIP6 process" uid="876b7dbc-9385-11e5-b828-5404a60d96b5"/> 
     48  <rowAttribute label="uid" type="xs:string" uid="876b7f38-9385-11e5-b828-5404a60d96b5"/> 
     49  <rowAttribute label="project" type="xs:string" title="Project which is sponsoring the CMIP6 contribution, if applicable" uid="876b80e6-9385-11e5-b828-5404a60d96b5"/> 
    4950</table> 
    5051<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"/> 
     52  <rowAttribute label="label" type="xs:string" title="Record Label" uid="876b8550-9385-11e5-b828-5404a60d96b5"/> 
     53  <rowAttribute label="title" type="xs:string" title="Record Title" uid="876b8708-9385-11e5-b828-5404a60d96b5"/> 
     54  <rowAttribute label="uid" type="xs:string" uid="876b88a2-9385-11e5-b828-5404a60d96b5"/> 
    5455</table> 
    5556<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   <rowAttribute label="altLabel"/> 
    59   <rowAttribute label="description"/> 
    60   <rowAttribute label="url"/> 
    61   <rowAttribute label="sponsor"/> 
    62   <rowAttribute label="uid"/> 
     57  <rowAttribute label="label" type="xs:string" title="Record Label" uid="876b8d8e-9385-11e5-b828-5404a60d96b5"/> 
     58  <rowAttribute label="title" type="xs:string" title="Record Title" uid="876b8f3c-9385-11e5-b828-5404a60d96b5"/> 
     59  <rowAttribute label="altLabel" type="xs:string" uid="876b9130-9385-11e5-b828-5404a60d96b5"/> 
     60  <rowAttribute label="description" type="xs:string" uid="876b92e8-9385-11e5-b828-5404a60d96b5"/> 
     61  <rowAttribute label="url" type="xs:string" uid="876b9496-9385-11e5-b828-5404a60d96b5"/> 
     62  <rowAttribute label="sponsor" type="xs:string" uid="876b9626-9385-11e5-b828-5404a60d96b5"/> 
     63  <rowAttribute label="uid" type="xs:string" uid="876b97d4-9385-11e5-b828-5404a60d96b5"/> 
    6364</table> 
    6465<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   <rowAttribute label="iso"/> 
    68   <rowAttribute label="uid"/> 
    69   <rowAttribute label="isClimatology" type="xs:boolean" title="True if term is a climatology label"/> 
     66  <rowAttribute label="label" type="xs:string" title="Record Label" uid="876b9ce8-9385-11e5-b828-5404a60d96b5"/> 
     67  <rowAttribute label="title" type="xs:string" title="Record Title" uid="876b9e96-9385-11e5-b828-5404a60d96b5"/> 
     68  <rowAttribute label="iso" type="xs:string" uid="876ba030-9385-11e5-b828-5404a60d96b5"/> 
     69  <rowAttribute label="uid" type="xs:string" uid="876ba1b6-9385-11e5-b828-5404a60d96b5"/> 
     70  <rowAttribute label="isClimatology" type="xs:boolean" title="True if term is a climatology label" uid="876ba332-9385-11e5-b828-5404a60d96b5"/> 
    7071</table> 
    7172<table label="realm" uid="SECTION:realm" title="Modeling realm" id="cmip.drv.010" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 
    72   <rowAttribute label="label" title="Record Label"/> 
    73   <rowAttribute label="title" title="Record Title"/> 
    74   <rowAttribute label="uid"/> 
     73  <rowAttribute label="label" type="xs:string" title="Record Label" uid="876ba6ac-9385-11e5-b828-5404a60d96b5"/> 
     74  <rowAttribute label="title" type="xs:string" title="Record Title" uid="876ba83c-9385-11e5-b828-5404a60d96b5"/> 
     75  <rowAttribute label="uid" type="xs:string" uid="876ba9cc-9385-11e5-b828-5404a60d96b5"/> 
    7576</table> 
    7677<table label="grid" uid="SECTION:grid" title="Native grid" id="cmip.drv.011" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 
    77   <rowAttribute label="label" title="Record Label"/> 
    78   <rowAttribute label="title" title="Record Title"/> 
    79   <rowAttribute label="uid"/> 
     78  <rowAttribute label="label" type="xs:string" title="Record Label" uid="876bad14-9385-11e5-b828-5404a60d96b5"/> 
     79  <rowAttribute label="title" type="xs:string" title="Record Title" uid="876baeb8-9385-11e5-b828-5404a60d96b5"/> 
     80  <rowAttribute label="uid" type="xs:string" uid="876bb03e-9385-11e5-b828-5404a60d96b5"/> 
    8081</table> 
    8182<table label="dimensions" uid="SECTION:dimensions" title="MIP table variable dimensions" id="cmip.drv.012" itemLabelMode="an" level="0" maxOccurs="1" labUnique="Yes"> 
    82   <rowAttribute label="label" title="Record Label"/> 
    83   <rowAttribute label="title" title="Record Title"/> 
    84   <rowAttribute label="altLabel"/> 
    85   <rowAttribute label="sn"/> 
    86   <rowAttribute label="size" type="xs:integer"/> 
    87   <rowAttribute label="uid"/> 
     83  <rowAttribute label="label" type="xs:string" title="Record Label" uid="876bb49e-9385-11e5-b828-5404a60d96b5"/> 
     84  <rowAttribute label="title" type="xs:string" title="Record Title" uid="876bb642-9385-11e5-b828-5404a60d96b5"/> 
     85  <rowAttribute label="altLabel" type="xs:string" uid="876bb7be-9385-11e5-b828-5404a60d96b5"/> 
     86  <rowAttribute label="sn" type="xs:string" uid="876bb93a-9385-11e5-b828-5404a60d96b5"/> 
     87  <rowAttribute label="size" type="xs:integer" uid="876bbaac-9385-11e5-b828-5404a60d96b5"/> 
     88  <rowAttribute label="uid" type="xs:string" uid="876bbc46-9385-11e5-b828-5404a60d96b5"/> 
    8889</table> 
    8990<table label="forcings" uid="SECTION:forcings" title="Forcing" id="cmip.drv.013" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 
    90   <rowAttribute label="label" title="Record Label"/> 
    91   <rowAttribute label="title" title="Record Title"/> 
    92   <rowAttribute label="uid"/> 
     91  <rowAttribute label="label" type="xs:string" title="Record Label" uid="876bbfe8-9385-11e5-b828-5404a60d96b5"/> 
     92  <rowAttribute label="title" type="xs:string" title="Record Title" uid="876bc18c-9385-11e5-b828-5404a60d96b5"/> 
     93  <rowAttribute label="uid" type="xs:string" uid="876bc31c-9385-11e5-b828-5404a60d96b5"/> 
    9394</table> 
    9495<table label="table" uid="SECTION:table" title="Data specification table" id="cmip.drv.014" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 
    95   <rowAttribute label="label" title="Record Label"/> 
    96   <rowAttribute label="title" title="Record Title"/> 
    97   <rowAttribute label="description"/> 
    98   <rowAttribute label="comment"/> 
    99   <rowAttribute label="frequency"/> 
    100   <rowAttribute label="uid"/> 
     96  <rowAttribute label="label" type="xs:string" title="Record Label" uid="876bc740-9385-11e5-b828-5404a60d96b5"/> 
     97  <rowAttribute label="title" type="xs:string" title="Record Title" uid="876bc8ee-9385-11e5-b828-5404a60d96b5"/> 
     98  <rowAttribute label="description" type="xs:string" uid="876bca7e-9385-11e5-b828-5404a60d96b5"/> 
     99  <rowAttribute label="comment" type="xs:string" uid="876bcbfa-9385-11e5-b828-5404a60d96b5"/> 
     100  <rowAttribute label="frequency" type="xs:string" uid="876bcd80-9385-11e5-b828-5404a60d96b5"/> 
     101  <rowAttribute label="uid" type="xs:string" uid="876bcf24-9385-11e5-b828-5404a60d96b5"/> 
    101102</table> 
    102103<table label="cref" uid="SECTION:cref" title="Coordinate Reference" id="cmip.drv.015" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 
    103   <rowAttribute label="label" title="Record Label"/> 
    104   <rowAttribute label="title" title="Record Title"/> 
    105   <rowAttribute label="label"/> 
    106   <rowAttribute label="uid"/> 
     104  <rowAttribute label="label" type="xs:string" title="Record Label" uid="876bd29e-9385-11e5-b828-5404a60d96b5"/> 
     105  <rowAttribute label="title" type="xs:string" title="Record Title" uid="876bd438-9385-11e5-b828-5404a60d96b5"/> 
     106  <rowAttribute label="label" type="xs:string" uid="876bd5be-9385-11e5-b828-5404a60d96b5"/> 
     107  <rowAttribute label="uid" type="xs:string" uid="876bd744-9385-11e5-b828-5404a60d96b5"/> 
    107108</table> 
    108109<table label="areaType" uid="SECTION:areaType" title="CMIP Area Type" id="cmip.drv.016" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 
    109   <rowAttribute label="label" title="Record Label"/> 
    110   <rowAttribute label="title" title="Record Title"/> 
    111   <rowAttribute label="inCF"/> 
    112   <rowAttribute label="uid"/> 
     110  <rowAttribute label="label" type="xs:string" title="Record Label" uid="876bdaaa-9385-11e5-b828-5404a60d96b5"/> 
     111  <rowAttribute label="title" type="xs:string" title="Record Title" uid="876bdc4e-9385-11e5-b828-5404a60d96b5"/> 
     112  <rowAttribute label="inCF" type="xs:string" uid="876bddd4-9385-11e5-b828-5404a60d96b5"/> 
     113  <rowAttribute label="uid" type="xs:string" uid="876bdf5a-9385-11e5-b828-5404a60d96b5"/> 
    113114</table> 
    114115<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"> 
    115   <rowAttribute label="label" title="Record Label"/> 
    116   <rowAttribute label="title" title="Record Title"/> 
    117   <rowAttribute label="type"/> 
    118   <rowAttribute label="specification"/> 
    119   <rowAttribute label="uid"/> 
     116  <rowAttribute label="label" type="xs:string" title="Record Label" uid="876be4b4-9385-11e5-b828-5404a60d96b5"/> 
     117  <rowAttribute label="title" type="xs:string" title="Record Title" uid="876be662-9385-11e5-b828-5404a60d96b5"/> 
     118  <rowAttribute label="uid" type="xs:string" uid="876be7f2-9385-11e5-b828-5404a60d96b5"/> 
     119  <rowAttribute label="type" type="xs:string" uid="876be982-9385-11e5-b828-5404a60d96b5"/> 
     120  <rowAttribute label="start" type="xs:string" uid="876beb08-9385-11e5-b828-5404a60d96b5"/> 
     121  <rowAttribute label="end" type="xs:string" uid="876bec84-9385-11e5-b828-5404a60d96b5"/> 
     122  <rowAttribute label="step" type="xs:string" uid="876bee00-9385-11e5-b828-5404a60d96b5"/> 
     123  <rowAttribute label="sliceLen" type="xs:string" uid="876bef72-9385-11e5-b828-5404a60d96b5"/> 
     124  <rowAttribute label="nyears" type="xs:string" uid="876bf0e4-9385-11e5-b828-5404a60d96b5"/> 
    120125</table> 
    121126<table label="modelFamily" uid="SECTION:modelFamily" title="Family of model" id="cmip.drv.018" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 
    122   <rowAttribute label="label" title="Record Label"/> 
    123   <rowAttribute label="title" title="Record Title"/> 
    124   <rowAttribute label="uid"/> 
     127  <rowAttribute label="label" type="xs:string" title="Record Label" uid="876bf418-9385-11e5-b828-5404a60d96b5"/> 
     128  <rowAttribute label="title" type="xs:string" title="Record Title" uid="876bf5a8-9385-11e5-b828-5404a60d96b5"/> 
     129  <rowAttribute label="uid" type="xs:string" uid="876bf724-9385-11e5-b828-5404a60d96b5"/> 
    125130</table> 
    126131<table label="priority" uid="SECTION:priority" title="Variable priority" id="cmip.drv.019" itemLabelMode="int" level="0" maxOccurs="1" labUnique="Yes"> 
    127   <rowAttribute label="label" title="Record Label"/> 
    128   <rowAttribute label="title" title="Record Title"/> 
    129   <rowAttribute label="description"/> 
    130   <rowAttribute label="uid"/> 
     132  <rowAttribute label="label" type="xs:string" title="Record Label" uid="876bfaf8-9385-11e5-b828-5404a60d96b5"/> 
     133  <rowAttribute label="title" type="xs:string" title="Record Title" uid="876bfc92-9385-11e5-b828-5404a60d96b5"/> 
     134  <rowAttribute label="description" type="xs:string" uid="876bfe0e-9385-11e5-b828-5404a60d96b5"/> 
     135  <rowAttribute label="uid" type="xs:string" uid="876bff9e-9385-11e5-b828-5404a60d96b5"/> 
    131136</table> 
    132137<table label="qcLevel" uid="SECTION:qcLevel" title="Quality control level" id="cmip.drv.020" itemLabelMode="int" level="0" maxOccurs="1" labUnique="Yes"> 
    133   <rowAttribute label="label" title="Record Label"/> 
    134   <rowAttribute label="title" title="Record Title"/> 
    135   <rowAttribute label="uid"/> 
     138  <rowAttribute label="label" type="xs:string" title="Record Label" uid="876c02b4-9385-11e5-b828-5404a60d96b5"/> 
     139  <rowAttribute label="title" type="xs:string" title="Record Title" uid="876c0462-9385-11e5-b828-5404a60d96b5"/> 
     140  <rowAttribute label="uid" type="xs:string" uid="876c05de-9385-11e5-b828-5404a60d96b5"/> 
    136141</table> 
    137142<table label="complianceCode" uid="SECTION:complianceCode" title="Data specification compliance codes" id="cmip.drv.021" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 
    138   <rowAttribute label="label" title="Record Label"/> 
    139   <rowAttribute label="title" title="Record Title"/> 
    140   <rowAttribute label="uid"/> 
     143  <rowAttribute label="label" type="xs:string" title="Record Label" uid="876c08ea-9385-11e5-b828-5404a60d96b5"/> 
     144  <rowAttribute label="title" type="xs:string" title="Record Title" uid="876c0a7a-9385-11e5-b828-5404a60d96b5"/> 
     145  <rowAttribute label="uid" type="xs:string" uid="876c0bf6-9385-11e5-b828-5404a60d96b5"/> 
    141146</table> 
    142147<table label="glossary" uid="SECTION:glossary" title="Glossary" id="cmip.drv.022" itemLabelMode="def" level="0" maxOccurs="1" labUnique="No"> 
    143   <rowAttribute label="label" title="Record Label"/> 
    144   <rowAttribute label="title" title="Record Title"/> 
    145   <rowAttribute label="fullName"/> 
    146   <rowAttribute label="description"/> 
    147   <rowAttribute label="url"/> 
    148   <rowAttribute label="uid"/> 
     148  <rowAttribute label="label" type="xs:string" title="Record Label" uid="876c107e-9385-11e5-b828-5404a60d96b5"/> 
     149  <rowAttribute label="title" type="xs:string" title="Record Title" uid="876c1218-9385-11e5-b828-5404a60d96b5"/> 
     150  <rowAttribute label="fullName" type="xs:string" uid="876c13a8-9385-11e5-b828-5404a60d96b5"/> 
     151  <rowAttribute label="description" type="xs:string" uid="876c152e-9385-11e5-b828-5404a60d96b5"/> 
     152  <rowAttribute label="url" type="xs:string" uid="876c16be-9385-11e5-b828-5404a60d96b5"/> 
     153  <rowAttribute label="uid" type="xs:string" uid="876c184e-9385-11e5-b828-5404a60d96b5"/> 
    149154</table> 
    150155<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"> 
    151   <rowAttribute label="label" title="Record Label"/> 
    152   <rowAttribute label="title" title="Record Title"/> 
    153   <rowAttribute label="uid"/> 
     156  <rowAttribute label="label" type="xs:string" title="Record Label" uid="876c1b64-9385-11e5-b828-5404a60d96b5"/> 
     157  <rowAttribute label="title" type="xs:string" title="Record Title" uid="876c1d08-9385-11e5-b828-5404a60d96b5"/> 
     158  <rowAttribute label="uid" type="xs:string" uid="876c1ea2-9385-11e5-b828-5404a60d96b5"/> 
    154159</table> 
    155160<table label="modelType" uid="SECTION:modelType" title="Class of model" id="cmip.drv.024" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 
    156   <rowAttribute label="label" title="Record Label"/> 
    157   <rowAttribute label="title" title="Record Title"/> 
    158   <rowAttribute label="uid"/> 
     161  <rowAttribute label="label" type="xs:string" title="Record Label" uid="876c21a4-9385-11e5-b828-5404a60d96b5"/> 
     162  <rowAttribute label="title" type="xs:string" title="Record Title" uid="876c2348-9385-11e5-b828-5404a60d96b5"/> 
     163  <rowAttribute label="uid" type="xs:string" uid="876c24d8-9385-11e5-b828-5404a60d96b5"/> 
    159164</table> 
    160165<table label="index" uid="SECTION:index" title="Index of vocabularies" id="cmip.drv.025" itemLabelMode="def" level="0" maxOccurs="1" labUnique="Yes"> 
    161   <rowAttribute label="label" title="Record Label"/> 
    162   <rowAttribute label="title" title="Record Title"/> 
    163   <rowAttribute label="table"/> 
    164   <rowAttribute label="title"/> 
    165   <rowAttribute label="description"/> 
    166   <rowAttribute label="uid"/> 
     166  <rowAttribute label="label" type="xs:string" title="Record Label" uid="876c28f2-9385-11e5-b828-5404a60d96b5"/> 
     167  <rowAttribute label="title" type="xs:string" title="Record Title" uid="876c2a82-9385-11e5-b828-5404a60d96b5"/> 
     168  <rowAttribute label="table" type="xs:string" uid="876c2c08-9385-11e5-b828-5404a60d96b5"/> 
     169  <rowAttribute label="title" type="xs:string" uid="876c2de8-9385-11e5-b828-5404a60d96b5"/> 
     170  <rowAttribute label="description" type="xs:string" uid="876c2fa0-9385-11e5-b828-5404a60d96b5"/> 
     171  <rowAttribute label="uid" type="xs:string" uid="876c314e-9385-11e5-b828-5404a60d96b5"/> 
    167172</table> 
    168173<table label="cmorDimAttr" uid="SECTION:cmorDimAttr" title="CMOR Dimension Attributes" id="cmip.drv.026" itemLabelMode="und" level="0" maxOccurs="1" labUnique="Yes"> 
    169   <rowAttribute label="label" title="Record Label"/> 
    170   <rowAttribute label="title" title="Record Title"/> 
    171   <rowAttribute label="description"/> 
    172   <rowAttribute label="uid"/> 
    173   <rowAttribute label="CMORattr" title="Corresponding label in the CMOR MIP tables, if different"/> 
     174  <rowAttribute label="label" type="xs:string" title="Record Label" uid="876c3662-9385-11e5-b828-5404a60d96b5"/> 
     175  <rowAttribute label="title" type="xs:string" title="Record Title" uid="876c37fc-9385-11e5-b828-5404a60d96b5"/> 
     176  <rowAttribute label="description" type="xs:string" uid="876c3978-9385-11e5-b828-5404a60d96b5"/> 
     177  <rowAttribute label="uid" type="xs:string" uid="876c3af4-9385-11e5-b828-5404a60d96b5"/> 
     178  <rowAttribute label="CMORattr" type="xs:string" title="Corresponding label in the CMOR MIP tables, if different" uid="876c3c70-9385-11e5-b828-5404a60d96b5"/> 
    174179</table> 
    175180<table label="processingOptions" uid="SECTION:processingOptions" title="Processing steps required" id="cmip.drv.027" itemLabelMode="an" level="0" maxOccurs="1" labUnique="Yes"> 
    176   <rowAttribute label="label" title="Record Label"/> 
    177   <rowAttribute label="title" title="Record Title"/> 
    178   <rowAttribute label="description"/> 
    179   <rowAttribute label="uid"/> 
     181  <rowAttribute label="label" type="xs:string" title="Record Label" uid="876c3fd6-9385-11e5-b828-5404a60d96b5"/> 
     182  <rowAttribute label="title" type="xs:string" title="Record Title" uid="876c4184-9385-11e5-b828-5404a60d96b5"/> 
     183  <rowAttribute label="description" type="xs:string" uid="876c4300-9385-11e5-b828-5404a60d96b5"/> 
     184  <rowAttribute label="uid" type="xs:string" uid="876c4472-9385-11e5-b828-5404a60d96b5"/> 
    180185</table> 
    181186<table label="coordinateReference" uid="SECTION:coordinateReference" title="Processing steps required" id="cmip.drv.028" itemLabelMode="an" level="0" maxOccurs="1" labUnique="Yes"> 
    182   <rowAttribute label="label" title="Record Label"/> 
    183   <rowAttribute label="title" title="Record Title"/> 
    184   <rowAttribute label="title"/> 
    185   <rowAttribute label="ogc_wkt"/> 
    186   <rowAttribute label="url"/> 
    187   <rowAttribute label="uid"/> 
     187  <rowAttribute label="label" type="xs:string" title="Record Label" uid="876c48be-9385-11e5-b828-5404a60d96b5"/> 
     188  <rowAttribute label="title" type="xs:string" title="Record Title" uid="876c4a4e-9385-11e5-b828-5404a60d96b5"/> 
     189  <rowAttribute label="title" type="xs:string" uid="876c4bca-9385-11e5-b828-5404a60d96b5"/> 
     190  <rowAttribute label="ogc_wkt" type="xs:string" uid="876c4d46-9385-11e5-b828-5404a60d96b5"/> 
     191  <rowAttribute label="url" type="xs:string" uid="876c4ec2-9385-11e5-b828-5404a60d96b5"/> 
     192  <rowAttribute label="uid" type="xs:string" uid="876c503e-9385-11e5-b828-5404a60d96b5"/> 
    188193</table> 
    189194<table label="modelConfig" uid="SECTION:modelConfig" title="Model configuration options" id="cmip.drv.029" itemLabelMode="an" level="0" maxOccurs="1" labUnique="Yes"> 
    190   <rowAttribute label="label" title="Record Label"/> 
    191   <rowAttribute label="title" title="Record Title"/> 
    192   <rowAttribute label="title"/> 
    193   <rowAttribute label="MIPs"/> 
    194   <rowAttribute label="usage"/> 
    195   <rowAttribute label="type"/> 
    196   <rowAttribute label="range" title="Range of valid values, e.g. xs:boolean"/> 
     195  <rowAttribute label="label" type="xs:string" title="Record Label" uid="876c5520-9385-11e5-b828-5404a60d96b5"/> 
     196  <rowAttribute label="title" type="xs:string" title="Record Title" uid="876c56ba-9385-11e5-b828-5404a60d96b5"/> 
     197  <rowAttribute label="title" type="xs:string" uid="876c582c-9385-11e5-b828-5404a60d96b5"/> 
     198  <rowAttribute label="MIPs" type="xs:string" uid="876c59a8-9385-11e5-b828-5404a60d96b5"/> 
     199  <rowAttribute label="usage" type="xs:string" uid="876c5b1a-9385-11e5-b828-5404a60d96b5"/> 
     200  <rowAttribute label="type" type="xs:string" uid="876c5c96-9385-11e5-b828-5404a60d96b5"/> 
     201  <rowAttribute label="range" type="xs:string" title="Range of valid values, e.g. xs:boolean" uid="876c5e12-9385-11e5-b828-5404a60d96b5"/> 
    197202</table> 
    198203</defDoc> 
  • CMIP6dreqbuild/trunk/src/framework/out/vocabSample.xml

    r424 r508  
    66xmlns="urn:w3id.org:cmip6.dreq.dreq:a"> 
    77<prologue> 
    8 <dc:title>Draft CMIP6 Data Request [01.beta.08]</dc:title> 
     8<dc:title>Draft CMIP6 Data Request [01.beta.13]</dc:title> 
    99<dc:description>The CMIP6 Data Request will specify the variables requested for the CMIP6 archive, and the detail the experiments and time slices for which they are required.</dc:description> 
    1010<dc:creator>Martin Juckes</dc:creator> 
    11 <dc:date>2015-10-14</dc:date> 
     11<dc:date>2015-11-25</dc:date> 
    1212</prologue> 
    1313<main> 
    14 <institute uid="SECTION:institute" class="vocab" title="Institute" id="cmip.drv.001"> 
     14<institute label="institute" uid="SECTION:institute" useClass="vocab" title="Institute" id="cmip.drv.001"> 
    1515<!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 
    16 <item id="001.001.001" label="example-01" title="dummy title string" url="dummyAt" isni="dummyAt" description="dummyAt" uid="826ea206-727b-11e5-874d-ac72891c3257"/> 
     16<item id="001.001.001" label="example-01" title="dummy title string" url="dummyAt" isni="dummyAt" description="dummyAt" uid="875d2474-9385-11e5-ac84-5404a60d96b5"/> 
    1717</institute> 
    18 <model uid="SECTION:model" class="vocab" title="Model" id="cmip.drv.002"> 
     18<model label="model" uid="SECTION:model" useClass="vocab" title="Model" id="cmip.drv.002"> 
    1919<!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 
    20 <item id="001.002.001" label="example-01" title="dummy title string" description="dummyAt" url="dummyAt" altUrl="dummyAt" source="dummyAt" uid="826eeae0-727b-11e5-874d-ac72891c3257"/> 
     20<item id="001.002.001" label="example-01" title="dummy title string" description="dummyAt" url="dummyAt" altUrl="dummyAt" source="dummyAt" uid="875d7744-9385-11e5-ac84-5404a60d96b5"/> 
    2121</model> 
    22 <physicsvers uid="SECTION:physicsvers" class="vocab" title="Physics Version" id="cmip.drv.003"> 
     22<physicsvers label="physicsvers" uid="SECTION:physicsvers" useClass="vocab" title="Physics Version" id="cmip.drv.003"> 
    2323<!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 
    24 <item id="001.003.001" label="example-01" title="dummy title string" description="dummyAt" uid="826f2924-727b-11e5-874d-ac72891c3257"/> 
     24<item id="001.003.001" label="example-01" title="dummy title string" description="dummyAt" uid="875dbb46-9385-11e5-ac84-5404a60d96b5"/> 
    2525</physicsvers> 
    26 <initialisationmethod uid="SECTION:initialisationmethod" class="vocab" title="Initialisation Method" id="cmip.drv.004"> 
     26<initialisationmethod label="initialisationmethod" uid="SECTION:initialisationmethod" useClass="vocab" title="Initialisation Method" id="cmip.drv.004"> 
    2727<!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 
    28 <item id="001.004.001" label="example-01" title="dummy title string" description="dummyAt" uid="826f6178-727b-11e5-874d-ac72891c3257"/> 
     28<item id="001.004.001" label="example-01" title="dummy title string" description="dummyAt" uid="875dfd54-9385-11e5-ac84-5404a60d96b5"/> 
    2929</initialisationmethod> 
    30 <modelComp uid="SECTION:modelComp" class="vocab" title="Model Components" id="cmip.drv.005"> 
     30<modelComp label="modelComp" uid="SECTION:modelComp" useClass="vocab" title="Model Components" id="cmip.drv.005"> 
    3131<!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 
    32 <item id="001.005.001" label="example-01" title="dummy title string" componentType="dummyAt" sizeH="dummyAt" sizeV="dummyAt" uid="826f9a6c-727b-11e5-874d-ac72891c3257"/> 
     32<item id="001.005.001" label="example-01" title="dummy title string" componentType="dummyAt" sizeH="dummyAt" sizeV="dummyAt" uid="875e3f12-9385-11e5-ac84-5404a60d96b5"/> 
    3333</modelComp> 
    34 <activity uid="SECTION:activity" class="vocab" title="Coordinating activity" id="cmip.drv.006"> 
     34<activity label="activity" uid="SECTION:activity" useClass="vocab" title="Coordinating activity" id="cmip.drv.006"> 
    3535<!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 
    36 <item id="001.006.001" label="example-01" title="dummy title string" url="dummyAt" status="dummyAt" uid="826fa50c-727b-11e5-874d-ac72891c3257"/> 
     36<item id="001.006.001" label="example-01" title="dummy title string" url="dummyAt" status="dummyAt" uid="875e4b42-9385-11e5-ac84-5404a60d96b5" project="dummyAt"/> 
    3737</activity> 
    38 <product uid="SECTION:product" class="vocab" title="Data product" id="cmip.drv.007"> 
     38<product label="product" uid="SECTION:product" useClass="vocab" title="Data product" id="cmip.drv.007"> 
    3939<!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 
    40 <item id="001.007.001" label="example-01" title="dummy title string" uid="826fa89a-727b-11e5-874d-ac72891c3257"/> 
     40<item id="001.007.001" label="example-01" title="dummy title string" uid="875e4f2a-9385-11e5-ac84-5404a60d96b5"/> 
    4141</product> 
    42 <experiment uid="SECTION:experiment" class="vocab" title="Numerical Experiment" id="cmip.drv.008"> 
     42<experiment label="experiment" uid="SECTION:experiment" useClass="vocab" title="Numerical Experiment" id="cmip.drv.008"> 
    4343<!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 
    44 <item id="001.008.001" label="example-01" title="dummy title string" altLabel="dummyAt" description="dummyAt" url="dummyAt" sponsor="dummyAt" uid="826fad7c-727b-11e5-874d-ac72891c3257"/> 
     44<item id="001.008.001" label="example-01" title="dummy title string" altLabel="dummyAt" description="dummyAt" url="dummyAt" sponsor="dummyAt" uid="875e54ac-9385-11e5-ac84-5404a60d96b5"/> 
    4545</experiment> 
    46 <frequency uid="SECTION:frequency" class="vocab" title="Temporal frequency of data values" id="cmip.drv.009"> 
     46<frequency label="frequency" uid="SECTION:frequency" useClass="vocab" title="Temporal frequency of data values" id="cmip.drv.009"> 
    4747<!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 
    48 <item id="001.009.001" label="example-01" title="dummy title string" iso="dummyAt" uid="826fb1dc-727b-11e5-874d-ac72891c3257" isClimatology="false"/> 
     48<item id="001.009.001" label="example-01" title="dummy title string" iso="dummyAt" uid="875e5952-9385-11e5-ac84-5404a60d96b5" isClimatology="false"/> 
    4949</frequency> 
    50 <realm uid="SECTION:realm" class="vocab" title="Modeling realm" id="cmip.drv.010"> 
     50<realm label="realm" uid="SECTION:realm" useClass="vocab" title="Modeling realm" id="cmip.drv.010"> 
    5151<!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 
    52 <item id="001.010.001" label="example-01" title="dummy title string" uid="826fb506-727b-11e5-874d-ac72891c3257"/> 
     52<item id="001.010.001" label="example-01" title="dummy title string" uid="875e5cc2-9385-11e5-ac84-5404a60d96b5"/> 
    5353</realm> 
    54 <grid uid="SECTION:grid" class="vocab" title="Native grid" id="cmip.drv.011"> 
     54<grid label="grid" uid="SECTION:grid" useClass="vocab" title="Native grid" id="cmip.drv.011"> 
    5555<!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 
    56 <item id="001.011.001" label="example-01" title="dummy title string" uid="826fb808-727b-11e5-874d-ac72891c3257"/> 
     56<item id="001.011.001" label="example-01" title="dummy title string" uid="875e6000-9385-11e5-ac84-5404a60d96b5"/> 
    5757</grid> 
    58 <dimensions uid="SECTION:dimensions" class="vocab" title="MIP table variable dimensions" id="cmip.drv.012"> 
     58<dimensions label="dimensions" uid="SECTION:dimensions" useClass="vocab" title="MIP table variable dimensions" id="cmip.drv.012"> 
    5959<!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 
    60 <item id="001.012.001" label="example01" title="dummy title string" altLabel="dummyAt" sn="dummyAt" size="25" uid="826fbd62-727b-11e5-874d-ac72891c3257"/> 
     60<item id="001.012.001" label="example01" title="dummy title string" altLabel="dummyAt" sn="dummyAt" size="25" uid="875e65c8-9385-11e5-ac84-5404a60d96b5"/> 
    6161</dimensions> 
    62 <forcings uid="SECTION:forcings" class="vocab" title="Forcing" id="cmip.drv.013"> 
     62<forcings label="forcings" uid="SECTION:forcings" useClass="vocab" title="Forcing" id="cmip.drv.013"> 
    6363<!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 
    64 <item id="001.013.001" label="example-01" title="dummy title string" uid="826fc05a-727b-11e5-874d-ac72891c3257"/> 
     64<item id="001.013.001" label="example-01" title="dummy title string" uid="875e6924-9385-11e5-ac84-5404a60d96b5"/> 
    6565</forcings> 
    66 <table uid="SECTION:table" class="vocab" title="Data specification table" id="cmip.drv.014"> 
     66<table label="table" uid="SECTION:table" useClass="vocab" title="Data specification table" id="cmip.drv.014"> 
    6767<!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 
    68 <item id="001.014.001" label="example-01" title="dummy title string" description="dummyAt" comment="dummyAt" frequency="dummyAt" uid="826fc474-727b-11e5-874d-ac72891c3257"/> 
     68<item id="001.014.001" label="example-01" title="dummy title string" description="dummyAt" comment="dummyAt" frequency="dummyAt" uid="875e6dca-9385-11e5-ac84-5404a60d96b5"/> 
    6969</table> 
    70 <cref uid="SECTION:cref" class="vocab" title="Coordinate Reference" id="cmip.drv.015"> 
     70<cref label="cref" uid="SECTION:cref" useClass="vocab" title="Coordinate Reference" id="cmip.drv.015"> 
    7171<!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 
    72 <item id="001.015.001" label="example-01" title="dummy title string" uid="826fc7da-727b-11e5-874d-ac72891c3257"/> 
     72<item id="001.015.001" label="example-01" title="dummy title string" uid="875e716c-9385-11e5-ac84-5404a60d96b5"/> 
    7373</cref> 
    74 <areaType uid="SECTION:areaType" class="vocab" title="CMIP Area Type" id="cmip.drv.016"> 
     74<areaType label="areaType" uid="SECTION:areaType" useClass="vocab" title="CMIP Area Type" id="cmip.drv.016"> 
    7575<!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 
    76 <item id="001.016.001" label="example-01" title="dummy title string" inCF="dummyAt" uid="826fcb36-727b-11e5-874d-ac72891c3257"/> 
     76<item id="001.016.001" label="example-01" title="dummy title string" inCF="dummyAt" uid="875e74f0-9385-11e5-ac84-5404a60d96b5"/> 
    7777</areaType> 
    78 <timeSlice uid="SECTION:timeSlice" class="vocab" title="Time slices used in data request" id="cmip.drv.017"> 
     78<timeSlice label="timeSlice" uid="SECTION:timeSlice" useClass="vocab" title="Time slices used in data request" id="cmip.drv.017"> 
    7979<!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 
    80 <item id="001.017.001" label="example-01" title="dummy title string" type="dummyAt" specification="dummyAt" uid="826fceec-727b-11e5-874d-ac72891c3257"/> 
     80<item id="001.017.001" label="example-01" title="dummy title string" uid="875e7a72-9385-11e5-ac84-5404a60d96b5" type="dummyAt" start="dummyAt" end="dummyAt" step="dummyAt" sliceLen="dummyAt" nyears="dummyAt"/> 
    8181</timeSlice> 
    82 <modelFamily uid="SECTION:modelFamily" class="vocab" title="Family of model" id="cmip.drv.018"> 
     82<modelFamily label="modelFamily" uid="SECTION:modelFamily" useClass="vocab" title="Family of model" id="cmip.drv.018"> 
    8383<!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 
    84 <item id="001.018.001" label="example-01" title="dummy title string" uid="826fd1da-727b-11e5-874d-ac72891c3257"/> 
     84<item id="001.018.001" label="example-01" title="dummy title string" uid="875e7eaa-9385-11e5-ac84-5404a60d96b5"/> 
    8585</modelFamily> 
    86 <priority uid="SECTION:priority" class="vocab" title="Variable priority" id="cmip.drv.019"> 
     86<priority label="priority" uid="SECTION:priority" useClass="vocab" title="Variable priority" id="cmip.drv.019"> 
    8787<!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 
    88 <item id="001.019.001" label="1" title="dummy title string" description="dummyAt" uid="826fd536-727b-11e5-874d-ac72891c3257"/> 
     88<item id="001.019.001" label="1" title="dummy title string" description="dummyAt" uid="875e8224-9385-11e5-ac84-5404a60d96b5"/> 
    8989</priority> 
    90 <qcLevel uid="SECTION:qcLevel" class="vocab" title="Quality control level" id="cmip.drv.020"> 
     90<qcLevel label="qcLevel" uid="SECTION:qcLevel" useClass="vocab" title="Quality control level" id="cmip.drv.020"> 
    9191<!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 
    92 <item id="001.020.001" label="1" title="dummy title string" uid="826fd810-727b-11e5-874d-ac72891c3257"/> 
     92<item id="001.020.001" label="1" title="dummy title string" uid="875e853a-9385-11e5-ac84-5404a60d96b5"/> 
    9393</qcLevel> 
    94 <complianceCode uid="SECTION:complianceCode" class="vocab" title="Data specification compliance codes" id="cmip.drv.021"> 
     94<complianceCode label="complianceCode" uid="SECTION:complianceCode" useClass="vocab" title="Data specification compliance codes" id="cmip.drv.021"> 
    9595<!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 
    96 <item id="001.021.001" label="example-01" title="dummy title string" uid="826fdaf4-727b-11e5-874d-ac72891c3257"/> 
     96<item id="001.021.001" label="example-01" title="dummy title string" uid="875e8850-9385-11e5-ac84-5404a60d96b5"/> 
    9797</complianceCode> 
    98 <glossary uid="SECTION:glossary" class="vocab" title="Glossary" id="cmip.drv.022"> 
     98<glossary label="glossary" uid="SECTION:glossary" useClass="vocab" title="Glossary" id="cmip.drv.022"> 
    9999<!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 
    100 <item id="001.022.001" label="example-01" title="dummy title string" fullName="dummyAt" description="dummyAt" url="dummyAt" uid="826fdee6-727b-11e5-874d-ac72891c3257"/> 
     100<item id="001.022.001" label="example-01" title="dummy title string" fullName="dummyAt" description="dummyAt" url="dummyAt" uid="875e8c88-9385-11e5-ac84-5404a60d96b5"/> 
    101101</glossary> 
    102 <modelCompType uid="SECTION:modelCompType" class="vocab" title="Model Component Types/Categories [redundant with *Native Grid*]" id="cmip.drv.023"> 
     102<modelCompType label="modelCompType" uid="SECTION:modelCompType" useClass="vocab" title="Model Component Types/Categories [redundant with *Native Grid*]" id="cmip.drv.023"> 
    103103<!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 
    104 <item id="001.023.001" label="example-01" title="dummy title string" uid="826fe1de-727b-11e5-874d-ac72891c3257"/> 
     104<item id="001.023.001" label="example-01" title="dummy title string" uid="875e8fd0-9385-11e5-ac84-5404a60d96b5"/> 
    105105</modelCompType> 
    106 <modelType uid="SECTION:modelType" class="vocab" title="Class of model" id="cmip.drv.024"> 
     106<modelType label="modelType" uid="SECTION:modelType" useClass="vocab" title="Class of model" id="cmip.drv.024"> 
    107107<!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 
    108 <item id="001.024.001" label="example-01" title="dummy title string" uid="826fe4b8-727b-11e5-874d-ac72891c3257"/> 
     108<item id="001.024.001" label="example-01" title="dummy title string" uid="875e9354-9385-11e5-ac84-5404a60d96b5"/> 
    109109</modelType> 
    110 <index uid="SECTION:index" class="vocab" title="Index of vocabularies" id="cmip.drv.025"> 
     110<index label="index" uid="SECTION:index" useClass="vocab" title="Index of vocabularies" id="cmip.drv.025"> 
    111111<!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 
    112 <item id="001.025.001" label="example-01" title="dummy title string" table="dummyAt" description="dummyAt" uid="826fe896-727b-11e5-874d-ac72891c3257"/> 
     112<item id="001.025.001" label="example-01" title="dummy title string" table="dummyAt" description="dummyAt" uid="875e98ae-9385-11e5-ac84-5404a60d96b5"/> 
    113113</index> 
    114 <cmorDimAttr uid="SECTION:cmorDimAttr" class="vocab" title="CMOR Dimension Attributes" id="cmip.drv.026"> 
     114<cmorDimAttr label="cmorDimAttr" uid="SECTION:cmorDimAttr" useClass="vocab" title="CMOR Dimension Attributes" id="cmip.drv.026"> 
    115115<!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 
    116 <item id="001.026.001" label="example_03" title="dummy title string" description="dummyAt" uid="826fed00-727b-11e5-874d-ac72891c3257" CMORattr="dummyAt"/> 
     116<item id="001.026.001" label="example_03" title="dummy title string" description="dummyAt" uid="875e9cdc-9385-11e5-ac84-5404a60d96b5" CMORattr="dummyAt"/> 
    117117</cmorDimAttr> 
    118 <processingOptions uid="SECTION:processingOptions" class="vocab" title="Processing steps required" id="cmip.drv.027"> 
     118<processingOptions label="processingOptions" uid="SECTION:processingOptions" useClass="vocab" title="Processing steps required" id="cmip.drv.027"> 
    119119<!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 
    120 <item id="001.027.001" label="example01" title="dummy title string" description="dummyAt" uid="826ff066-727b-11e5-874d-ac72891c3257"/> 
     120<item id="001.027.001" label="example01" title="dummy title string" description="dummyAt" uid="875ea164-9385-11e5-ac84-5404a60d96b5"/> 
    121121</processingOptions> 
    122 <coordinateReference uid="SECTION:coordinateReference" class="vocab" title="Processing steps required" id="cmip.drv.028"> 
     122<coordinateReference label="coordinateReference" uid="SECTION:coordinateReference" useClass="vocab" title="Processing steps required" id="cmip.drv.028"> 
    123123<!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 
    124 <item id="001.028.001" label="example01" title="dummy title string" ogc_wkt="dummyAt" url="dummyAt" uid="826ff462-727b-11e5-874d-ac72891c3257"/> 
     124<item id="001.028.001" label="example01" title="dummy title string" ogc_wkt="dummyAt" url="dummyAt" uid="875ea7cc-9385-11e5-ac84-5404a60d96b5"/> 
    125125</coordinateReference> 
    126 <modelConfig uid="SECTION:modelConfig" class="vocab" title="Model configuration options" id="cmip.drv.029"> 
     126<modelConfig label="modelConfig" uid="SECTION:modelConfig" useClass="vocab" title="Model configuration options" id="cmip.drv.029"> 
    127127<!-- <info srcType="dummy" srcRef="ptxt.py">Dummy entries</info> --> 
    128128<item id="001.029.001" label="example01" title="dummy title string" MIPs="dummyAt" usage="dummyAt" type="dummyAt" range="dummyAt"/> 
  • CMIP6dreqbuild/trunk/src/framework/ptxt.py

    r502 r508  
    4545 
    4646### tuble to define attributes of an item 
    47 nt__itematt = collections.namedtuple( 'itematt', ['name','type','title','clss','techn','uid','description','superclass'] ) 
     47nt__itematt = collections.namedtuple( 'itematt', ['name','type','title','clss','techn','uid','description','superclass','usage'] ) 
    4848 
    4949vocab_elTmpl = '''<table label="%(label)s" uid="%(uid)s" title="%(title)s" id="%(id)s" itemLabelMode="%(ilm)s" level="%(sectLevel)s" maxOccurs="%(mxo)s" labUnique="%(labu)s"> 
     
    5151</table> 
    5252''' 
    53 ial_elTmpl = '  <rowAttribute label="%(label)s"%(wrappedType)s%(wrappedTitle)s%(wrappedClass)s%(wrappedTechn)s%(wrappedDescription)s%(wrappedUid)s%(wrappedSuperclass)s/>' 
     53ial_elTmpl = '  <rowAttribute label="%(label)s"%(wrappedType)s%(wrappedTitle)s%(wrappedClass)s%(wrappedTechn)s%(wrappedDescription)s%(wrappedUid)s%(wrappedSuperclass)s%(wrappedUsage)s/>' 
    5454 
    5555expl_Tmpl = '''<%(label)s label="%(label)s" uid="%(uid)s" useClass="vocab" title="%(title)s" id="%(id)s"> 
     
    8989###nt__itematt = collections.namedtuple( 'itematt', ['name','type','title','clss','techn'] ) 
    9090###nt__itematt = collections.namedtuple( 'itematt', ['name','type','title','clss','techn','uid','description','superclass'] ) 
    91      self.itematts = [  nt__itematt( 'label','xs:string','Record Label',None,None,None,None,None ), 
    92                         nt__itematt( 'title','xs:string','Record Title',None,None,None,None,None ) ] 
     91     self.itematts = [  nt__itematt( 'label','xs:string','Record Label',None,None,None,None,None,None ), 
     92                        nt__itematt( 'title','xs:string','Record Title',None,None,None,None,None,None ) ] 
    9393     self.counter = counter 
    9494 
    9595  def tmpl(self,oo=None,mode="defn"): 
     96     """Write out a section definition or a sample record""" 
    9697     if mode in [ "defn","upd"]: 
    9798       ss = [] 
     
    101102         wrappedTitle = wrap( ' title="%s"' , i.title ) 
    102103         wrappedType = wrap( ' type="%s"' , i.type ) 
    103          if i.uid == None: 
     104         if i.usage != '': 
     105           wrappedUsage = wrap( ' usage="%s"' , i.usage ) 
     106         else: 
     107           wrappedUsage = '' 
     108         if i.uid in [None,'']: 
    104109           wrappedUid = wrap( ' uid="%s"' , str( uuid.uuid1() ) ) 
    105110         else: 
     
    195200         bn = string.split(b, ' ')[0] 
    196201         x = self.pb(b) 
    197          self.itematts.append( nt__itematt( bn, x[0], x[1], x[2], x[3], None,x[4], None ) ) 
     202         self.itematts.append( nt__itematt( bn, x[0], x[1], x[2], x[3], None,x[4], None, None ) ) 
    198203         self.msg( '%s, %s, %s, %s, %s' % (bn, x[0], x[1], x[2], x[3]) ) 
    199204 
     
    240245        ks.append( str(rr[0]) ) 
    241246      for k in ks: 
    242         ii.append( ['vocab',] + self.isect[k] ) 
    243         s = wb.book.sheet_by_name( k ) 
    244         for j in range(1,s.nrows): 
    245           rr = map( lambda x: x.value, s.row(j) ) 
    246           ii.append(rr) 
     247        if k[0] != '_': 
     248          ii.append( ['vocab',] + self.isect[k] ) 
     249          s = wb.book.sheet_by_name( k ) 
     250          for j in range(1,s.nrows): 
     251            rr = map( lambda x: x.value, s.row(j) ) 
     252            ii.append(rr) 
    247253          
    248254    else:  
     
    299305          for l1 in string.split( updExtra, '\n' ): 
    300306            this.attr( l1 ) 
    301       elif imode == 1: 
    302         this.attr( l) 
    303307      else: 
    304         this.attr02( l) 
     308        if imode == 1: 
     309          this.attr( l) 
     310        else: 
     311          if len(l) == 8: 
     312            l.append( '' ) 
     313          this.attr02( l) 
    305314 
    306315    this.tmpl(oo=oo,mode=mode) 
  • CMIP6dreqbuild/trunk/src/framework/scanDreq.py

    r493 r508  
    511511    self.doc = xml.dom.minidom.parse( src  ) 
    512512    self.dreq = dreq 
    513  
    514  
     513    this = self.doc.getElementsByTagName('var')[0] 
     514    dil = this.getElementsByTagName('item') 
     515    self.vid = {} 
     516    for item in dil: 
     517      uid = item.getAttribute( 'uid' )   
     518      title = item.getAttribute( 'title' )   
     519      label = item.getAttribute( 'label' )   
     520      self.vid[uid] = (label,title) 
     521      
     522  def cmvCheck(self,dq): 
     523    this = self.doc.getElementsByTagName('CMORvar')[0] 
     524    dil = this.getElementsByTagName('item') 
     525    kk = 0 
     526    kka = 0 
     527    for item in dil: 
     528      title = item.getAttribute( 'title' )   
     529      if title[:6] == '__from': 
     530        kka += 1 
     531        vid = item.getAttribute( 'vid' )   
     532        if vid in self.vid: 
     533          title2 = self.vid[vid][1] 
     534          item.setAttribute( 'title', title2 ) 
     535          kk += 1 
     536    print ('CMOR Var titles reset: %s [%s]' % (kk,kka)) 
     537 
     538     
     539  def mipProv(self,dq): 
     540    s1 = re.compile( '\[([a-zA-Z0-9]*)\]' ) 
     541    cc = collections.defaultdict(int) 
     542    dd = collections.defaultdict(int) 
     543    for i in dq.coll['var'].items: 
     544      cc[i.prov] += 1 
     545 
     546    ee = {} 
     547    for i in sorted( cc.keys() ): 
     548      if i[:9] == 'CMIP6 end': 
     549        m = s1.findall( i ) 
     550        assert len( m ) == 1, 'FAILED TO PARSE: %s' % i 
     551        this = m[0] 
     552      else: 
     553        i5 = i.find( 'CMIP5' ) != -1 
     554        io = i.find( 'OMIP' ) != -1 
     555        icx = i.find( 'CORDEX' ) != -1 
     556        ip = i.find( 'PMIP' ) != -1 
     557        icc = i.find( 'CCMI' ) != -1 
     558        isp = i.find( 'SPECS' ) != -1 
     559        icf = i.find( 'CFMIP' ) != -1 
     560        if i5 and io: 
     561          print 'WARNING .. unclear provenance: ',i,cc[i] 
     562          this = 'CMIP5/OMIP' 
     563        elif i5: 
     564          this = 'CMIP5' 
     565        elif io: 
     566          this = 'OMIP' 
     567        elif icx: 
     568          this = 'CORDEX' 
     569        elif ip: 
     570          this = 'PMIP' 
     571        elif icc: 
     572          this = 'CCMI' 
     573        elif isp: 
     574          this = 'SPECS' 
     575        elif icf: 
     576          this = 'CFMIP' 
     577        else: 
     578          print 'WARNING .. unclear provenance [2]: ',i,cc[i] 
     579          this = 'unknown' 
     580     
     581      ee[i] = this 
     582      dd[this] += cc[i] 
     583    self.dd = dd 
     584    self.ee = ee 
     585    this = self.doc.getElementsByTagName('var')[0] 
     586    dil = this.getElementsByTagName('item') 
     587    print 'FIXING var provmip attribute, %s items' % len(dil) 
     588    kk = 0 
     589    for item in dil: 
     590      kk += 1 
     591      p = item.getAttribute( 'prov' )   
     592      assert ee.has_key(p), 'Unmatched key: %s' % p 
     593      item.setAttribute( 'provmip', ee[p] ) 
     594       
    515595  def fixCellMethods(self,dq): 
    516596    this = self.doc.getElementsByTagName('structure')[0] 
     
    629709if doAnno: 
    630710  an = annotate( dq.c.vsamp, dq ) 
    631   an.missingRefs( dq.inx.missingIds ) 
    632711  an.sectionCopy(dq) 
    633712  an.fixCellMethods(dq) 
     713  an.mipProv(dq) 
     714  an.cmvCheck(dq) 
     715  an.missingRefs( dq.inx.missingIds ) 
  • CMIP6dreqbuild/trunk/src/workbook/importShDreq2.py

    r501 r508  
    2626reload(ivg) 
    2727 
    28 tableNameMap = {'CMIP5_3hr':'3hr', 'CMIP5_6hrLev':'6hrLev', 'CMIP5_6hrPlev':'6hrPlev', 'CMIP5_Amon':'Amon', 'CMIP5_LImon':'LImon', 'CMIP5_Lmon':'Lmon', 'CMIP5_OImon':'CMIP5_OImon', 'CMIP5_Oclim':'Oclim', 'CMIP5_Omon':'CMIP5_Omon', 'CMIP5_Oyr':'CMIP5_Oyr', 'CMIP5_aero':'aero', 'CMIP5_cf3hr':'cf3hr', 'CMIP5_cfDay':'cfDay', 'CMIP5_cfMon':'cfMon', 'CMIP5_cfOff':'cfOff', 'CMIP5_cfSites':'cfsites', 'CMIP5_day':'day', 'CMIP5_fx':'fx', 'OMIP.Omon':'Omon', 'OMIP.Oyr':'Oyr', 'OMIP.day':'Oday', 'OMIP.fx':'Ofx' } 
     28nt__trace = collections.namedtuple( 'trace', ['GROUPITEM_ta','SPATIALSHAPE_01'] ) 
     29trace = nt__trace( False, False ) 
     30 
     31tableNameMap = {'CMIP5_3hr':'3hr', 'CMIP5_6hrLev':'6hrLev', 'CMIP5_6hrPlev':'6hrPlev', 'CMIP5_Amon':'Amon', 'CMIP5_LImon':'LImon', 'CMIP5_Lmon':'Lmon', 'CMIP5_OImon':'CMIP5_OImon', 'CMIP5_Oclim':'Oclim', 'CMIP5_Omon':'CMIP5_Omon', 'CMIP5_aero':'aero', 'CMIP5_cf3hr':'cf3hr', 'CMIP5_cfDay':'cfDay', 'CMIP5_cfMon':'cfMon', 'CMIP5_cfOff':'cfOff', 'CMIP5_cfSites':'cfsites', 'CMIP5_day':'day', 'CMIP5_fx':'fx', 'OMIP.Omon':'Omon', 'OMIP.Oyr':'Oyr', 'OMIP.day':'Oday', 'OMIP.fx':'Ofx' } 
    2932 
    3033reportedRedundantTables = set() 
    31 redundantTables = ['CORDEX_3h', 'CORDEX_6h', 'CORDEX_fx', 'CORDEX_mon', 'CORDEX_sem', 'PMIP3_Aclim', 'PMIP3_Amon', 'PMIP3_LIclim', 'PMIP3_LImon', 'PMIP3_Lclim', 'PMIP3_Lmon', 'PMIP3_OIclim', 'PMIP3_OImon', 'PMIP3_Oclim', 'PMIP3_Omon', 'PMIP3_day', 'PMIP3_fx', 'SPECS_6hr', 'SPECS_Lmon', 'SPECS_fx'] 
     34redundantTables = ['CMIP5_Oyr','CMIP5_OImon','CORDEX_3h', 'CORDEX_6h', 'CORDEX_fx', 'CORDEX_mon', 'CORDEX_sem', 'PMIP3_Aclim', 'PMIP3_Amon', 'PMIP3_LIclim', 'PMIP3_LImon', 'PMIP3_Lclim', 'PMIP3_Lmon', 'PMIP3_OIclim', 'PMIP3_OImon', 'PMIP3_Oclim', 'PMIP3_Omon', 'PMIP3_day', 'PMIP3_fx', 'SPECS_6hr', 'SPECS_Lmon', 'SPECS_fx'] 
    3235 
    3336## mapping of variable groups representing tables .... 
     37mappedTables =  {'Omon':'OMIP-Omon', 'Oyr':'OMIP-Oyr', 'OImon':'SIMIP-seaicemon' } 
    3438mappedTables =  {'Omon':'OMIP-Omon', 'Oyr':'OMIP-Oyr', 'OImon':'SIMIP-seaicemon' } 
    3539 
     
    96100    self.spsh = importWbMods.ls 
    97101    self.cmDims = importWbMods.cm 
     102    self.importWbMods = importWbMods 
    98103 
    99104    for sh in [rq.expt,rq.exgp,rq.objec,rq.refti, rq.revti, rq.vars, rq.grps, rq.rqvg, rq.rqli, rq.rqit, rq.rqsect]: 
     
    132137         'requestvargroup':rq.rqvg, 'tablesection':rq.rqsect, 'requestvar':rq.revti} 
    133138 
     139    self.writeTimeSlice() 
    134140    self.writeMip() 
    135141    self.writeSn() 
     
    206212      item.setAttribute( 'units', str(u) ) 
    207213      item.setAttribute( 'description', str(d) ) 
     214      thiss.appendChild( item ) 
     215 
     216  def writeTimeSlice(self): 
     217    xx = self.vocabs.getElementsByTagName( 'timeSlice' ) 
     218    assert len(xx) == 1, 'Expecting one element named "activity", found %s' % len(xx) 
     219    iDoc = xx[0] 
     220    thiss = self.doc.getElementsByTagName( 'timeSlice' )[0] 
     221    dil = thiss.getElementsByTagName('item') 
     222    for d in dil: 
     223      thiss.removeChild(d) 
     224 
     225    for i in iDoc.getElementsByTagName('item'): 
     226      item = self.doc.createElement( 'item' ) 
     227      label = i.getAttribute( 'label' ) 
     228      for k in ['label','title','type']: 
     229        item.setAttribute( k, i.getAttribute( k ) ) 
     230      for k in ['start', 'end', 'step', 'sliceLen', 'nyears']: 
     231        if i.getAttribute( k ) != '': 
     232          v = str( int( float( i.getAttribute( k ) ) ) ) 
     233          item.setAttribute( k, v ) 
     234      item.setAttribute( 'uid', '_slice_%s' % label ) 
    208235      thiss.appendChild( item ) 
    209236 
     
    275302    for k in mappedTables.keys(): 
    276303      assert k not in ss and mappedTables[k] not in ss, 'Ambiguous table mapping because of duplicate variable group labels: %s' % k 
    277       assert self.varGroupByLabel.has_key( k ),'Table mapping key not found: %s' % k 
     304      ##assert self.varGroupByLabel.has_key( k ),'Table mapping key not found: %s' % k 
    278305      assert self.varGroupByLabel.has_key( mappedTables[k] ),'Table mapping target not found: %s [%s]' % (mappedTables[k], str(self.varGroupByLabel.keys()) ) 
    279       self.rvgUidMapping[self.varGroupByLabel[k]] = self.varGroupByLabel[ mappedTables[k] ] 
     306      if k in mappedTables and k in self.varGroupByLabel: 
     307        self.rvgUidMapping[self.varGroupByLabel[k]] = self.varGroupByLabel[ mappedTables[k] ] 
    280308      print 'INFO.090.00012: request variable mapping initialised: %s --> %s' % (k,mappedTables[k]) 
    281309       
    282     assert nsev < 10, 'Multiple duplicate labels in variable groups' 
     310    assert nsev < 20, 'Multiple duplicate labels in variable groups: %s' % nsev 
    283311 
    284312  def prepRequestItem(self): 
     
    509537            setu1 = set() 
    510538            tab2freq = {u'CMIP5_cfOff':'subhr', u'CORDEX_mon':'mon', u'SPECS_day':'day', u'CMIP5_day':'day', \ 
    511        u'PMIP3_OImon':'mon', u'CORDEX_day':'day', u'CMIP5_LImon':'mon', u'CMIP5_OImon':'mon', \ 
    512        u'CMIP5_Lmon':'mon', u'CMIP5_3hr':'3hr', u'CMIP5_Omon':'mon', u'PMIP3_OIclim':'monClim', \ 
    513        u'PMIP3_fx':'fx', u'CORDEX_fx':'fx', u'PMIP3_LImon':'mon', u'CMIP5_6hrPlev':'6hr', u'PMIP3_Lmon':'mon', \ 
    514        u'PMIP3_Amon':'mon', u'SPECS_Omon':'mon', u'CCMI1_fixed':'fx', u'PMIP3_Aclim':'monClim', u'CMIP5_6hrLev':'6hr', \ 
    515        u'CMIP5_Oclim':'monClim', u'PMIP3_LIclim':'monClim', u'CCMI1_monthly':'mon', u'CMIP5_fx':'fx', \ 
    516        u'CMIP5_cfDay':'day', u'CORDEX_6h':'6hr', u'PMIP3_day':'day', u'SPECS_OImon':'mon', u'CMIP5_cfMon':'mon', \ 
    517        u'CORDEX_sem':'monClim', u'SPECS_6hr':'6hr', u'CMIP5_cfSites':'subhr', u'CCMI1_hourly':'hr', u'CMIP5_aero':'day', \ 
    518        u'CMIP5_Amon':'mon', u'PMIP3_Omon':'mon', u'CCMI1_daily':'day', u'SPECS_fx':'fx', u'PMIP3_Lclim':'monClim', \ 
    519        u'PMIP3_Oclim':'monClim', u'SPECS_Amon':'mon', u'SPECS_Lmon':'mon', u'CMIP5_cf3hr':'3hr', u'CORDEX_3h':'3hr', \ 
    520        u'CCMI1_annual':'yr', u'CMIP5_Oyr':'yr'} 
     539                  u'PMIP3_OImon':'mon', u'CORDEX_day':'day', u'CMIP5_LImon':'mon', u'CMIP5_OImon':'mon', \ 
     540                  u'CMIP5_Lmon':'mon', u'CMIP5_3hr':'3hr', u'CMIP5_Omon':'mon', u'PMIP3_OIclim':'monClim', \ 
     541                  u'PMIP3_fx':'fx', u'CORDEX_fx':'fx', u'PMIP3_LImon':'mon', u'CMIP5_6hrPlev':'6hr', u'PMIP3_Lmon':'mon', \ 
     542                  u'PMIP3_Amon':'mon', u'SPECS_Omon':'mon', u'CCMI1_fixed':'fx', u'PMIP3_Aclim':'monClim', u'CMIP5_6hrLev':'6hr', \ 
     543                  u'CMIP5_Oclim':'monClim', u'PMIP3_LIclim':'monClim', u'CCMI1_monthly':'mon', u'CMIP5_fx':'fx', \ 
     544                  u'CMIP5_cfDay':'day', u'CORDEX_6h':'6hr', u'PMIP3_day':'day', u'SPECS_OImon':'mon', u'CMIP5_cfMon':'mon', \ 
     545                  u'CORDEX_sem':'monClim', u'SPECS_6hr':'6hr', u'CMIP5_cfSites':'subhr', u'CCMI1_hourly':'hr', u'CMIP5_aero':'day', \ 
     546                  u'CMIP5_Amon':'mon', u'PMIP3_Omon':'mon', u'CCMI1_daily':'day', u'SPECS_fx':'fx', u'PMIP3_Lclim':'monClim', \ 
     547                  u'PMIP3_Oclim':'monClim', u'SPECS_Amon':'mon', u'SPECS_Lmon':'mon', u'CMIP5_cf3hr':'3hr', u'CORDEX_3h':'3hr', \ 
     548                  u'CCMI1_annual':'yr', u'CMIP5_Oyr':'yr'} 
    521549            kk = ['uid', 'comment', 'deflate_level', 'shuffle', 'ok_max_mean_abs', 'flag_meanings', 'type', 'ok_min_mean_abs', 'sn', 'deflate', 'title', 'valid_min', 'cell_methods', 'flag_values', 'cell_measures', 'out_name', 'modeling_realm', 'units', 'cell_methods_xx', 'valid_max', 'positive', 'var', 'mipTable', 'dimensions', 'vid', 'gpid','rowIndex','ssect', 'priority'] 
    522550            id = kk.index('dimensions') 
     
    567595## insert conditional on redundant tables here ... 
    568596## 
    569                   if tt.mipTable in redundantTables and tt.mipTable not in reportedRedundantTables: 
    570                     print 'INFO.000.11111: redundant table spotted: ',tt.mipTable 
    571                     reportedRedundantTables.add( tt.mipTable ) 
     597                  if tt.mipTable in redundantTables: 
     598                    if tt.mipTable not in reportedRedundantTables: 
     599                      print 'INFO.000.11111: redundant table spotted: ',tt.mipTable 
     600                      reportedRedundantTables.add( tt.mipTable ) 
    572601                  else: 
    573602                    if tt.uid in self.cmvs: 
     
    593622            self.dsort( dset ) 
    594623            print self.dsortdd[ksect][0].keys() 
     624 
    595625      elif ksect == 'groupitem': 
    596             kk = ['group', 'var', 'table', 'freq', 'descriptionEx', 'shape', 'levels', 'tstyle', 'mask', 'misc', 'mip', 'uid', 'rowIndex', 'new', 'gpid', 'vkey', 'vid'] 
     626            kk = ['group', 'var', 'table', 'freq', 'descriptionEx', 'shape', 'levels', 'tstyle', 'mask', 'priority', 'mip', 'uid', 'rowIndex', 'new', 'gpid', 'vkey', 'vid'] 
    597627            thisnt = collections.namedtuple( 'groupitem', kk + ['cmorv',] ) 
    598628            il = kk.index( 'levels' ) 
     
    600630            ixvid = kk.index( 'vid' ) 
    601631            ixvar = kk.index( 'var' ) 
     632            ixp = kk.index( 'priority' ) 
    602633            dset = set() 
    603634            dsgpi = set() 
     
    611642              if k[0] != '_': 
    612643                rr = thissh[k][:] 
     644                if trace.GROUPITEM_ta and rr[ixvar] == 'ta': 
     645                  print 'INFO.045.00004: groupitem: ',rr 
     646 
     647## 
     648## convert floats back to integer 
     649## 
     650                if type(rr[ixp]) == type(1.): 
     651                  rr[ixp] = int(rr[ixp]) 
    613652## 
    614653## split variable, create 2nd record at 23 levels. 
     
    720759                  if tt1.modeling_realm == 'seaIce': 
    721760                    ntab = 'OImon' 
    722                   thiscmv = (tt.uid, (tt.shape,tt.levels,tt.tstyle,gr,smdd[tt.mask],tt1.flag_values,tt1.flag_meanings), lab, 'from %s' % tt.table, tt.descriptionEx, tt1.vid, \ 
     761                  if tt.priority in [1,2,3]: 
     762                    p = tt.priority 
     763                  else: 
     764                    p = int(tt1.priority) 
     765                  thiscmv = (tt.uid, (tt.shape,tt.levels,tt.tstyle,gr,smdd[tt.mask],tt1.flag_values,tt1.flag_meanings), lab, '__from %s' % tt.table, tt.descriptionEx, tt1.vid, \ 
    723766                    tt1.deflate_level, tt1.shuffle, tt1.ok_max_mean_abs, tt1.flag_meanings, tt1.type, tt1.ok_min_mean_abs, \ 
    724767                    tt1.deflate, tt1.valid_min, tt1.flag_values, tt1.modeling_realm, tt1.valid_max, tt1.positive, ntab, \ 
    725                     prov, provNote, tt.freq, tt.rowIndex, '', int(tt1.priority))  
    726                   thisrqv = [str( uuid.uuid1() ),lab, tt.uid, tt.gpid, tt1.priority, tt.mip, tt.group] 
     768                    prov, provNote, tt.freq, tt.rowIndex, '', int(p))  
     769                  thisrqv = [str( uuid.uuid1() ),lab, tt.uid, tt.gpid, p, tt.mip, tt.group] 
    727770                  nov += 1 
    728771                else: 
     
    736779                    ntab = 'OImon' 
    737780 
    738                   if  self.defaultP.get( tt.vid, 102) in [1,2,3]: 
     781                  if tt.priority in [1,2,3]: 
     782                    p = tt.priority 
     783                  elif  self.defaultP.get( tt.vid, 102) in [1,2,3]: 
    739784                    p = self.defaultP.get( tt.vid, 102) 
    740785                  else: 
    741786                    p = 1 
    742787                    print 'WARN:070.00002: priority defaulting to 1 for %s,%s' % (lab,prov) 
    743                   thiscmv = (tt.uid, (tt.shape,tt.levels,tt.tstyle,gr,smdd[tt.mask], 'None', 'None'), lab, 'from %s' % tt.table, tt.descriptionEx, tt.vid, \ 
     788                  thiscmv = (tt.uid, (tt.shape,tt.levels,tt.tstyle,gr,smdd[tt.mask], 'None', 'None'), lab, '__from %s' % tt.table, tt.descriptionEx, tt.vid, \ 
    744789                    0, 0, 0, 0, '', 0, \ 
    745790                    0,0,0, thisrealm, 0, '', ntab, \ 
    746791                    prov, provNote, tt.freq, tt.rowIndex, '', str(p))  
     792 
    747793                  thisrqv = [str( uuid.uuid1() ),lab, tt.uid, tt.gpid, p, tt.mip, tt.group]  
     794                if trace.GROUPITEM_ta and lab  == 'ta': 
     795                    print 'INFO.045.00005: groupitem: ',thisrqv 
     796 
    748797 
    749798                if ccchk.uidReplace.has_key(thiscmv[0]): 
     
    13111360               else: 
    13121361                 print 'INFO.qqq22: not replacing link in requestVar  %s' % str(ll) 
     1362            if vid in self.importWbMods.mmsi.ss: 
     1363              print 'INFO.046.0001: mip map found: ', self.importWbMods.mmsi.ss[vid] 
     1364              mm = self.importWbMods.mmsi.ss[vid] 
     1365              self._editRequestVar01( item, mm, ll ) 
    13131366                
    13141367            did = '%s__%s' % (vid,vgid) 
     
    14451498                n = self.cmvinfo[k] 
    14461499                if n in self.cmvinfo2: 
     1500                  if n == 'mipTable' and str(r[k]) == 'CMIP5_Oyr': 
     1501                    print 'ERROR.047.0002: ',r 
    14471502                  if n == "vid": 
    14481503                    if str(r[k]) == '__var_not_found_012__': 
     
    14841539            if rr[3] in self.spsh.ss: 
    14851540              lab,ttl = self.spsh.ss[rr[3]] 
     1541              if trace.SPATIALSHAPE_01: 
     1542                print 'INFO.035.0001: new spatial shape label: %s, %s' % (lab, ttl) 
    14861543              if ttl[:4] != 'ssd.': 
    14871544                item.setAttribute( 'title', ttl ) 
     
    15261583                 item.setAttribute( 'vid', str( self.fx.d2[vid][4] ) ) 
    15271584                 print 'INFO.qqq12: replacing link in requestVar  %s' % str(t) 
     1585            if vid in self.importWbMods.mmsi.ss: 
     1586              print 'INFO.046.0002: mip map found: ', self.importWbMods.mmsi.ss[vid] 
     1587              mm = self.importWbMods.mmsi.ss[vid] 
     1588              self._editRequestVar01( item, mm, t ) 
     1589              ##item.setAttribute( 'vid', mm[0].vid2 ) 
     1590              ##if len( mm ) > 1: 
     1591                ##assert len( mm ) < 3, 'Unable to deal with triple clone' 
     1592                ##cln = item.cloneNode(True) 
     1593                ##cln.setAttribute( 'uid', str( uuid.uuid1() ) ) 
     1594                ##cln.setAttribute( 'vid', mm[1].vid2 ) 
     1595                ##self.ff[ksect][0].appendChild( cln ) 
     1596                ##print 'INFO.046.0003: request variable split:', t[1] 
     1597               
    15281598            did = '%s__%s' % (t[2],t[3]) 
    15291599            if self.vgcheck.has_key(did): 
     
    15871657                 
    15881658 
     1659  def _editRequestVar01( self, item, mm, t ): 
     1660              item.setAttribute( 'vid', mm[0].vid2 ) 
     1661              item.setAttribute( 'label', mm[0].lab2 ) 
     1662              if len( mm ) > 1: 
     1663                assert len( mm ) < 3, 'Unable to deal with triple clone' 
     1664                cln = item.cloneNode(True) 
     1665                cln.setAttribute( 'uid', str( uuid.uuid1() ) ) 
     1666                cln.setAttribute( 'label', mm[1].lab2 ) 
     1667                self.ff['requestvar'][0].appendChild( cln ) 
     1668                print 'INFO.046.0003: request variable split:', t[1] 
     1669 
    15891670  def finishExptGrp(self): 
    15901671    """finish exptGroup section and create exptgrouplink section""" 
  • CMIP6dreqbuild/trunk/src/workbook/importWbMods.py

    r501 r508  
    11from utils_wb import workbook 
    2 import string 
     2import string, collections 
    33 
     4class loadMipMaps(object): 
     5  def __init__(self,mip): 
     6    nt__mapr = collections.namedtuple( 'mapr', ['vid1','sn','lab1','vid2','lab2','group','mip','k','kk'] ) 
     7    knownMips = {'SIMIP':'simipMap2.csv'} 
     8    assert mip in knownMips, 'mip %s not recognised' % mip 
     9    ##['CFMIP-OImon', '64c8d0c2-9671-11e5-b0d6-ac72891c3257', 'sea_ice_thickness', 'sit', 0, 1, 'f081b01e-960a-11e5-a98a-ac72891c3257', 'sithick'] 
     10    ii = open('inputs/%s' % knownMips[mip] ) 
     11    self.records = [] 
     12    for l in ii.readlines(): 
     13      rr = [string.strip(x) for x in string.split( l, '\t') ] 
     14      rr[7] = int(rr[7]) 
     15      rr[8] = int(rr[8]) 
     16      self.records.append( nt__mapr._make(  rr ) ) 
     17    self.ss = collections.defaultdict( list ) 
     18    for r in self.records: 
     19      self.ss[r.vid1].append( r ) 
     20     
    421class loadFixes(object): 
    522  def __init__(self): 
     
    3855      rr = [x.value for x in s1.row(i)] 
    3956      assert rr[2] not in self.ss, 'Duplicate dimension set in spatial shape sheet: %s' % rr[2] 
    40       a,k,b = tuple( [string.strip(x) for x in rr[:3] ] ) 
     57      a,b,k = tuple( [string.strip(x) for x in rr[:3] ] ) 
    4158      self.ss[ k ] = (a,b) 
    4259   
     
    4461ls = loadSpatial() 
    4562cm = loadCmorDims() 
     63mmsi = loadMipMaps( 'SIMIP' ) 
  • CMIP6dreqbuild/trunk/srcMisc/dreqSX.py

    r442 r508  
    7777        ee[r[0]] = r 
    7878 
     79ss = set() 
    7980for k in ee_mip.keys(): 
    8081 if len( ee_mip[k][:] ) != 24: 
    8182   print 'ERROR.015.0003: Bad record length %s: %s' % (k,ee_mip[k]) 
     83 mipt = ee_mip[k][22] 
     84 ss.add( mipt ) 
     85 if mipt == 'OMIP.Oyr': 
     86   print ee_mip[k] 
    8287 
    8388for h in eeoldl.keys(): 
  • CMIP6dreqbuild/trunk/srcMisc/dreq_consol_dreq.py

    r470 r508  
    482482    r4i = self.pr4.r4info 
    483483    ##for j in self.nbl: 
     484    grids = set() 
    484485    for j in range(5,self.wk1.currentSi.nrows): 
    485486        rv = map( lambda x: x.value, self.wk1.currentSi.row(j)[:8] ) 
    486487        tab = rv[0] 
    487488        grid = rv[3] 
     489        grids.add( grid ) 
    488490        gok = rv[r4i.mode-2] 
    489491        comment = rv[r4i.mode-1] 
     
    519521        if nbl: 
    520522          uid = self.parent.addRow( self.mip, tab, obj, grid, gok, comment, opt=opt, opar=opar, uid=uid, preset=preset ) 
     523    print 'INFO.100.00001: grids for MIP %s: %s' % (self.mip, str(grids) ) 
    521524    return True 
    522525 
  • CMIP6dreqbuild/trunk/srcMisc/dreq_consol_tables.py

    r470 r508  
    176176          ks = ll.keys() 
    177177          ks.sort() 
    178           self.ref1[k].a[k1].latest = self.ref1[k].a[k1].a[ ks[-1] ] 
     178          thisk = ll[ks[-1]] 
     179          assert thisk in self.ref1[k].a[k1].a, 'ERROR referencing ref1.a.a ... with %s' % thisk 
     180          self.ref1[k].a[k1].latest = self.ref1[k].a[k1].a[ thisk ] 
    179181        else: 
     182          assert self.ref1[k].a[k1].a.keys()[0] in self.ref1[k].a[k1].a, 'ERROR referencing ref1.a.a ... with %s' % (self.ref1[k].a[k1].a.keys()[0] ) 
    180183          self.ref1[k].a[k1].latest  =  self.ref1[k].a[k1].a[ self.ref1[k].a[k1].a.keys()[0] ] 
    181184 
     
    331334    print '>>>> %s: %s' % (self.fn,self.ctime) 
    332335    if self.parent.ref1[mip].a.has_key(self.fn): 
    333        tt = self.parent.ref1[mip].a[self.fn].latest 
    334        if len( tt ) > 3: 
    335          if self.ctime == tt[2] and self.fsize == tt[3]: 
    336            print '%s unchanged' % self.fn 
    337            md5 = tt[4] 
     336       if self.fn not in self.parent.ref1[mip].a: 
     337           md5 = md5sum( path ) 
     338           shr1[md5] = (self.fn,path,self.ctime, self.fsize, md5,mip ) 
     339       else: 
     340         tt = self.parent.ref1[mip].a[self.fn].latest 
     341         if len( tt ) > 3: 
     342           if self.ctime == tt[2] and self.fsize == tt[3]: 
     343             print '%s unchanged' % self.fn 
     344             md5 = tt[4] 
     345           else: 
     346             md5 = md5sum( path ) 
     347             if md5 == tt[4]: 
     348               print 'md5 unchanged: %s' % self.fn 
     349             else: 
     350               shr1[md5] = (self.fn,path,self.ctime, self.fsize, md5,mip ) 
    338351         else: 
     352           print 'ERROR.888.0001: Unexpected ref1 record (input status): %s' % str(tt) 
    339353           md5 = md5sum( path ) 
    340            if md5 == tt[4]: 
    341              print 'md5 unchanged: %s' % self.fn 
    342            else: 
    343              shr1[md5] = (self.fn,path,self.ctime, self.fsize, md5,mip ) 
    344        else: 
    345          print 'ERROR.888.0001: Unexpected ref1 record (input status): %s' % str(tt) 
    346          md5 = md5sum( path ) 
    347354    else: 
    348355       md5 = md5sum( path ) 
     356       print 'INFO.888.0001: setting md5 for %s' % path 
    349357       shr1[md5] = (self.fn,path,self.ctime, self.fsize, md5,mip ) 
    350358    self.md5 = md5 
     
    360368        self.parent.addTab(self.tabid,self.section) 
    361369      self.ok = self.parse01() 
     370      if not self.ok: 
     371        self.reason = 'Parse01 failed' 
    362372    else: 
     373      self.reason = 'Table not present' 
    363374      self.ok = False 
    364375 
     
    567578             ok = len( hr ) >= 9 and all( map( lambda x: string.strip(hr[x].value) == rh2[x], range(9) ) ) 
    568579             assert ok, '001: Sheet heading not recognised: %s' % str(hr) 
    569              if len(hr) > 9 and hr[9] == 'Priority': 
     580             if len(hr) > 9 and hr[9].value == u'Priority': 
    570581               withPriority = True 
    571582               thisl = 10 
     
    573584               thisl = 9 
    574585           else: 
    575              print 'ERROR.090.090010: duplicate record ....',k,s 
    576586             ok = len( hr ) >= 9 and all( map( lambda x: string.strip(hr[x].value) == rh1[x], range(9) ) ) 
    577587             assert ok, '002: Sheet heading not recognised: %s' % str(hr) 
     
    605615             if len(bits) > 1: 
    606616               v = bits[0] 
     617             if v == 'ta': 
     618               print 'INFO.045.0001: reading ta: thisl=%s, lll=%s' % (thisl,lll) 
     619               print hr 
    607620             t = thisr[2].value 
    608621             if t[:6] == "CMIP5_": 
     
    674687               print 'ERROR.020.0002: attempt to set non integer priority: %s [%s] ... %s' % (p,str(lll),pmsg) 
    675688               p = 106 
    676              lll[9] = p 
     689             if (not withPriority) or string.strip( str( lll[9]) ) == '': 
     690               lll[9] = p 
     691             if v == 'ta': 
     692               print 'INFO.045.0002: reading ta: thisl=%s, lll=%s' % (thisl,lll) 
     693               print hr 
    677694             self.ntr = nt__grptbl._make( lll ) 
    678695             ku = str( uuid.uuid1() ) 
     
    718735            print 'INFO.002:',k,path,s,thisrq.ok, thisrq.nn 
    719736          else: 
    720             print 'WARN.002:',k,path,s,thisrq.ok 
     737            if thisrq.reason != 'Table not present': 
     738              print 'WARN.002:',k,path,s,thisrq.ok, thisrq.reason 
    721739 
    722740  def run2(self): 
  • CMIP6dreqbuild/trunk/srcMisc/dreq_utils.py

    r470 r508  
    217217    tabuuid = {} 
    218218    tabuuidrefs = collections.defaultdict( int ) 
     219    sn = set() 
    219220    for r in revisedTabKeys: 
    220221      if not tabuuid.has_key( r ): 
     
    255256              tabsectuuid[mip][sk] = str( uuid.uuid1() ) 
    256257 
     258## 
     259## want to copy to Omon ... but involves change of frequency ... and dimensionality .... 
     260## so can only, here, reserve a uid for the tbd new cmor variable, a link of where it is coming from 
     261## and extend the OMIP.Omon table in tabsectbyvar 
     262## 
     263          if r == 'OMIP.Oyr': 
     264            if tup[2] == 'bgc' and tup[3] <= 65: 
     265              ##print 'INFO.ssss.00001: %s, %s' % (v,str(tup) ) 
     266              ##tabsectbyvar[mip]['Omon.%s' % v] = (tup[0], 2, 'bgc.Oyr', tup[-1] ) 
     267              pass 
     268              ##sn.add( tup[3] ) 
     269 
    257270        lnu = 0 
    258271        for v in sx.cmip5so.so[tab].a.keys(): 
    259272          if (v not in s1) and (v not in shb[r]): 
    260             lnu += 1     
     273            if tab == 'Omon' and v in sx.cmip5so.sop['Oyr_3dtr']: 
     274              pass 
     275              #print 'INFO.zzz.01010: overlooking %s --- 3dtr' % v 
     276            else: 
     277              lnu += 1   
    261278        if len(lnf) > 0: 
    262279          print 'ERROR.008.0001: Revised variables not in original: %s %s' % (r,str(lnf) ) 
     
    266283          revisedTabKeysNM[r] = cmip5gplk[tab] 
    267284        else: 
     285          print 'INFO.008.0002: modifications in %s: mods %s, unused %s, preset %s' % (r,len(lmod),lnu,preset) 
    268286          revisedTabKeysff.append( r ) 
    269287 
  • CMIP6dreqbuild/trunk/srcMisc/sx2.py

    r470 r508  
    659659import sx2_extra as sx2e 
    660660rvguids = set() 
    661 sh = shelve.open( '%s/requestVarGroup' % odir, 'n' ) 
    662 sh['__info__'] = { 'label':'requestVarGroup', 'title':'Identify variable groups' } 
    663 sh['__cols__'] = [ 'uuid', 'mip', 'label','title','ref','refNote'] 
     661#### prepare for requestVarGroup ########### 
    664662## C4MIP-OceanT2        C4MIP: C4MIP-OceanT2    C4MIP   new     C4MIP.C_Ocean_T2 
    665663## label title mip ref refNote 
     
    734732      assert  cls == k, 'Mismatch in lookup1' 
    735733      refNote = k2 
     734      kl = 0 
     735      lab = '__unset__' 
    736736    ##print k2, cls  
    737737      if cls == 'new': 
     
    740740          cls = 'rev' 
    741741          lab = string.replace( kkk, '.', '-' ) 
     742          kl = 1 
    742743        else: 
    743744          if not sx2e.ngmap.has_key(kkk): 
     
    745746          else: 
    746747            lab = sx2e.ngmap[kkk] 
     748            kl = 2 
    747749      elif cls == 'CMIP5': 
    748750        lab = string.replace( k2, '_', '-' ) 
     751        kl = 3 
    749752      elif cls in ['CMIP5Rev','rev']: 
    750753        lab = string.replace( k2, '.', '-' ) 
     754        kl = 4 
    751755      elif cls == 'nomap': 
    752756        lab = string.replace( k2, '.', '-' ) 
     757        kl = 5 
    753758        lab = string.replace( lab, '_', '-' ) 
    754759      else: 
    755760        lab = '%s-%s' % (mip,k2) 
     761        kl = 6 
    756762      if sx2e.r1.match( lab ) == None: 
    757763        print 'NON_COMPLIANT label', lab,k2, cls 
    758       tmp[id].append(  ([id,mip,lab,'%s: %s' % (mip,lab), cls, refNote],[ttt,kkk]) ) 
    759  
     764      rec, sup = ([id,mip,lab,'%s: %s' % (mip,lab), cls, refNote],[ttt,kkk]) 
     765      if string.find( string.join( rec ), '__unset__' ) != -1: 
     766         print 'INFO.ppp.00003: ',rec, sup, lab,k2, cls, kl 
     767      if refNote == 'C4MIP.Lmon': 
     768        print 'WARN.051.00001: ',rec,sup, lab,k2, cls, kl 
     769##['6a7ed72e-98d7-11e5-9c3a-ac72891c3257', 'LUMIP', u'C4MIP-Lmon', u'LUMIP: C4MIP-Lmon', 'rev', u'C4MIP.Lmon'] ['new', u'C4MIP.Lmon'] C4MIP-Lmon C4MIP.Lmon rev 1 
     770      tmp[id].append(  (rec, sup) ) 
     771 
     772sh = shelve.open( '%s/requestVarGroup' % odir, 'n' ) 
     773sh['__info__'] = { 'label':'requestVarGroup', 'title':'Identify variable groups' } 
     774sh['__cols__'] = [ 'uuid', 'mip', 'label','title','ref','refNote'] 
    760775sss = collections.defaultdict( list ) 
    761776for id in tmp.keys(): 
    762777  dosh = False 
     778  trc = '>' 
    763779  if len(tmp[id]) == 1: 
    764780    rec,sup = tmp[id][0] 
     
    772788      tr=2 
    773789    else: 
     790      tr=3 
    774791      print 'ERROR.070.0020: ambiguous variable groups ' 
    775792      for l in tmp[id]:  
     
    782799      print 'INFO:070.0001: modifying record: %s  --> %s' % (mip,ttt) 
    783800      tr += 0.5 
     801      trc += 'mod:' 
    784802  kc = '%s.%s' % (rec[-2],rec[-1]) 
    785803  if rec[-2] == 'CCMI': 
     
    793811  rvguids.add( rec[0] ) 
    794812  uidgen[ kc ] = uid1(uid=rec[0]) 
    795   sh[rec[0]] = rec 
     813 
     814  if rec[3] in ['CMIP6 CMOR Table: Oyr',]: 
     815     print 'INFO.ppp.00001: omitting ',rec 
     816  else: 
     817    sh[rec[0]] = rec 
    796818 
    797819a = {k for k in sss.keys() if len(sss[k]) > 1} 
     
    800822    print 'SEVERE.090.0001: ',k,sss[k] 
    801823 
    802 for k in ['seaiceday', 'seaicemon']: 
     824## 
     825## appears to have become redundant 
     826## 
     827dosi = False 
     828if dosi: 
     829  for k in ['seaiceday', 'seaicemon']: 
    803830    id =  str( uuid.uuid1() ) 
    804831    mip = 'SIMIP' 
     
    816843  sss[kc].append( g[0] ) 
    817844  rvguids.add( g[0] ) 
    818   sh[g[0]] = g[:] 
     845  if g[3] in ['CMIP6 CMOR Table: Oyr',]: 
     846     print 'INFO.ppp.00002: omitting ',g 
     847  else: 
     848    sh[g[0]] = g[:] 
    819849sh.close() 
    820850 
     
    927957                          'type', 'ok_min_mean_abs', 'standard_name', 'deflate', 'long_name', 'valid_min',\ 
    928958                           'cell_methods', 'flag_values', 'cell_measures', 'out_name', 'modeling_realm', 'units',\ 
    929                            '#cell_methods', 'valid_max', 'positive', 'var', 'mipTable','dimensions','vid','gpid']  
     959                           '#cell_methods', 'valid_max', 'positive', 'var', 'mipTable','dimensions','vid','gpid','ssect','priority']  
    930960 
    931961## added gpid for link to variable group .... not clear at this point how OMIP to be dealt with here. 
     
    941971    gpid = shbx.tabuuid[mipt] 
    942972  p = 0 
     973  ssect = '' 
    943974  if mipt[:4] in { "CMIP", "CCMI", "SPEC", "CORD"}: 
    944975    m,t = string.split( mipt, '_' ) 
     
    9851016         
    9861017  elif mipt[:5] == "OMIP.": 
     1018#### 
     1019#### this would be the place to create "OMIP.Omon_3d" and "OMIP.Omon_oth" 
     1020#### 
     1021#### also need to generate "OMIP.Oyr_3dtr" .... 
     1022#### 
     1023#### some information added to tabsectbyvar in dreq_utils 
     1024#### 
     1025#### might be cleaner in framework/scanDreq ... 
     1026#### 
     1027#### 
    9871028    m,t = string.split( mipt, '.' ) 
    9881029# output name 
     
    9981039        gpid = shbx.tabsectuuid[m][ '%s.%s' % (t,shbx.tabsectbyvar[m][tv][2]) ] 
    9991040        rwix = shbx.tabsectbyvar[m][tv][3] 
     1041        ssect = shbx.tabsectbyvar[m][tv][2] 
    10001042        p = shbx.tabsectbyvar[m][tv][1] 
    10011043        rwixkkk += 1 
     
    10501092    if rec[21] == u'bsi' or rec[15] == u'bsi': 
    10511093      print 'INFO.999.00001: ',[rec[i] for i in [15,21,22,25]] 
    1052     sh[k] = sx.ee_mip[k][:]  + [kl[0],gpid,rwix,p]  
     1094    sh[k] = sx.ee_mip[k][:]  + [kl[0],gpid,rwix,ssect,p]  
    10531095    if gpid not in rvguids: 
    10541096        print 'ERROR.080.06006: Request variable group link broken:', sh[k] 
     
    11421184        thisu = ee[v] 
    11431185      kv = str( uuid.uuid1() ) 
    1144       if m == "CFMIP": 
    1145         print 'INFO.xxx.00500: ',kv, [v,t,m,thisu,vars[v0][1]] 
    11461186      sh[kv] = [v,t,m,thisu,vars[v0][1]] 
    11471187 
  • CMIP6dreqbuild/trunk/srcMisc/sx2_extra.py

    r355 r508  
    33 
    44 
    5 l1 = [u'ISMIP6.new_LImon', u'PMIP.PMIP-LIclim', u'HighResMIP.6hrPlev_extr_dr', u'LUMIP.Lmon_Lut', u'FAFMIP.fafOyr', u'PMIP.PMIP-day', u'DynVar.DYVR_daily', u'C4MIP.C_LandT2', u'PMIP.PMIP-aeroclim', u'PMIP.PMIP-aero', u'C4MIP.C_LandT1', u'HighResMIP.1hrLev', u'PMIP.PMIP-Omon', 'C4MIP.L_day', u'FAFMIP.fafOmonB', u'CFMIP.cfDayExtra', u'CFMIP.cfDay_2d_new', u'PMIP.PMIP-Oclim', u'ISMIP6.new_Omon', u'ISMIP6.new_fx', u'CFMIP.aeroDay_2d', u'HighResMIP.Amon_ext', u'HighResMIP.1hr_energy', u'HighResMIP.day_jet', u'C4MIP.C_Hist', u'CFMIP.cfSites_new', u'PMIP.PMIP-Amon', u'HighResMIP.6hrPlev_intense', u'CFMIP.cfMonExtra', u'LS3MIP.LCmon', u'GeoMIP.aeroGeo', u'PMIP.PMIP-Lmon', u'HighResMIP.3hr_cloud', u'HighResMIP.1ts', u'ISMIP6.icesheetmon', u'HighResMIP.Amon_sparc', u'C4MIP.C_Ocean_T1', u'HighResMIP.Amon_conv', u'LUMIP.Lyr_Lut', u'HighResMIP.1hr_strat', u'HighResMIP.3hr_extr', u'PMIP.PMIP-Lclim', u'CFMIP.cf3hr_sim', u'FAFMIP.fafOmon', u'FAFMIP.fafOyrB', u'RFMIP.aero_irf', u'PMIP.PMIP-Aclim', u'LS3MIP.LWday', u'C4MIP.C_Basic', u'CFMIP.cfMon_3dstd_new', u'HighResMIP.3hrPlev', u'ISMIP6.icesheetyear', u'C4MIP.C_Ocean_T2', 'C4MIP.L_3hr', u'RFMIP.OfflineRad', u'VolMIP.VIRF', u'HighResMIP.6hrPlev_extr', u'PMIP.PMIP-OIclim', u'PMIP.PMIP-6hr', u'HighResMIP.Amon_diag', 'DynVar.DYVR_monthly', 'LS3MIP.LEday', 'DAMIP.new_monthly','DCPP.DCPP-day', u'DCPP.DCPP-6hr', 'DCPP.DCPP-mon'] 
     5l1 = [u'ISMIP6.new_LImon', u'PMIP.PMIP-LIclim', u'HighResMIP.6hrPlev_extr_dr', u'LUMIP.Lmon_Lut', u'FAFMIP.fafOyr', u'PMIP.PMIP-day', u'DynVar.DYVR_daily', u'C4MIP.C_LandT2', u'PMIP.PMIP-aeroclim', u'PMIP.PMIP-aero', u'C4MIP.C_LandT1', u'HighResMIP.1hrLev', u'PMIP.PMIP-Omon', 'C4MIP.L_day', u'FAFMIP.fafOmonB', u'CFMIP.cfDayExtra', u'CFMIP.cfDay_2d_new', u'PMIP.PMIP-Oclim', u'ISMIP6.new_Omon', u'ISMIP6.new_fx', u'CFMIP.aeroDay_2d', u'HighResMIP.Amon_ext', u'HighResMIP.1hr_energy', u'HighResMIP.day_jet', u'C4MIP.C_Hist', u'CFMIP.cfSites_new', u'PMIP.PMIP-Amon', u'HighResMIP.6hrPlev_intense', u'CFMIP.cfMonExtra', u'LS3MIP.LCmon', u'GeoMIP.aeroGeo', u'PMIP.PMIP-Lmon', u'HighResMIP.3hr_cloud', u'HighResMIP.1ts', u'ISMIP6.icesheetmon', u'HighResMIP.Amon_sparc', u'C4MIP.C_Ocean_T1', u'HighResMIP.Amon_conv', u'LUMIP.Lyr_Lut', u'HighResMIP.1hr_strat', u'HighResMIP.3hr_extr', u'PMIP.PMIP-Lclim', u'CFMIP.cf3hr_sim', u'FAFMIP.fafOmon', u'FAFMIP.fafOyrB', u'RFMIP.aero_irf', u'PMIP.PMIP-Aclim', u'LS3MIP.LWday', u'C4MIP.C_Basic', u'CFMIP.cfMon_3dstd_new', u'HighResMIP.3hrPlev', u'ISMIP6.icesheetyear', u'C4MIP.C_Ocean_T2', 'C4MIP.L_3hr', u'RFMIP.OfflineRad', u'VolMIP.VIRF', u'HighResMIP.6hrPlev_extr', u'PMIP.PMIP-OIclim', u'PMIP.PMIP-6hr', u'HighResMIP.Amon_diag', 'DynVar.DYVR_monthly', 'LS3MIP.LEday', 'DAMIP.new_monthly','DCPP.DCPP-day', u'DCPP.DCPP-6hr', 'DCPP.DCPP-mon', 'DynVar.DYVR_zg', 'SIMIP.seaicemon', 'SIMIP.seaiceday' ] 
    66 
    7 l2 = [u'ISMIP6-LImon', u'PMIP-LIclim', u'HighResMIP-6hrPlevExtrDr', u'LUMIP-LmonLut', u'FAFMIP-fafOyr', u'PMIP-day', u'DynVar-day', u'C4MIP-LandT2', u'PMIP-aeroclim', u'PMIP-aero', u'C4MIP-LandT1', u'HighResMIP-1hrLev', u'PMIP-Omon', 'C4MIP-day', u'FAFMIP-OmonB', u'CFMIP-cfDayExtra', u'CFMIP-cfDay2dNew', u'PMIP-Oclim', u'ISMIP6-OmonNew', u'ISMIP6-fxNew', u'CFMIP-aeroDay2d', u'HighResMIP-AmonExt', u'HighResMIP-1hrEnergy', u'HighResMIP-dayJet', u'C4MIP-Hist', u'CFMIP-cfSitesNew', u'PMIP-Amon', u'HighResMIP-6hrPlevIntense', u'CFMIP-cfMonExtra', u'LS3MIP-LCmon', u'GeoMIP-aeroGeo', u'PMIP-Lmon', u'HighResMIP-3hrCloud', u'HighResMIP-1ts', u'ISMIP6-icesheetmon', u'HighResMIP-AmonSparc', u'C4MIP-OceanT1', u'HighResMIP-AmonConv', u'LUMIP-LyrLut', u'HighResMIP-1hrStrat', u'HighResMIP-3hrExtr', u'PMIP-Lclim', u'CFMIP-cf3hrSim', u'FAFMIP-Omon', u'FAFMIP-OyrB', u'RFMIP-aeroIrf', u'PMIP-Aclim', u'LS3MIP-LWday', u'C4MIP-Basic', u'CFMIP-cfMon3dstdNew', u'HighResMIP-3hrPlev', u'ISMIP6-icesheetyear', u'C4MIP-OceanT2', 'C4MIP-3hr', u'RFMIP-OfflineRad', u'VolMIP-VIRF', u'HighResMIP-6hrPlevExtr', u'PMIP-OIclim', u'PMIP-6hr', u'HighResMIP-AmonDiag', 'DynVar-mon', 'LS3MIP-LEday', 'DAMIP-newMonthly','DCPP-day', u'DCPP-6hr', 'DCPP-mon'] 
     7l2 = [u'ISMIP6-LImon', u'PMIP-LIclim', u'HighResMIP-6hrPlevExtrDr', u'LUMIP-LmonLut', u'FAFMIP-fafOyr', u'PMIP-day', u'DynVar-day', u'C4MIP-LandT2', u'PMIP-aeroclim', u'PMIP-aero', u'C4MIP-LandT1', u'HighResMIP-1hrLev', u'PMIP-Omon', 'C4MIP-day', u'FAFMIP-OmonB', u'CFMIP-cfDayExtra', u'CFMIP-cfDay2dNew', u'PMIP-Oclim', u'ISMIP6-OmonNew', u'ISMIP6-fxNew', u'CFMIP-aeroDay2d', u'HighResMIP-AmonExt', u'HighResMIP-1hrEnergy', u'HighResMIP-dayJet', u'C4MIP-Hist', u'CFMIP-cfSitesNew', u'PMIP-Amon', u'HighResMIP-6hrPlevIntense', u'CFMIP-cfMonExtra', u'LS3MIP-LCmon', u'GeoMIP-aeroGeo', u'PMIP-Lmon', u'HighResMIP-3hrCloud', u'HighResMIP-1ts', u'ISMIP6-icesheetmon', u'HighResMIP-AmonSparc', u'C4MIP-OceanT1', u'HighResMIP-AmonConv', u'LUMIP-LyrLut', u'HighResMIP-1hrStrat', u'HighResMIP-3hrExtr', u'PMIP-Lclim', u'CFMIP-cf3hrSim', u'FAFMIP-Omon', u'FAFMIP-OyrB', u'RFMIP-aeroIrf', u'PMIP-Aclim', u'LS3MIP-LWday', u'C4MIP-Basic', u'CFMIP-cfMon3dstdNew', u'HighResMIP-3hrPlev', u'ISMIP6-icesheetyear', u'C4MIP-OceanT2', 'C4MIP-3hr', u'RFMIP-OfflineRad', u'VolMIP-VIRF', u'HighResMIP-6hrPlevExtr', u'PMIP-OIclim', u'PMIP-6hr', u'HighResMIP-AmonDiag', 'DynVar-mon', 'LS3MIP-LEday', 'DAMIP-newMonthly','DCPP-day', u'DCPP-6hr', 'DCPP-mon', 'DynVar-DYVRzg', 'SIMIP-seaicemon', 'SIMIP-seaiceday'] 
    88 
    99r1 = re.compile( '^([a-zA-Z0-9-]*)$' ) 
Note: See TracChangeset for help on using the changeset viewer.