source: RevitalizationWS/schemas/cim/trunk/src/main/resources/eu.metaforclimate/activity.xsd @ 7450

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/RevitalizationWS/schemas/cim/trunk/src/main/resources/eu.metaforclimate/activity.xsd@7450
Revision 7450, 128.8 KB checked in by mnagni, 10 years ago (diff)

Share project "cim" into " http://proj.badc.rl.ac.uk/svn/ndg/RevitalizationWS"

  • Property svn:mime-type set to text/plain
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!-- activity.xsd -->       
3<!-- generated: 23 August 2010, 9:24 -->       
4<xs:schema
5             elementFormDefault="qualified" attributeFormDefault="unqualified"
6             xmlns:xs="http://www.w3.org/2001/XMLSchema"
7             xmlns:xlink="http://www.w3.org/1999/xlink"
8             xmlns:gml="http://www.opengis.net/gml/3.2"
9             xmlns:gmd="http://www.isotc211.org/2005/gmd"
10            xmlns="http://www.metaforclimate.eu/schema/cim/1.5"
11            targetNamespace="http://www.metaforclimate.eu/schema/cim/1.5">       
12<!-- these relative paths could really be URLs, but accessing them online cripples performance -->       
13<xs:import xmlns:xs="http://www.w3.org/2001/XMLSchema"
14           namespace="http://www.w3.org/1999/xlink"
15           schemaLocation="../external_schemas/xlink/1.0.0/xlinks.xsd"/>
16<xs:import xmlns:xs="http://www.w3.org/2001/XMLSchema"
17           namespace="http://www.opengis.net/gml/3.2"
18           schemaLocation="../external_schemas/gml/3.2.1/gml.xsd"/>
19<xs:import xmlns:xs="http://www.w3.org/2001/XMLSchema"
20           namespace="http://www.isotc211.org/2005/gmd"
21           schemaLocation="../external_schemas/iso/19139/20070417/gmd/gmd.xsd"/>
22<xs:include xmlns:xs="http://www.w3.org/2001/XMLSchema" schemaLocation="data.xsd"/>
23<xs:include xmlns:xs="http://www.w3.org/2001/XMLSchema" schemaLocation="grids.xsd"/>
24<xs:include xmlns:xs="http://www.w3.org/2001/XMLSchema" schemaLocation="quality.xsd"/>
25<xs:include xmlns:xs="http://www.w3.org/2001/XMLSchema" schemaLocation="shared.xsd"/>
26<xs:include xmlns:xs="http://www.w3.org/2001/XMLSchema" schemaLocation="software.xsd"/>
27<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="ExperimentRelationship">
28   <xs:annotation>
29      <xs:documentation><ul style="margin-top: 0mm; margin-bottom: 0mm; list-style-type: disk; "><ul style="margin-top: 0mm; margin-bottom: 0mm; list-style-type: circle; ">Contains a set of relationship types specific to a simulation document that can be used to describe its genealogy.</ul>
30</ul></xs:documentation>
31   </xs:annotation>
32                        <xs:complexContent>
33                        <xs:extension base="Relationship">
34                    <xs:sequence>
35      <xs:element name="target" minOccurs="1" maxOccurs="1">
36         <xs:complexType>
37            <xs:choice>
38               <xs:element name="reference">
39                  <xs:complexType>
40                     <xs:sequence>
41                        <xs:element name="id" minOccurs="0" maxOccurs="1" type="guid">
42                           <xs:annotation>
43                              <xs:documentation>the ID of the element being referenced.</xs:documentation>
44                           </xs:annotation>
45                        </xs:element>
46                        <xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string">
47                           <xs:annotation>
48                              <xs:documentation>The name of the instance being referenced.</xs:documentation>
49                           </xs:annotation>
50                        </xs:element>
51                        <xs:element name="type" minOccurs="0" maxOccurs="1" type="xs:string">
52                           <xs:annotation>
53                              <xs:documentation>The type of item being referenced (should correspond to the name of the referenced XML element).</xs:documentation>
54                           </xs:annotation>
55                        </xs:element>
56                        <xs:element name="version" minOccurs="0" maxOccurs="1" type="version">
57                           <xs:annotation>
58                              <xs:documentation>The version of the element being referenced.</xs:documentation>
59                           </xs:annotation>
60                        </xs:element>
61                        <xs:element name="externalID" minOccurs="0" maxOccurs="unbounded" type="StandardName">
62                           <xs:annotation>
63                              <xs:documentation>A non-CIM (non-GUID) id used to reference the element in question.</xs:documentation>
64                           </xs:annotation>
65                        </xs:element>
66                        <xs:element name="description" minOccurs="0" maxOccurs="1" type="xs:string">
67                           <xs:annotation>
68                              <xs:documentation>A description of the element being referenced, in the context of the current class.</xs:documentation>
69                           </xs:annotation>
70                        </xs:element>
71                        <xs:element name="change" minOccurs="0" maxOccurs="unbounded" type="Change">
72                           <xs:annotation>
73                              <xs:documentation>An optional description of how the item being referenced has been modified.  This is particularly useful for dealing with Ensembles (a set of simulations where something about each simulation has changed) or Conformances.</xs:documentation>
74                           </xs:annotation>
75                        </xs:element>
76                     </xs:sequence>
77                     <xs:attribute ref="xlink:href" use="optional"/>
78                  </xs:complexType>
79               </xs:element>
80               <xs:element ref="numericalExperiment"/>
81            </xs:choice>
82         </xs:complexType>
83      </xs:element>
84   </xs:sequence>
85   <xs:attribute name="type" use="required" type="ExperimentRelationshipType"/> 
86                            </xs:extension>
87                            </xs:complexContent>
88                        </xs:complexType>
89<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="ProjectType" mixed="true">
90   <xs:sequence>
91      <xs:element name="vocabularyServer" minOccurs="0">
92         <xs:complexType>
93            <xs:sequence>
94               <xs:element name="vocabularyName" type="xs:string"/>
95               <xs:element name="vocabularyVersion" minOccurs="0" type="version"/>
96               <xs:element name="vocabularyDetails" type="xs:string" minOccurs="0">
97                  <xs:annotation>
98                     <xs:documentation>information about how to access the vocabulary
99                                    </xs:documentation>
100                  </xs:annotation>
101               </xs:element>
102            </xs:sequence>
103            <xs:attribute name="href" type="xs:anyURI"/>
104         </xs:complexType>
105      </xs:element>
106   </xs:sequence>
107   <xs:attribute name="value" type="ProjectType_Enumeration" use="required"/>
108</xs:complexType>
109<xs:simpleType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="ProjectType_Enumeration">
110   <xs:restriction base="xs:string">
111      <xs:enumeration value="CMIP5"/>
112      <xs:enumeration value="AMIP"/>
113      <xs:enumeration value="TAMIP"/>
114      <xs:enumeration value="Other"/>
115   </xs:restriction>
116</xs:simpleType>
117<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="RequirementOption">
118   <xs:annotation>
119      <xs:documentation>A NumericalRequirement that is being used as a set of related requirements; For example if a requirement is to use 1 of 3 boundary conditions, then that "parent" requirement would have three "child" RequirmentOptions (each of one with the XOR optionRelationship).</xs:documentation>
120   </xs:annotation>
121   <xs:sequence>
122      <xs:element name="requirement" minOccurs="0" maxOccurs="1">
123         <xs:annotation>
124            <xs:documentation>The requirement being specified by this option</xs:documentation>
125         </xs:annotation>
126         <xs:complexType>
127            <xs:choice>
128               <xs:element name="reference">
129                  <xs:complexType>
130                     <xs:sequence>
131                        <xs:element name="id" minOccurs="0" maxOccurs="1" type="guid">
132                           <xs:annotation>
133                              <xs:documentation>the ID of the element being referenced.</xs:documentation>
134                           </xs:annotation>
135                        </xs:element>
136                        <xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string">
137                           <xs:annotation>
138                              <xs:documentation>The name of the instance being referenced.</xs:documentation>
139                           </xs:annotation>
140                        </xs:element>
141                        <xs:element name="type" minOccurs="0" maxOccurs="1" type="xs:string">
142                           <xs:annotation>
143                              <xs:documentation>The type of item being referenced (should correspond to the name of the referenced XML element).</xs:documentation>
144                           </xs:annotation>
145                        </xs:element>
146                        <xs:element name="version" minOccurs="0" maxOccurs="1" type="version">
147                           <xs:annotation>
148                              <xs:documentation>The version of the element being referenced.</xs:documentation>
149                           </xs:annotation>
150                        </xs:element>
151                        <xs:element name="externalID" minOccurs="0" maxOccurs="unbounded" type="StandardName">
152                           <xs:annotation>
153                              <xs:documentation>A non-CIM (non-GUID) id used to reference the element in question.</xs:documentation>
154                           </xs:annotation>
155                        </xs:element>
156                        <xs:element name="description" minOccurs="0" maxOccurs="1" type="xs:string">
157                           <xs:annotation>
158                              <xs:documentation>A description of the element being referenced, in the context of the current class.</xs:documentation>
159                           </xs:annotation>
160                        </xs:element>
161                        <xs:element name="change" minOccurs="0" maxOccurs="unbounded" type="Change">
162                           <xs:annotation>
163                              <xs:documentation>An optional description of how the item being referenced has been modified.  This is particularly useful for dealing with Ensembles (a set of simulations where something about each simulation has changed) or Conformances.</xs:documentation>
164                           </xs:annotation>
165                        </xs:element>
166                     </xs:sequence>
167                     <xs:attribute ref="xlink:href" use="optional"/>
168                  </xs:complexType>
169               </xs:element>
170               <!-- this is an abstract class --><xs:element name="requirement" minOccurs="0" maxOccurs="1">
171                  <xs:complexType>
172                     <xs:choice minOccurs="1" maxOccurs="1">
173                        <xs:element name="initialCondition" type="InitialCondition"/>
174                        <xs:element name="spatioTemporalConstraint" type="SpatioTemporalConstraint"/>
175                        <xs:element name="boundaryCondition" type="BoundaryCondition"/>
176                     </xs:choice>
177                  </xs:complexType>
178               </xs:element>
179            </xs:choice>
180         </xs:complexType>
181      </xs:element>
182   </xs:sequence>
183   <xs:attribute name="optionRelationship" use="required" type="LogicalRelationshipType">
184      <xs:annotation>
185         <xs:documentation>Describes how this optional (child) requirement is related to its sibling requirements.  For example, a NumericalRequirement could consist of a set of optional requirements each with an "OR" relationship meaning use this boundary condition _or_ that one.</xs:documentation>
186      </xs:annotation>
187   </xs:attribute>
188</xs:complexType>
189<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="Activity" abstract="true">
190   <xs:annotation>
191      <xs:documentation>An abstract class used as the parent of MeasurementCampaigns, Projects, Experiments, and NumericalActivities.</xs:documentation>
192   </xs:annotation>
193   <xs:sequence>
194      <xs:element name="responsibleParty" minOccurs="0" maxOccurs="unbounded"
195                  type="ResponsibleParty">
196         <xs:annotation>
197            <xs:documentation>The point of contact(s) for this activity.This includes, among others, the principle investigator.</xs:documentation>
198         </xs:annotation>
199      </xs:element>
200      <xs:element name="fundingSource" minOccurs="0" maxOccurs="unbounded" type="xs:string">
201         <xs:annotation>
202            <xs:documentation>The entities that funded this activity.</xs:documentation>
203         </xs:annotation>
204      </xs:element>
205      <xs:element name="rationale" minOccurs="0" maxOccurs="unbounded" type="xs:string">
206         <xs:annotation>
207            <xs:documentation>For what purpose is this activity being performed?</xs:documentation>
208         </xs:annotation>
209      </xs:element>
210      <xs:element name="project" minOccurs="0" maxOccurs="unbounded" type="ProjectType">
211         <xs:annotation>
212            <xs:documentation>The project(s) that this activity is associated with (ie: CMIP5, AMIP, etc.)</xs:documentation>
213         </xs:annotation>
214      </xs:element>
215   </xs:sequence>
216</xs:complexType>
217<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="SimulationRun">
218   <xs:annotation>
219      <xs:documentation>A SimulationRun is, as the name implies, one single model run. 
220A SimulationRun is a Simulation.
221There is a one to one association between SimulationRun and (a top-level) SoftwarePackage::ModelComponent. </xs:documentation>
222   </xs:annotation>
223                        <xs:complexContent>
224                        <xs:extension base="Simulation">
225                    <xs:sequence>
226      <xs:element name="startPoint" minOccurs="1" maxOccurs="1" type="xs:dateTime">
227         <xs:annotation>
228            <xs:documentation>The start (in simulated time) time of this run</xs:documentation>
229         </xs:annotation>
230      </xs:element>
231      <xs:element name="endPoint" minOccurs="1" maxOccurs="1" type="xs:dateTime">
232         <xs:annotation>
233            <xs:documentation>The end (in simulated time) time of this run</xs:documentation>
234         </xs:annotation>
235      </xs:element>
236      <xs:element name="model" minOccurs="1" maxOccurs="1">
237         <xs:complexType>
238            <xs:choice>
239               <xs:element name="reference">
240                  <xs:complexType>
241                     <xs:sequence>
242                        <xs:element name="id" minOccurs="0" maxOccurs="1" type="guid">
243                           <xs:annotation>
244                              <xs:documentation>the ID of the element being referenced.</xs:documentation>
245                           </xs:annotation>
246                        </xs:element>
247                        <xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string">
248                           <xs:annotation>
249                              <xs:documentation>The name of the instance being referenced.</xs:documentation>
250                           </xs:annotation>
251                        </xs:element>
252                        <xs:element name="type" minOccurs="0" maxOccurs="1" type="xs:string">
253                           <xs:annotation>
254                              <xs:documentation>The type of item being referenced (should correspond to the name of the referenced XML element).</xs:documentation>
255                           </xs:annotation>
256                        </xs:element>
257                        <xs:element name="version" minOccurs="0" maxOccurs="1" type="version">
258                           <xs:annotation>
259                              <xs:documentation>The version of the element being referenced.</xs:documentation>
260                           </xs:annotation>
261                        </xs:element>
262                        <xs:element name="externalID" minOccurs="0" maxOccurs="unbounded" type="StandardName">
263                           <xs:annotation>
264                              <xs:documentation>A non-CIM (non-GUID) id used to reference the element in question.</xs:documentation>
265                           </xs:annotation>
266                        </xs:element>
267                        <xs:element name="description" minOccurs="0" maxOccurs="1" type="xs:string">
268                           <xs:annotation>
269                              <xs:documentation>A description of the element being referenced, in the context of the current class.</xs:documentation>
270                           </xs:annotation>
271                        </xs:element>
272                        <xs:element name="change" minOccurs="0" maxOccurs="unbounded" type="Change">
273                           <xs:annotation>
274                              <xs:documentation>An optional description of how the item being referenced has been modified.  This is particularly useful for dealing with Ensembles (a set of simulations where something about each simulation has changed) or Conformances.</xs:documentation>
275                           </xs:annotation>
276                        </xs:element>
277                     </xs:sequence>
278                     <xs:attribute ref="xlink:href" use="optional"/>
279                  </xs:complexType>
280               </xs:element>
281               <xs:element ref="modelComponent"/>
282            </xs:choice>
283         </xs:complexType>
284      </xs:element>
285   </xs:sequence> 
286                            </xs:extension>
287                            </xs:complexContent>
288                        </xs:complexType>
289<xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="simulationRun">
290   <xs:annotation>
291      <xs:documentation>A SimulationRun is, as the name implies, one single model run. 
292A SimulationRun is a Simulation.
293There is a one to one association between SimulationRun and (a top-level) SoftwarePackage::ModelComponent. </xs:documentation>
294   </xs:annotation>
295   <xs:complexType>
296      <xs:complexContent>
297         <xs:extension base="SimulationRun">
298            <xs:sequence>
299               <xs:element name="documentID" minOccurs="1" maxOccurs="1" type="guid">
300                  <xs:annotation>
301                     <xs:documentation>a unique indentifier for this document</xs:documentation>
302                  </xs:annotation>
303               </xs:element>
304               <xs:element name="documentVersion" minOccurs="1" maxOccurs="1" type="version"/>
305               <xs:element name="metadataID" minOccurs="0" maxOccurs="1" type="xs:anyURI"/>
306               <xs:element name="metadataVersion" minOccurs="0" maxOccurs="1" type="version"/>
307               <xs:element name="externalID" minOccurs="0" maxOccurs="unbounded" type="StandardName">
308                  <xs:annotation>
309                     <xs:documentation>The id of this document as referenced by an external body (ie: DOI, or even IPSL)</xs:documentation>
310                  </xs:annotation>
311               </xs:element>
312               <xs:element name="documentAuthor" minOccurs="0" maxOccurs="1" type="ResponsibleParty">
313                  <xs:annotation>
314                     <xs:documentation>A contact for the author of this <i>document </i>(as opposed to the author of the artifact being described by this document; ie: the simulation or component or whatever).</xs:documentation>
315                  </xs:annotation>
316               </xs:element>
317               <xs:element name="documentCreationDate" minOccurs="1" maxOccurs="1" type="xs:dateTime">
318                  <xs:annotation>
319                     <xs:documentation>The date the <i>document </i>was created.</xs:documentation>
320                  </xs:annotation>
321               </xs:element>
322               <xs:element name="documentGenealogy" minOccurs="0" maxOccurs="1" type="Genealogy">
323                  <xs:annotation>
324                     <xs:documentation>Specifies the relationship of this document with another document. Various relationship types (depending on the type of document; ie: simulation, component, etc.) are supported.</xs:documentation>
325                  </xs:annotation>
326               </xs:element>
327               <xs:element name="quality" minOccurs="0" maxOccurs="unbounded" type="Quality">
328                  <xs:annotation>
329                     <xs:documentation>a (set of) quality record(s) for this document.</xs:documentation>
330                  </xs:annotation>
331               </xs:element>
332            </xs:sequence>
333            <xs:attribute name="documentStatus" use="optional" type="DocumentStatusType"/>
334         </xs:extension>
335      </xs:complexContent>
336   </xs:complexType>
337</xs:element>
338<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="Project">
339   <xs:annotation>
340      <xs:documentation>A climate project.</xs:documentation>
341   </xs:annotation>
342                        <xs:complexContent>
343                        <xs:extension base="Activity">
344                    <xs:sequence>
345      <xs:element name="experiment" minOccurs="0" maxOccurs="unbounded" type="Experiment"/>
346      <xs:element name="parent" minOccurs="0" maxOccurs="unbounded">
347         <xs:complexType>
348            <xs:choice>
349               <xs:element name="reference">
350                  <xs:complexType>
351                     <xs:sequence>
352                        <xs:element name="id" minOccurs="0" maxOccurs="1" type="guid">
353                           <xs:annotation>
354                              <xs:documentation>the ID of the element being referenced.</xs:documentation>
355                           </xs:annotation>
356                        </xs:element>
357                        <xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string">
358                           <xs:annotation>
359                              <xs:documentation>The name of the instance being referenced.</xs:documentation>
360                           </xs:annotation>
361                        </xs:element>
362                        <xs:element name="type" minOccurs="0" maxOccurs="1" type="xs:string">
363                           <xs:annotation>
364                              <xs:documentation>The type of item being referenced (should correspond to the name of the referenced XML element).</xs:documentation>
365                           </xs:annotation>
366                        </xs:element>
367                        <xs:element name="version" minOccurs="0" maxOccurs="1" type="version">
368                           <xs:annotation>
369                              <xs:documentation>The version of the element being referenced.</xs:documentation>
370                           </xs:annotation>
371                        </xs:element>
372                        <xs:element name="externalID" minOccurs="0" maxOccurs="unbounded" type="StandardName">
373                           <xs:annotation>
374                              <xs:documentation>A non-CIM (non-GUID) id used to reference the element in question.</xs:documentation>
375                           </xs:annotation>
376                        </xs:element>
377                        <xs:element name="description" minOccurs="0" maxOccurs="1" type="xs:string">
378                           <xs:annotation>
379                              <xs:documentation>A description of the element being referenced, in the context of the current class.</xs:documentation>
380                           </xs:annotation>
381                        </xs:element>
382                        <xs:element name="change" minOccurs="0" maxOccurs="unbounded" type="Change">
383                           <xs:annotation>
384                              <xs:documentation>An optional description of how the item being referenced has been modified.  This is particularly useful for dealing with Ensembles (a set of simulations where something about each simulation has changed) or Conformances.</xs:documentation>
385                           </xs:annotation>
386                        </xs:element>
387                     </xs:sequence>
388                     <xs:attribute ref="xlink:href" use="optional"/>
389                  </xs:complexType>
390               </xs:element>
391               <xs:element name="project" type="Project"/>
392            </xs:choice>
393         </xs:complexType>
394      </xs:element>
395      <xs:element name="child" minOccurs="0" maxOccurs="unbounded" type="Project"/>
396   </xs:sequence> 
397                            </xs:extension>
398                            </xs:complexContent>
399                        </xs:complexType>
400<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="MeasurementCampaign">
401                        <xs:complexContent>
402                        <xs:extension base="Activity">
403                    <xs:sequence>
404      <xs:element name="Duration" minOccurs="1" maxOccurs="1" type="ClosedDateRange"/>
405      <xs:element name="experiment" minOccurs="1" maxOccurs="unbounded" type="Experiment"/>
406   </xs:sequence> 
407                            </xs:extension>
408                            </xs:complexContent>
409                        </xs:complexType>
410<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="NumericalRequirement"
411                abstract="true">
412   <xs:annotation>
413      <xs:documentation>A description of the requirements of particular experiments.  Numerical Requirements can be initial conditions, boundary conditions, or physical modificiations.</xs:documentation>
414   </xs:annotation>
415   <xs:sequence>
416      <xs:element name="id" minOccurs="0" maxOccurs="1" type="Identifier"/>
417      <xs:element name="name" minOccurs="1" maxOccurs="1" type="xs:string"/>
418      <xs:element name="description" minOccurs="0" maxOccurs="1" type="xs:string"/>
419      <xs:element name="requirementOption" minOccurs="0" maxOccurs="unbounded"
420                  type="RequirementOption"/>
421   </xs:sequence>
422</xs:complexType>
423<xs:simpleType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="ExperimentRelationshipType">
424   <xs:restriction base="xs:string">
425      <xs:enumeration value="previousRealisation"/>
426      <xs:enumeration value="continuationOf"/>
427      <xs:enumeration value="controlExperiment"/>
428      <xs:enumeration value="higherResolutionVersionOf"/>
429      <xs:enumeration value="lowerResolutionVersionOf"/>
430   </xs:restriction>
431</xs:simpleType>
432<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="SimulationRelationship">
433   <xs:annotation>
434      <xs:documentation>Contains a set of relationship types specific to a simulation document that can be used to describe its genealogy.
435<ul style="margin-top: 0mm; margin-bottom: 0mm; list-style-type: disk; "><ul style="margin-top: 0mm; margin-bottom: 0mm; list-style-type: circle; "></ul>
436</ul></xs:documentation>
437   </xs:annotation>
438                        <xs:complexContent>
439                        <xs:extension base="Relationship">
440                    <xs:sequence>
441      <xs:element name="target" minOccurs="1" maxOccurs="1">
442         <xs:complexType>
443            <xs:choice>
444               <xs:element name="reference">
445                  <xs:complexType>
446                     <xs:sequence>
447                        <xs:element name="id" minOccurs="0" maxOccurs="1" type="guid">
448                           <xs:annotation>
449                              <xs:documentation>the ID of the element being referenced.</xs:documentation>
450                           </xs:annotation>
451                        </xs:element>
452                        <xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string">
453                           <xs:annotation>
454                              <xs:documentation>The name of the instance being referenced.</xs:documentation>
455                           </xs:annotation>
456                        </xs:element>
457                        <xs:element name="type" minOccurs="0" maxOccurs="1" type="xs:string">
458                           <xs:annotation>
459                              <xs:documentation>The type of item being referenced (should correspond to the name of the referenced XML element).</xs:documentation>
460                           </xs:annotation>
461                        </xs:element>
462                        <xs:element name="version" minOccurs="0" maxOccurs="1" type="version">
463                           <xs:annotation>
464                              <xs:documentation>The version of the element being referenced.</xs:documentation>
465                           </xs:annotation>
466                        </xs:element>
467                        <xs:element name="externalID" minOccurs="0" maxOccurs="unbounded" type="StandardName">
468                           <xs:annotation>
469                              <xs:documentation>A non-CIM (non-GUID) id used to reference the element in question.</xs:documentation>
470                           </xs:annotation>
471                        </xs:element>
472                        <xs:element name="description" minOccurs="0" maxOccurs="1" type="xs:string">
473                           <xs:annotation>
474                              <xs:documentation>A description of the element being referenced, in the context of the current class.</xs:documentation>
475                           </xs:annotation>
476                        </xs:element>
477                        <xs:element name="change" minOccurs="0" maxOccurs="unbounded" type="Change">
478                           <xs:annotation>
479                              <xs:documentation>An optional description of how the item being referenced has been modified.  This is particularly useful for dealing with Ensembles (a set of simulations where something about each simulation has changed) or Conformances.</xs:documentation>
480                           </xs:annotation>
481                        </xs:element>
482                     </xs:sequence>
483                     <xs:attribute ref="xlink:href" use="optional"/>
484                  </xs:complexType>
485               </xs:element>
486               <!-- this is an abstract class --><xs:element name="target" minOccurs="1" maxOccurs="1">
487                  <xs:complexType>
488                     <xs:choice minOccurs="1" maxOccurs="1">
489                        <xs:element ref="simulationRun"/>
490                        <xs:element name="assimilation" type="Assimilation"/>
491                        <xs:element ref="simulationComposite"/>
492                     </xs:choice>
493                  </xs:complexType>
494               </xs:element>
495            </xs:choice>
496         </xs:complexType>
497      </xs:element>
498   </xs:sequence>
499   <xs:attribute name="type" use="required" type="SimulationRelationshipType"/> 
500                            </xs:extension>
501                            </xs:complexContent>
502                        </xs:complexType>
503<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="TemporalAveType" mixed="true">
504   <xs:sequence>
505      <xs:element name="vocabularyServer" minOccurs="0">
506         <xs:complexType>
507            <xs:sequence>
508               <xs:element name="vocabularyName" type="xs:string"/>
509               <xs:element name="vocabularyVersion" minOccurs="0" type="version"/>
510               <xs:element name="vocabularyDetails" type="xs:string" minOccurs="0">
511                  <xs:annotation>
512                     <xs:documentation>information about how to access the vocabulary
513                                    </xs:documentation>
514                  </xs:annotation>
515               </xs:element>
516            </xs:sequence>
517            <xs:attribute name="href" type="xs:anyURI"/>
518         </xs:complexType>
519      </xs:element>
520   </xs:sequence>
521   <xs:attribute name="value" type="TemporalAveType_Enumeration" use="required"/>
522</xs:complexType>
523<xs:simpleType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="TemporalAveType_Enumeration">
524   <xs:restriction base="xs:string">
525      <xs:enumeration value="Other"/>
526   </xs:restriction>
527</xs:simpleType>
528<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="Conformance">
529   <xs:annotation>
530      <xs:documentation>A conformance class maps how a configured model component met a specific numerical requirement.
531
532For example, for a double CO2 boundary condition, a model component might read a CO2 dataset in which CO2 has been doubled, or it might modify a parameterisation (presumably with a factor of two somewhere).
533So, the conformance links a requirement to a DataSource (which can be either an actual DataObject or a property of a model component).
534In some cases a model/simulation may _naturally_ conform to a requirement.  In this case there would be no reference to a DataSource but the conformant attribute would be true.
535
536If something is purpopsefully non-conformant then the conformant attribute would be false.</xs:documentation>
537   </xs:annotation>
538   <xs:sequence>
539      <xs:element name="requirement" minOccurs="1" maxOccurs="unbounded">
540         <xs:annotation>
541            <xs:documentation>Points to the NumericalRequirement that the simulation in question is conforming to.</xs:documentation>
542         </xs:annotation>
543         <xs:complexType>
544            <xs:choice>
545               <xs:element name="reference">
546                  <xs:complexType>
547                     <xs:sequence>
548                        <xs:element name="id" minOccurs="0" maxOccurs="1" type="guid">
549                           <xs:annotation>
550                              <xs:documentation>the ID of the element being referenced.</xs:documentation>
551                           </xs:annotation>
552                        </xs:element>
553                        <xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string">
554                           <xs:annotation>
555                              <xs:documentation>The name of the instance being referenced.</xs:documentation>
556                           </xs:annotation>
557                        </xs:element>
558                        <xs:element name="type" minOccurs="0" maxOccurs="1" type="xs:string">
559                           <xs:annotation>
560                              <xs:documentation>The type of item being referenced (should correspond to the name of the referenced XML element).</xs:documentation>
561                           </xs:annotation>
562                        </xs:element>
563                        <xs:element name="version" minOccurs="0" maxOccurs="1" type="version">
564                           <xs:annotation>
565                              <xs:documentation>The version of the element being referenced.</xs:documentation>
566                           </xs:annotation>
567                        </xs:element>
568                        <xs:element name="externalID" minOccurs="0" maxOccurs="unbounded" type="StandardName">
569                           <xs:annotation>
570                              <xs:documentation>A non-CIM (non-GUID) id used to reference the element in question.</xs:documentation>
571                           </xs:annotation>
572                        </xs:element>
573                        <xs:element name="description" minOccurs="0" maxOccurs="1" type="xs:string">
574                           <xs:annotation>
575                              <xs:documentation>A description of the element being referenced, in the context of the current class.</xs:documentation>
576                           </xs:annotation>
577                        </xs:element>
578                        <xs:element name="change" minOccurs="0" maxOccurs="unbounded" type="Change">
579                           <xs:annotation>
580                              <xs:documentation>An optional description of how the item being referenced has been modified.  This is particularly useful for dealing with Ensembles (a set of simulations where something about each simulation has changed) or Conformances.</xs:documentation>
581                           </xs:annotation>
582                        </xs:element>
583                     </xs:sequence>
584                     <xs:attribute ref="xlink:href" use="optional"/>
585                  </xs:complexType>
586               </xs:element>
587               <!-- this is an abstract class --><xs:element name="requirement" minOccurs="1" maxOccurs="unbounded">
588                  <xs:complexType>
589                     <xs:choice minOccurs="1" maxOccurs="1">
590                        <xs:element name="initialCondition" type="InitialCondition"/>
591                        <xs:element name="spatioTemporalConstraint" type="SpatioTemporalConstraint"/>
592                        <xs:element name="boundaryCondition" type="BoundaryCondition"/>
593                     </xs:choice>
594                  </xs:complexType>
595               </xs:element>
596            </xs:choice>
597         </xs:complexType>
598      </xs:element>
599      <xs:element name="source" minOccurs="0" maxOccurs="unbounded">
600         <xs:annotation>
601            <xs:documentation>Points to the DataSource used to conform to a particular Requirement.   This may be part of an activity::simulation or a software::component.  It can be either a DataObject or a SoftwareComponent or a ComponentProperty.  It could also be by using particular attributes of, say, a SoftwareComponent, but in that case the recommended practise is to reference the component and add appropriate text in the conformance description attribute.</xs:documentation>
602         </xs:annotation>
603         <xs:complexType>
604            <xs:choice>
605               <xs:element name="reference">
606                  <xs:complexType>
607                     <xs:sequence>
608                        <xs:element name="id" minOccurs="0" maxOccurs="1" type="guid">
609                           <xs:annotation>
610                              <xs:documentation>the ID of the element being referenced.</xs:documentation>
611                           </xs:annotation>
612                        </xs:element>
613                        <xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string">
614                           <xs:annotation>
615                              <xs:documentation>The name of the instance being referenced.</xs:documentation>
616                           </xs:annotation>
617                        </xs:element>
618                        <xs:element name="type" minOccurs="0" maxOccurs="1" type="xs:string">
619                           <xs:annotation>
620                              <xs:documentation>The type of item being referenced (should correspond to the name of the referenced XML element).</xs:documentation>
621                           </xs:annotation>
622                        </xs:element>
623                        <xs:element name="version" minOccurs="0" maxOccurs="1" type="version">
624                           <xs:annotation>
625                              <xs:documentation>The version of the element being referenced.</xs:documentation>
626                           </xs:annotation>
627                        </xs:element>
628                        <xs:element name="externalID" minOccurs="0" maxOccurs="unbounded" type="StandardName">
629                           <xs:annotation>
630                              <xs:documentation>A non-CIM (non-GUID) id used to reference the element in question.</xs:documentation>
631                           </xs:annotation>
632                        </xs:element>
633                        <xs:element name="description" minOccurs="0" maxOccurs="1" type="xs:string">
634                           <xs:annotation>
635                              <xs:documentation>A description of the element being referenced, in the context of the current class.</xs:documentation>
636                           </xs:annotation>
637                        </xs:element>
638                        <xs:element name="change" minOccurs="0" maxOccurs="unbounded" type="Change">
639                           <xs:annotation>
640                              <xs:documentation>An optional description of how the item being referenced has been modified.  This is particularly useful for dealing with Ensembles (a set of simulations where something about each simulation has changed) or Conformances.</xs:documentation>
641                           </xs:annotation>
642                        </xs:element>
643                     </xs:sequence>
644                     <xs:attribute ref="xlink:href" use="optional"/>
645                  </xs:complexType>
646               </xs:element>
647               <!-- this is an abstract class --><xs:element name="source" minOccurs="0" maxOccurs="unbounded">
648                  <xs:complexType>
649                     <xs:choice minOccurs="1" maxOccurs="1">
650                        <xs:element ref="dataObject"/>
651                        <xs:element name="dataContent" type="DataContent"/>
652                        <xs:element name="componentProperty" type="ComponentProperty"/>
653                        <xs:element name="softwareComponent" type="SoftwareComponent"/>
654                     </xs:choice>
655                  </xs:complexType>
656               </xs:element>
657            </xs:choice>
658         </xs:complexType>
659      </xs:element>
660      <xs:element name="description" minOccurs="0" maxOccurs="1" type="xs:string"/>
661      <xs:element name="frequency" minOccurs="0" maxOccurs="1" type="FrequencyType"/>
662   </xs:sequence>
663   <xs:attribute name="conformant" use="required" type="xs:boolean">
664      <xs:annotation>
665         <xs:documentation>Records whether or not this conformance satisfies the requirement.  A simulation should have at least one conformance mapping to every experimental requirement.  If a simulation satisfies the requirement - the usual case - then conformant should have a value of "true."  If conformant is true but there is no reference to a source for the conformance, then we can assume that the simulation conforms to the requirement _naturally_, that is without having to modify code or inputs. If a simulation does not conform to a requirement then conformant should be set to "false."</xs:documentation>
666      </xs:annotation>
667   </xs:attribute>
668</xs:complexType>
669<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="NumericalActivity"
670                abstract="true">
671   <xs:annotation>
672      <xs:documentation>Numerical Activity is an abstract concept which in this world view is either an ensemble, a simulaiton or a DataProcessing activity.</xs:documentation>
673   </xs:annotation>
674                        <xs:complexContent>
675                        <xs:extension base="Activity">
676                    <xs:sequence>
677      <xs:element name="shortName" minOccurs="1" maxOccurs="1" type="xs:string"/>
678      <xs:element name="longName" minOccurs="1" maxOccurs="1" type="xs:string"/>
679      <xs:element name="description" minOccurs="0" maxOccurs="1" type="xs:string"/>
680      <xs:element name="dataHolder" minOccurs="0" maxOccurs="unbounded" type="xs:string">
681         <xs:annotation>
682            <xs:documentation>The point of contact for the data associated with this activity; may have to exist before a record of the data exists in the CIM.</xs:documentation>
683         </xs:annotation>
684      </xs:element>
685      <xs:element name="supports" minOccurs="1" maxOccurs="unbounded">
686         <xs:complexType>
687            <xs:choice>
688               <xs:element name="reference">
689                  <xs:complexType>
690                     <xs:sequence>
691                        <xs:element name="id" minOccurs="0" maxOccurs="1" type="guid">
692                           <xs:annotation>
693                              <xs:documentation>the ID of the element being referenced.</xs:documentation>
694                           </xs:annotation>
695                        </xs:element>
696                        <xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string">
697                           <xs:annotation>
698                              <xs:documentation>The name of the instance being referenced.</xs:documentation>
699                           </xs:annotation>
700                        </xs:element>
701                        <xs:element name="type" minOccurs="0" maxOccurs="1" type="xs:string">
702                           <xs:annotation>
703                              <xs:documentation>The type of item being referenced (should correspond to the name of the referenced XML element).</xs:documentation>
704                           </xs:annotation>
705                        </xs:element>
706                        <xs:element name="version" minOccurs="0" maxOccurs="1" type="version">
707                           <xs:annotation>
708                              <xs:documentation>The version of the element being referenced.</xs:documentation>
709                           </xs:annotation>
710                        </xs:element>
711                        <xs:element name="externalID" minOccurs="0" maxOccurs="unbounded" type="StandardName">
712                           <xs:annotation>
713                              <xs:documentation>A non-CIM (non-GUID) id used to reference the element in question.</xs:documentation>
714                           </xs:annotation>
715                        </xs:element>
716                        <xs:element name="description" minOccurs="0" maxOccurs="1" type="xs:string">
717                           <xs:annotation>
718                              <xs:documentation>A description of the element being referenced, in the context of the current class.</xs:documentation>
719                           </xs:annotation>
720                        </xs:element>
721                        <xs:element name="change" minOccurs="0" maxOccurs="unbounded" type="Change">
722                           <xs:annotation>
723                              <xs:documentation>An optional description of how the item being referenced has been modified.  This is particularly useful for dealing with Ensembles (a set of simulations where something about each simulation has changed) or Conformances.</xs:documentation>
724                           </xs:annotation>
725                        </xs:element>
726                     </xs:sequence>
727                     <xs:attribute ref="xlink:href" use="optional"/>
728                  </xs:complexType>
729               </xs:element>
730               <xs:element name="experiment" type="Experiment"/>
731            </xs:choice>
732         </xs:complexType>
733      </xs:element>
734   </xs:sequence> 
735                            </xs:extension>
736                            </xs:complexContent>
737                        </xs:complexType>
738<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="Assimilation">
739   <xs:annotation>
740      <xs:documentation>An assimilation is a simulation that is constrained by observations. It is representative of an actual period in the past eg ERA-40. </xs:documentation>
741   </xs:annotation>
742                        <xs:complexContent>
743                        <xs:extension base="Simulation">
744                    <xs:sequence>
745      <xs:element name="dataCollection" minOccurs="1" maxOccurs="unbounded" type="DataCollection"/>
746   </xs:sequence> 
747                            </xs:extension>
748                            </xs:complexContent>
749                        </xs:complexType>
750<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="PhysicalModification">
751   <xs:annotation>
752      <xs:documentation>Physical modification is the implementation of a boundary condition numerical requirement that is achieved within the model code rather than from some external source file. It  might include, for example,  a specific rate constant within a chemical reaction, or coefficient value(s) in a parameterisation.
753For example, one might require a numerical experiment where specific chemical reactions were turned off - e.g. no heterogeneous chemistry.</xs:documentation>
754   </xs:annotation>
755                        <xs:complexContent>
756                        <xs:extension base="Conformance">
757                    <xs:sequence/> 
758                            </xs:extension>
759                            </xs:complexContent>
760                        </xs:complexType>
761<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="SimulationComposite">
762   <xs:annotation>
763      <xs:documentation>A SimulationComposite is an aggregation of Simulaitons.
764With the aggreation connector between Simulation and SimulationComposite(SC) the SC can be made up of both SimulationRuns and SCs.
765
766The SimulationComposite is the new name for the concept of SimulationCollection: A simulation can be made up of "child" simulations aggregated together to form a "simulation composite".  The "parent" simulation can be made up of whole or partial child simulations and the SimulationComposite attributes need to be able to capture this.</xs:documentation>
767   </xs:annotation>
768                        <xs:complexContent>
769                        <xs:extension base="Simulation">
770                    <xs:sequence>
771      <xs:element name="rank" minOccurs="1" maxOccurs="1" type="xs:integer">
772         <xs:annotation>
773            <xs:documentation>Position of a simulation in the SimulationComposite timeline. eg:  Is this the first (rank = 1) or second (rank = 2) simulation</xs:documentation>
774         </xs:annotation>
775      </xs:element>
776      <xs:element name="startPoint" minOccurs="1" maxOccurs="1" type="xs:dateTime"/>
777      <xs:element name="endPoint" minOccurs="1" maxOccurs="1" type="xs:dateTime"/>
778      <xs:element name="child" minOccurs="0" maxOccurs="unbounded">
779         <xs:complexType>
780            <xs:choice>
781               <xs:element name="reference">
782                  <xs:complexType>
783                     <xs:sequence>
784                        <xs:element name="id" minOccurs="0" maxOccurs="1" type="guid">
785                           <xs:annotation>
786                              <xs:documentation>the ID of the element being referenced.</xs:documentation>
787                           </xs:annotation>
788                        </xs:element>
789                        <xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string">
790                           <xs:annotation>
791                              <xs:documentation>The name of the instance being referenced.</xs:documentation>
792                           </xs:annotation>
793                        </xs:element>
794                        <xs:element name="type" minOccurs="0" maxOccurs="1" type="xs:string">
795                           <xs:annotation>
796                              <xs:documentation>The type of item being referenced (should correspond to the name of the referenced XML element).</xs:documentation>
797                           </xs:annotation>
798                        </xs:element>
799                        <xs:element name="version" minOccurs="0" maxOccurs="1" type="version">
800                           <xs:annotation>
801                              <xs:documentation>The version of the element being referenced.</xs:documentation>
802                           </xs:annotation>
803                        </xs:element>
804                        <xs:element name="externalID" minOccurs="0" maxOccurs="unbounded" type="StandardName">
805                           <xs:annotation>
806                              <xs:documentation>A non-CIM (non-GUID) id used to reference the element in question.</xs:documentation>
807                           </xs:annotation>
808                        </xs:element>
809                        <xs:element name="description" minOccurs="0" maxOccurs="1" type="xs:string">
810                           <xs:annotation>
811                              <xs:documentation>A description of the element being referenced, in the context of the current class.</xs:documentation>
812                           </xs:annotation>
813                        </xs:element>
814                        <xs:element name="change" minOccurs="0" maxOccurs="unbounded" type="Change">
815                           <xs:annotation>
816                              <xs:documentation>An optional description of how the item being referenced has been modified.  This is particularly useful for dealing with Ensembles (a set of simulations where something about each simulation has changed) or Conformances.</xs:documentation>
817                           </xs:annotation>
818                        </xs:element>
819                     </xs:sequence>
820                     <xs:attribute ref="xlink:href" use="optional"/>
821                  </xs:complexType>
822               </xs:element>
823               <!-- this is an abstract class --><xs:element name="child" minOccurs="0" maxOccurs="unbounded">
824                  <xs:complexType>
825                     <xs:choice minOccurs="1" maxOccurs="1">
826                        <xs:element ref="simulationRun"/>
827                        <xs:element name="assimilation" type="Assimilation"/>
828                        <xs:element ref="simulationComposite"/>
829                     </xs:choice>
830                  </xs:complexType>
831               </xs:element>
832            </xs:choice>
833         </xs:complexType>
834      </xs:element>
835   </xs:sequence> 
836                            </xs:extension>
837                            </xs:complexContent>
838                        </xs:complexType>
839<xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="simulationComposite">
840   <xs:annotation>
841      <xs:documentation>A SimulationComposite is an aggregation of Simulaitons.
842With the aggreation connector between Simulation and SimulationComposite(SC) the SC can be made up of both SimulationRuns and SCs.
843
844The SimulationComposite is the new name for the concept of SimulationCollection: A simulation can be made up of "child" simulations aggregated together to form a "simulation composite".  The "parent" simulation can be made up of whole or partial child simulations and the SimulationComposite attributes need to be able to capture this.</xs:documentation>
845   </xs:annotation>
846   <xs:complexType>
847      <xs:complexContent>
848         <xs:extension base="SimulationComposite">
849            <xs:sequence>
850               <xs:element name="documentID" minOccurs="1" maxOccurs="1" type="guid">
851                  <xs:annotation>
852                     <xs:documentation>a unique indentifier for this document</xs:documentation>
853                  </xs:annotation>
854               </xs:element>
855               <xs:element name="documentVersion" minOccurs="1" maxOccurs="1" type="version"/>
856               <xs:element name="metadataID" minOccurs="0" maxOccurs="1" type="xs:anyURI"/>
857               <xs:element name="metadataVersion" minOccurs="0" maxOccurs="1" type="version"/>
858               <xs:element name="externalID" minOccurs="0" maxOccurs="unbounded" type="StandardName">
859                  <xs:annotation>
860                     <xs:documentation>The id of this document as referenced by an external body (ie: DOI, or even IPSL)</xs:documentation>
861                  </xs:annotation>
862               </xs:element>
863               <xs:element name="documentAuthor" minOccurs="0" maxOccurs="1" type="ResponsibleParty">
864                  <xs:annotation>
865                     <xs:documentation>A contact for the author of this <i>document </i>(as opposed to the author of the artifact being described by this document; ie: the simulation or component or whatever).</xs:documentation>
866                  </xs:annotation>
867               </xs:element>
868               <xs:element name="documentCreationDate" minOccurs="1" maxOccurs="1" type="xs:dateTime">
869                  <xs:annotation>
870                     <xs:documentation>The date the <i>document </i>was created.</xs:documentation>
871                  </xs:annotation>
872               </xs:element>
873               <xs:element name="documentGenealogy" minOccurs="0" maxOccurs="1" type="Genealogy">
874                  <xs:annotation>
875                     <xs:documentation>Specifies the relationship of this document with another document. Various relationship types (depending on the type of document; ie: simulation, component, etc.) are supported.</xs:documentation>
876                  </xs:annotation>
877               </xs:element>
878               <xs:element name="quality" minOccurs="0" maxOccurs="unbounded" type="Quality">
879                  <xs:annotation>
880                     <xs:documentation>a (set of) quality record(s) for this document.</xs:documentation>
881                  </xs:annotation>
882               </xs:element>
883            </xs:sequence>
884            <xs:attribute name="documentStatus" use="optional" type="DocumentStatusType"/>
885         </xs:extension>
886      </xs:complexContent>
887   </xs:complexType>
888</xs:element>
889<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="ObservationStation">
890   <xs:sequence/>
891   <xs:attribute name="fixity" use="required" type="FixityType"/>
892</xs:complexType>
893<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="BoundaryCondition">
894   <xs:annotation>
895      <xs:documentation>A boundary condition is a numerical requirement which looks like a variable imposed on the model evolution (i.e. it might - or might not - evolve with time, but is seen by the model at various times during its evolution) as opposed to an initial condition (at model time zero).</xs:documentation>
896   </xs:annotation>
897                        <xs:complexContent>
898                        <xs:extension base="NumericalRequirement">
899                    <xs:sequence>
900      <xs:element name="source" minOccurs="0" maxOccurs="1">
901         <xs:complexType>
902            <xs:choice>
903               <xs:element name="reference">
904                  <xs:complexType>
905                     <xs:sequence>
906                        <xs:element name="id" minOccurs="0" maxOccurs="1" type="guid">
907                           <xs:annotation>
908                              <xs:documentation>the ID of the element being referenced.</xs:documentation>
909                           </xs:annotation>
910                        </xs:element>
911                        <xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string">
912                           <xs:annotation>
913                              <xs:documentation>The name of the instance being referenced.</xs:documentation>
914                           </xs:annotation>
915                        </xs:element>
916                        <xs:element name="type" minOccurs="0" maxOccurs="1" type="xs:string">
917                           <xs:annotation>
918                              <xs:documentation>The type of item being referenced (should correspond to the name of the referenced XML element).</xs:documentation>
919                           </xs:annotation>
920                        </xs:element>
921                        <xs:element name="version" minOccurs="0" maxOccurs="1" type="version">
922                           <xs:annotation>
923                              <xs:documentation>The version of the element being referenced.</xs:documentation>
924                           </xs:annotation>
925                        </xs:element>
926                        <xs:element name="externalID" minOccurs="0" maxOccurs="unbounded" type="StandardName">
927                           <xs:annotation>
928                              <xs:documentation>A non-CIM (non-GUID) id used to reference the element in question.</xs:documentation>
929                           </xs:annotation>
930                        </xs:element>
931                        <xs:element name="description" minOccurs="0" maxOccurs="1" type="xs:string">
932                           <xs:annotation>
933                              <xs:documentation>A description of the element being referenced, in the context of the current class.</xs:documentation>
934                           </xs:annotation>
935                        </xs:element>
936                        <xs:element name="change" minOccurs="0" maxOccurs="unbounded" type="Change">
937                           <xs:annotation>
938                              <xs:documentation>An optional description of how the item being referenced has been modified.  This is particularly useful for dealing with Ensembles (a set of simulations where something about each simulation has changed) or Conformances.</xs:documentation>
939                           </xs:annotation>
940                        </xs:element>
941                     </xs:sequence>
942                     <xs:attribute ref="xlink:href" use="optional"/>
943                  </xs:complexType>
944               </xs:element>
945               <!-- this is an abstract class --><xs:element name="source" minOccurs="0" maxOccurs="1">
946                  <xs:complexType>
947                     <xs:choice minOccurs="1" maxOccurs="1">
948                        <xs:element ref="dataObject"/>
949                        <xs:element name="dataContent" type="DataContent"/>
950                        <xs:element name="componentProperty" type="ComponentProperty"/>
951                        <xs:element name="softwareComponent" type="SoftwareComponent"/>
952                     </xs:choice>
953                  </xs:complexType>
954               </xs:element>
955            </xs:choice>
956         </xs:complexType>
957      </xs:element>
958   </xs:sequence> 
959                            </xs:extension>
960                            </xs:complexContent>
961                        </xs:complexType>
962<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="SpatioTemporalConstraint">
963                        <xs:complexContent>
964                        <xs:extension base="NumericalRequirement">
965                    <xs:sequence>
966      <xs:element name="outputFrequency" minOccurs="1" maxOccurs="1" type="FrequencyType"/>
967      <xs:element name="spatialResolution" minOccurs="0" maxOccurs="1" type="ResolutionType"/>
968      <xs:element name="temporalAveraging" minOccurs="0" maxOccurs="1" type="TemporalAveType"/>
969      <!-- this is an abstract class --><xs:element name="outputPeriod" minOccurs="0" maxOccurs="1">
970         <xs:complexType>
971            <xs:choice minOccurs="1" maxOccurs="1">
972               <xs:element name="closedDateRange" type="ClosedDateRange"/>
973               <xs:element name="openDateRange" type="OpenDateRange"/>
974            </xs:choice>
975         </xs:complexType>
976      </xs:element>
977   </xs:sequence> 
978                            </xs:extension>
979                            </xs:complexContent>
980                        </xs:complexType>
981<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="NumericalExperiment">
982   <xs:annotation>
983      <xs:documentation>A numerical experiment may be generated by an experiment, in which case it is inSupportOf the experiment. But a numerical experiment may also exist as an activity in its own right (as it might be if it were needed for a MIP). Examples: AR4 individual experiments, AR5 individual experiments, RAPID THC experiments etc. </xs:documentation>
984   </xs:annotation>
985                        <xs:complexContent>
986                        <xs:extension base="Experiment">
987                    <xs:sequence>
988      <xs:element name="shortName" minOccurs="1" maxOccurs="1" type="xs:string"/>
989      <xs:element name="longName" minOccurs="1" maxOccurs="1" type="xs:string"/>
990      <xs:element name="description" minOccurs="0" maxOccurs="1" type="xs:string"/>
991      <xs:element name="experimentNumber" minOccurs="0" maxOccurs="1" type="xs:double"/>
992      <!-- this is an abstract class --><xs:element name="calendar" minOccurs="1" maxOccurs="1">
993         <xs:complexType>
994            <xs:choice minOccurs="1" maxOccurs="1">
995               <xs:element name="daily-360" type="Daily-360"/>
996               <xs:element name="realCalendar" type="RealCalendar"/>
997               <xs:element name="perpetualPeriod" type="PerpetualPeriod"/>
998            </xs:choice>
999         </xs:complexType>
1000      </xs:element>
1001      <xs:element name="requiredDuration" minOccurs="1" maxOccurs="1" type="ClosedDateRange"/>
1002      <!-- this is an abstract class --><xs:element name="numericalRequirement" minOccurs="1" maxOccurs="unbounded">
1003         <xs:complexType>
1004            <xs:choice minOccurs="1" maxOccurs="1">
1005               <xs:element name="initialCondition" type="InitialCondition"/>
1006               <xs:element name="spatioTemporalConstraint" type="SpatioTemporalConstraint"/>
1007               <xs:element name="boundaryCondition" type="BoundaryCondition"/>
1008            </xs:choice>
1009         </xs:complexType>
1010      </xs:element>
1011      <xs:element name="supports" minOccurs="0" maxOccurs="unbounded" type="Experiment"/>
1012   </xs:sequence> 
1013                            </xs:extension>
1014                            </xs:complexContent>
1015                        </xs:complexType>
1016<xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="numericalExperiment">
1017   <xs:annotation>
1018      <xs:documentation>A numerical experiment may be generated by an experiment, in which case it is inSupportOf the experiment. But a numerical experiment may also exist as an activity in its own right (as it might be if it were needed for a MIP). Examples: AR4 individual experiments, AR5 individual experiments, RAPID THC experiments etc. </xs:documentation>
1019   </xs:annotation>
1020   <xs:complexType>
1021      <xs:complexContent>
1022         <xs:extension base="NumericalExperiment">
1023            <xs:sequence>
1024               <xs:element name="documentID" minOccurs="1" maxOccurs="1" type="guid">
1025                  <xs:annotation>
1026                     <xs:documentation>a unique indentifier for this document</xs:documentation>
1027                  </xs:annotation>
1028               </xs:element>
1029               <xs:element name="documentVersion" minOccurs="1" maxOccurs="1" type="version"/>
1030               <xs:element name="metadataID" minOccurs="0" maxOccurs="1" type="xs:anyURI"/>
1031               <xs:element name="metadataVersion" minOccurs="0" maxOccurs="1" type="version"/>
1032               <xs:element name="externalID" minOccurs="0" maxOccurs="unbounded" type="StandardName">
1033                  <xs:annotation>
1034                     <xs:documentation>The id of this document as referenced by an external body (ie: DOI, or even IPSL)</xs:documentation>
1035                  </xs:annotation>
1036               </xs:element>
1037               <xs:element name="documentAuthor" minOccurs="0" maxOccurs="1" type="ResponsibleParty">
1038                  <xs:annotation>
1039                     <xs:documentation>A contact for the author of this <i>document </i>(as opposed to the author of the artifact being described by this document; ie: the simulation or component or whatever).</xs:documentation>
1040                  </xs:annotation>
1041               </xs:element>
1042               <xs:element name="documentCreationDate" minOccurs="1" maxOccurs="1" type="xs:dateTime">
1043                  <xs:annotation>
1044                     <xs:documentation>The date the <i>document </i>was created.</xs:documentation>
1045                  </xs:annotation>
1046               </xs:element>
1047               <xs:element name="documentGenealogy" minOccurs="0" maxOccurs="1" type="Genealogy">
1048                  <xs:annotation>
1049                     <xs:documentation>Specifies the relationship of this document with another document. Various relationship types (depending on the type of document; ie: simulation, component, etc.) are supported.</xs:documentation>
1050                  </xs:annotation>
1051               </xs:element>
1052               <xs:element name="quality" minOccurs="0" maxOccurs="unbounded" type="Quality">
1053                  <xs:annotation>
1054                     <xs:documentation>a (set of) quality record(s) for this document.</xs:documentation>
1055                  </xs:annotation>
1056               </xs:element>
1057            </xs:sequence>
1058            <xs:attribute name="documentStatus" use="optional" type="DocumentStatusType"/>
1059         </xs:extension>
1060      </xs:complexContent>
1061   </xs:complexType>
1062</xs:element>
1063<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="DataProcessing">
1064   <xs:annotation>
1065      <xs:documentation>A DataProcessing activity refers to the processing of observation data or post processing of data from a simulation. It does not simulate scientific phenomena like a Simulation activity does.  It is associated with a ProcessorComponent as opposed to a ModelComponent.</xs:documentation>
1066   </xs:annotation>
1067                        <xs:complexContent>
1068                        <xs:extension base="NumericalActivity">
1069                    <xs:sequence>
1070      <xs:element name="inputs" minOccurs="0" maxOccurs="unbounded">
1071         <xs:annotation>
1072            <xs:documentation>the data being processed.</xs:documentation>
1073         </xs:annotation>
1074         <xs:complexType>
1075            <xs:choice>
1076               <xs:element name="reference">
1077                  <xs:complexType>
1078                     <xs:sequence>
1079                        <xs:element name="id" minOccurs="0" maxOccurs="1" type="guid">
1080                           <xs:annotation>
1081                              <xs:documentation>the ID of the element being referenced.</xs:documentation>
1082                           </xs:annotation>
1083                        </xs:element>
1084                        <xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string">
1085                           <xs:annotation>
1086                              <xs:documentation>The name of the instance being referenced.</xs:documentation>
1087                           </xs:annotation>
1088                        </xs:element>
1089                        <xs:element name="type" minOccurs="0" maxOccurs="1" type="xs:string">
1090                           <xs:annotation>
1091                              <xs:documentation>The type of item being referenced (should correspond to the name of the referenced XML element).</xs:documentation>
1092                           </xs:annotation>
1093                        </xs:element>
1094                        <xs:element name="version" minOccurs="0" maxOccurs="1" type="version">
1095                           <xs:annotation>
1096                              <xs:documentation>The version of the element being referenced.</xs:documentation>
1097                           </xs:annotation>
1098                        </xs:element>
1099                        <xs:element name="externalID" minOccurs="0" maxOccurs="unbounded" type="StandardName">
1100                           <xs:annotation>
1101                              <xs:documentation>A non-CIM (non-GUID) id used to reference the element in question.</xs:documentation>
1102                           </xs:annotation>
1103                        </xs:element>
1104                        <xs:element name="description" minOccurs="0" maxOccurs="1" type="xs:string">
1105                           <xs:annotation>
1106                              <xs:documentation>A description of the element being referenced, in the context of the current class.</xs:documentation>
1107                           </xs:annotation>
1108                        </xs:element>
1109                        <xs:element name="change" minOccurs="0" maxOccurs="unbounded" type="Change">
1110                           <xs:annotation>
1111                              <xs:documentation>An optional description of how the item being referenced has been modified.  This is particularly useful for dealing with Ensembles (a set of simulations where something about each simulation has changed) or Conformances.</xs:documentation>
1112                           </xs:annotation>
1113                        </xs:element>
1114                     </xs:sequence>
1115                     <xs:attribute ref="xlink:href" use="optional"/>
1116                  </xs:complexType>
1117               </xs:element>
1118               <!-- this is an abstract class --><xs:element name="inputs" minOccurs="0" maxOccurs="unbounded">
1119                  <xs:complexType>
1120                     <xs:choice minOccurs="1" maxOccurs="1">
1121                        <xs:element ref="dataObject"/>
1122                        <xs:element name="dataContent" type="DataContent"/>
1123                        <xs:element name="componentProperty" type="ComponentProperty"/>
1124                        <xs:element name="softwareComponent" type="SoftwareComponent"/>
1125                     </xs:choice>
1126                  </xs:complexType>
1127               </xs:element>
1128            </xs:choice>
1129         </xs:complexType>
1130      </xs:element>
1131      <xs:element name="outputs" minOccurs="0" maxOccurs="unbounded">
1132         <xs:annotation>
1133            <xs:documentation>the data being generated.</xs:documentation>
1134         </xs:annotation>
1135         <xs:complexType>
1136            <xs:choice>
1137               <xs:element name="reference">
1138                  <xs:complexType>
1139                     <xs:sequence>
1140                        <xs:element name="id" minOccurs="0" maxOccurs="1" type="guid">
1141                           <xs:annotation>
1142                              <xs:documentation>the ID of the element being referenced.</xs:documentation>
1143                           </xs:annotation>
1144                        </xs:element>
1145                        <xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string">
1146                           <xs:annotation>
1147                              <xs:documentation>The name of the instance being referenced.</xs:documentation>
1148                           </xs:annotation>
1149                        </xs:element>
1150                        <xs:element name="type" minOccurs="0" maxOccurs="1" type="xs:string">
1151                           <xs:annotation>
1152                              <xs:documentation>The type of item being referenced (should correspond to the name of the referenced XML element).</xs:documentation>
1153                           </xs:annotation>
1154                        </xs:element>
1155                        <xs:element name="version" minOccurs="0" maxOccurs="1" type="version">
1156                           <xs:annotation>
1157                              <xs:documentation>The version of the element being referenced.</xs:documentation>
1158                           </xs:annotation>
1159                        </xs:element>
1160                        <xs:element name="externalID" minOccurs="0" maxOccurs="unbounded" type="StandardName">
1161                           <xs:annotation>
1162                              <xs:documentation>A non-CIM (non-GUID) id used to reference the element in question.</xs:documentation>
1163                           </xs:annotation>
1164                        </xs:element>
1165                        <xs:element name="description" minOccurs="0" maxOccurs="1" type="xs:string">
1166                           <xs:annotation>
1167                              <xs:documentation>A description of the element being referenced, in the context of the current class.</xs:documentation>
1168                           </xs:annotation>
1169                        </xs:element>
1170                        <xs:element name="change" minOccurs="0" maxOccurs="unbounded" type="Change">
1171                           <xs:annotation>
1172                              <xs:documentation>An optional description of how the item being referenced has been modified.  This is particularly useful for dealing with Ensembles (a set of simulations where something about each simulation has changed) or Conformances.</xs:documentation>
1173                           </xs:annotation>
1174                        </xs:element>
1175                     </xs:sequence>
1176                     <xs:attribute ref="xlink:href" use="optional"/>
1177                  </xs:complexType>
1178               </xs:element>
1179               <!-- this is an abstract class --><xs:element name="outputs" minOccurs="0" maxOccurs="unbounded">
1180                  <xs:complexType>
1181                     <xs:choice minOccurs="1" maxOccurs="1">
1182                        <xs:element ref="dataObject"/>
1183                        <xs:element name="dataContent" type="DataContent"/>
1184                        <xs:element name="componentProperty" type="ComponentProperty"/>
1185                        <xs:element name="softwareComponent" type="SoftwareComponent"/>
1186                     </xs:choice>
1187                  </xs:complexType>
1188               </xs:element>
1189            </xs:choice>
1190         </xs:complexType>
1191      </xs:element>
1192      <xs:element name="processor" minOccurs="0" maxOccurs="1">
1193         <xs:complexType>
1194            <xs:choice>
1195               <xs:element name="reference">
1196                  <xs:complexType>
1197                     <xs:sequence>
1198                        <xs:element name="id" minOccurs="0" maxOccurs="1" type="guid">
1199                           <xs:annotation>
1200                              <xs:documentation>the ID of the element being referenced.</xs:documentation>
1201                           </xs:annotation>
1202                        </xs:element>
1203                        <xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string">
1204                           <xs:annotation>
1205                              <xs:documentation>The name of the instance being referenced.</xs:documentation>
1206                           </xs:annotation>
1207                        </xs:element>
1208                        <xs:element name="type" minOccurs="0" maxOccurs="1" type="xs:string">
1209                           <xs:annotation>
1210                              <xs:documentation>The type of item being referenced (should correspond to the name of the referenced XML element).</xs:documentation>
1211                           </xs:annotation>
1212                        </xs:element>
1213                        <xs:element name="version" minOccurs="0" maxOccurs="1" type="version">
1214                           <xs:annotation>
1215                              <xs:documentation>The version of the element being referenced.</xs:documentation>
1216                           </xs:annotation>
1217                        </xs:element>
1218                        <xs:element name="externalID" minOccurs="0" maxOccurs="unbounded" type="StandardName">
1219                           <xs:annotation>
1220                              <xs:documentation>A non-CIM (non-GUID) id used to reference the element in question.</xs:documentation>
1221                           </xs:annotation>
1222                        </xs:element>
1223                        <xs:element name="description" minOccurs="0" maxOccurs="1" type="xs:string">
1224                           <xs:annotation>
1225                              <xs:documentation>A description of the element being referenced, in the context of the current class.</xs:documentation>
1226                           </xs:annotation>
1227                        </xs:element>
1228                        <xs:element name="change" minOccurs="0" maxOccurs="unbounded" type="Change">
1229                           <xs:annotation>
1230                              <xs:documentation>An optional description of how the item being referenced has been modified.  This is particularly useful for dealing with Ensembles (a set of simulations where something about each simulation has changed) or Conformances.</xs:documentation>
1231                           </xs:annotation>
1232                        </xs:element>
1233                     </xs:sequence>
1234                     <xs:attribute ref="xlink:href" use="optional"/>
1235                  </xs:complexType>
1236               </xs:element>
1237               <xs:element ref="processorComponent"/>
1238            </xs:choice>
1239         </xs:complexType>
1240      </xs:element>
1241   </xs:sequence> 
1242                            </xs:extension>
1243                            </xs:complexContent>
1244                        </xs:complexType>
1245<xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="dataProcessing">
1246   <xs:annotation>
1247      <xs:documentation>A DataProcessing activity refers to the processing of observation data or post processing of data from a simulation. It does not simulate scientific phenomena like a Simulation activity does.  It is associated with a ProcessorComponent as opposed to a ModelComponent.</xs:documentation>
1248   </xs:annotation>
1249   <xs:complexType>
1250      <xs:complexContent>
1251         <xs:extension base="DataProcessing">
1252            <xs:sequence>
1253               <xs:element name="documentID" minOccurs="1" maxOccurs="1" type="guid">
1254                  <xs:annotation>
1255                     <xs:documentation>a unique indentifier for this document</xs:documentation>
1256                  </xs:annotation>
1257               </xs:element>
1258               <xs:element name="documentVersion" minOccurs="1" maxOccurs="1" type="version"/>
1259               <xs:element name="metadataID" minOccurs="0" maxOccurs="1" type="xs:anyURI"/>
1260               <xs:element name="metadataVersion" minOccurs="0" maxOccurs="1" type="version"/>
1261               <xs:element name="externalID" minOccurs="0" maxOccurs="unbounded" type="StandardName">
1262                  <xs:annotation>
1263                     <xs:documentation>The id of this document as referenced by an external body (ie: DOI, or even IPSL)</xs:documentation>
1264                  </xs:annotation>
1265               </xs:element>
1266               <xs:element name="documentAuthor" minOccurs="0" maxOccurs="1" type="ResponsibleParty">
1267                  <xs:annotation>
1268                     <xs:documentation>A contact for the author of this <i>document </i>(as opposed to the author of the artifact being described by this document; ie: the simulation or component or whatever).</xs:documentation>
1269                  </xs:annotation>
1270               </xs:element>
1271               <xs:element name="documentCreationDate" minOccurs="1" maxOccurs="1" type="xs:dateTime">
1272                  <xs:annotation>
1273                     <xs:documentation>The date the <i>document </i>was created.</xs:documentation>
1274                  </xs:annotation>
1275               </xs:element>
1276               <xs:element name="documentGenealogy" minOccurs="0" maxOccurs="1" type="Genealogy">
1277                  <xs:annotation>
1278                     <xs:documentation>Specifies the relationship of this document with another document. Various relationship types (depending on the type of document; ie: simulation, component, etc.) are supported.</xs:documentation>
1279                  </xs:annotation>
1280               </xs:element>
1281               <xs:element name="quality" minOccurs="0" maxOccurs="unbounded" type="Quality">
1282                  <xs:annotation>
1283                     <xs:documentation>a (set of) quality record(s) for this document.</xs:documentation>
1284                  </xs:annotation>
1285               </xs:element>
1286            </xs:sequence>
1287            <xs:attribute name="documentStatus" use="optional" type="DocumentStatusType"/>
1288         </xs:extension>
1289      </xs:complexContent>
1290   </xs:complexType>
1291</xs:element>
1292<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="EnsembleMember">
1293   <xs:sequence>
1294      <xs:element name="simulation" minOccurs="1" maxOccurs="1">
1295         <xs:complexType>
1296            <xs:choice>
1297               <xs:element name="reference">
1298                  <xs:complexType>
1299                     <xs:sequence>
1300                        <xs:element name="id" minOccurs="0" maxOccurs="1" type="guid">
1301                           <xs:annotation>
1302                              <xs:documentation>the ID of the element being referenced.</xs:documentation>
1303                           </xs:annotation>
1304                        </xs:element>
1305                        <xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string">
1306                           <xs:annotation>
1307                              <xs:documentation>The name of the instance being referenced.</xs:documentation>
1308                           </xs:annotation>
1309                        </xs:element>
1310                        <xs:element name="type" minOccurs="0" maxOccurs="1" type="xs:string">
1311                           <xs:annotation>
1312                              <xs:documentation>The type of item being referenced (should correspond to the name of the referenced XML element).</xs:documentation>
1313                           </xs:annotation>
1314                        </xs:element>
1315                        <xs:element name="version" minOccurs="0" maxOccurs="1" type="version">
1316                           <xs:annotation>
1317                              <xs:documentation>The version of the element being referenced.</xs:documentation>
1318                           </xs:annotation>
1319                        </xs:element>
1320                        <xs:element name="externalID" minOccurs="0" maxOccurs="unbounded" type="StandardName">
1321                           <xs:annotation>
1322                              <xs:documentation>A non-CIM (non-GUID) id used to reference the element in question.</xs:documentation>
1323                           </xs:annotation>
1324                        </xs:element>
1325                        <xs:element name="description" minOccurs="0" maxOccurs="1" type="xs:string">
1326                           <xs:annotation>
1327                              <xs:documentation>A description of the element being referenced, in the context of the current class.</xs:documentation>
1328                           </xs:annotation>
1329                        </xs:element>
1330                        <xs:element name="change" minOccurs="0" maxOccurs="unbounded" type="Change">
1331                           <xs:annotation>
1332                              <xs:documentation>An optional description of how the item being referenced has been modified.  This is particularly useful for dealing with Ensembles (a set of simulations where something about each simulation has changed) or Conformances.</xs:documentation>
1333                           </xs:annotation>
1334                        </xs:element>
1335                     </xs:sequence>
1336                     <xs:attribute ref="xlink:href" use="optional"/>
1337                  </xs:complexType>
1338               </xs:element>
1339               <!-- this is an abstract class --><xs:element name="simulation" minOccurs="1" maxOccurs="1">
1340                  <xs:complexType>
1341                     <xs:choice minOccurs="1" maxOccurs="1">
1342                        <xs:element ref="simulationRun"/>
1343                        <xs:element name="assimilation" type="Assimilation"/>
1344                        <xs:element ref="simulationComposite"/>
1345                     </xs:choice>
1346                  </xs:complexType>
1347               </xs:element>
1348            </xs:choice>
1349         </xs:complexType>
1350      </xs:element>
1351      <xs:element name="externalID" minOccurs="0" maxOccurs="unbounded" type="StandardName"/>
1352      <xs:element name="ensemble" minOccurs="0" maxOccurs="1">
1353         <xs:complexType>
1354            <xs:choice>
1355               <xs:element name="reference">
1356                  <xs:complexType>
1357                     <xs:sequence>
1358                        <xs:element name="id" minOccurs="0" maxOccurs="1" type="guid">
1359                           <xs:annotation>
1360                              <xs:documentation>the ID of the element being referenced.</xs:documentation>
1361                           </xs:annotation>
1362                        </xs:element>
1363                        <xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string">
1364                           <xs:annotation>
1365                              <xs:documentation>The name of the instance being referenced.</xs:documentation>
1366                           </xs:annotation>
1367                        </xs:element>
1368                        <xs:element name="type" minOccurs="0" maxOccurs="1" type="xs:string">
1369                           <xs:annotation>
1370                              <xs:documentation>The type of item being referenced (should correspond to the name of the referenced XML element).</xs:documentation>
1371                           </xs:annotation>
1372                        </xs:element>
1373                        <xs:element name="version" minOccurs="0" maxOccurs="1" type="version">
1374                           <xs:annotation>
1375                              <xs:documentation>The version of the element being referenced.</xs:documentation>
1376                           </xs:annotation>
1377                        </xs:element>
1378                        <xs:element name="externalID" minOccurs="0" maxOccurs="unbounded" type="StandardName">
1379                           <xs:annotation>
1380                              <xs:documentation>A non-CIM (non-GUID) id used to reference the element in question.</xs:documentation>
1381                           </xs:annotation>
1382                        </xs:element>
1383                        <xs:element name="description" minOccurs="0" maxOccurs="1" type="xs:string">
1384                           <xs:annotation>
1385                              <xs:documentation>A description of the element being referenced, in the context of the current class.</xs:documentation>
1386                           </xs:annotation>
1387                        </xs:element>
1388                        <xs:element name="change" minOccurs="0" maxOccurs="unbounded" type="Change">
1389                           <xs:annotation>
1390                              <xs:documentation>An optional description of how the item being referenced has been modified.  This is particularly useful for dealing with Ensembles (a set of simulations where something about each simulation has changed) or Conformances.</xs:documentation>
1391                           </xs:annotation>
1392                        </xs:element>
1393                     </xs:sequence>
1394                     <xs:attribute ref="xlink:href" use="optional"/>
1395                  </xs:complexType>
1396               </xs:element>
1397               <xs:element ref="ensemble"/>
1398            </xs:choice>
1399         </xs:complexType>
1400      </xs:element>
1401   </xs:sequence>
1402</xs:complexType>
1403<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="Simulation" abstract="true">
1404   <xs:annotation>
1405      <xs:documentation>A simulation is the implementation of a numerical experiment.  A simulation can be made up of "child" simulations aggregated together to form a "simulation composite".  The "parent" simulation can be made up of whole or partial child simulations, the simulation attributes need to be able to capture this.</xs:documentation>
1406   </xs:annotation>
1407                        <xs:complexContent>
1408                        <xs:extension base="NumericalActivity">
1409                    <xs:sequence>
1410      <xs:element name="simulationID" minOccurs="0" maxOccurs="1" type="xs:string"/>
1411      <!-- this is an abstract class --><xs:element name="duration" minOccurs="1" maxOccurs="1">
1412         <xs:complexType>
1413            <xs:choice minOccurs="1" maxOccurs="1">
1414               <xs:element name="daily-360" type="Daily-360"/>
1415               <xs:element name="realCalendar" type="RealCalendar"/>
1416               <xs:element name="perpetualPeriod" type="PerpetualPeriod"/>
1417            </xs:choice>
1418         </xs:complexType>
1419      </xs:element>
1420      <xs:element name="input" minOccurs="0" maxOccurs="unbounded" type="Coupling">
1421         <xs:annotation>
1422            <xs:documentation>implemented as a mapping from a source to target; can be a forcing file, a boundary condition, etc.</xs:documentation>
1423         </xs:annotation>
1424      </xs:element>
1425      <xs:element name="output" minOccurs="0" maxOccurs="unbounded">
1426         <xs:complexType>
1427            <xs:choice>
1428               <xs:element name="reference">
1429                  <xs:complexType>
1430                     <xs:sequence>
1431                        <xs:element name="id" minOccurs="0" maxOccurs="1" type="guid">
1432                           <xs:annotation>
1433                              <xs:documentation>the ID of the element being referenced.</xs:documentation>
1434                           </xs:annotation>
1435                        </xs:element>
1436                        <xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string">
1437                           <xs:annotation>
1438                              <xs:documentation>The name of the instance being referenced.</xs:documentation>
1439                           </xs:annotation>
1440                        </xs:element>
1441                        <xs:element name="type" minOccurs="0" maxOccurs="1" type="xs:string">
1442                           <xs:annotation>
1443                              <xs:documentation>The type of item being referenced (should correspond to the name of the referenced XML element).</xs:documentation>
1444                           </xs:annotation>
1445                        </xs:element>
1446                        <xs:element name="version" minOccurs="0" maxOccurs="1" type="version">
1447                           <xs:annotation>
1448                              <xs:documentation>The version of the element being referenced.</xs:documentation>
1449                           </xs:annotation>
1450                        </xs:element>
1451                        <xs:element name="externalID" minOccurs="0" maxOccurs="unbounded" type="StandardName">
1452                           <xs:annotation>
1453                              <xs:documentation>A non-CIM (non-GUID) id used to reference the element in question.</xs:documentation>
1454                           </xs:annotation>
1455                        </xs:element>
1456                        <xs:element name="description" minOccurs="0" maxOccurs="1" type="xs:string">
1457                           <xs:annotation>
1458                              <xs:documentation>A description of the element being referenced, in the context of the current class.</xs:documentation>
1459                           </xs:annotation>
1460                        </xs:element>
1461                        <xs:element name="change" minOccurs="0" maxOccurs="unbounded" type="Change">
1462                           <xs:annotation>
1463                              <xs:documentation>An optional description of how the item being referenced has been modified.  This is particularly useful for dealing with Ensembles (a set of simulations where something about each simulation has changed) or Conformances.</xs:documentation>
1464                           </xs:annotation>
1465                        </xs:element>
1466                     </xs:sequence>
1467                     <xs:attribute ref="xlink:href" use="optional"/>
1468                  </xs:complexType>
1469               </xs:element>
1470               <xs:element ref="dataObject"/>
1471            </xs:choice>
1472         </xs:complexType>
1473      </xs:element>
1474      <xs:element name="restart" minOccurs="0" maxOccurs="unbounded" type="DataObject"/>
1475      <xs:element name="spinupDateRange" minOccurs="0" maxOccurs="1" type="ClosedDateRange">
1476         <xs:annotation>
1477            <xs:documentation>The date range that a simulation is engaged in "spinup."</xs:documentation>
1478         </xs:annotation>
1479      </xs:element>
1480      <xs:element name="spinupSimulation" minOccurs="0" maxOccurs="1">
1481         <xs:annotation>
1482            <xs:documentation>The (external) simulation used during "spinup."  Note that this element can be used in conjuntion with spinupDateRange.  If a simulation has the latter but not the former, then one can assume that the simulation is performing its own spinup.</xs:documentation>
1483         </xs:annotation>
1484         <xs:complexType>
1485            <xs:choice>
1486               <xs:element name="reference">
1487                  <xs:complexType>
1488                     <xs:sequence>
1489                        <xs:element name="id" minOccurs="0" maxOccurs="1" type="guid">
1490                           <xs:annotation>
1491                              <xs:documentation>the ID of the element being referenced.</xs:documentation>
1492                           </xs:annotation>
1493                        </xs:element>
1494                        <xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string">
1495                           <xs:annotation>
1496                              <xs:documentation>The name of the instance being referenced.</xs:documentation>
1497                           </xs:annotation>
1498                        </xs:element>
1499                        <xs:element name="type" minOccurs="0" maxOccurs="1" type="xs:string">
1500                           <xs:annotation>
1501                              <xs:documentation>The type of item being referenced (should correspond to the name of the referenced XML element).</xs:documentation>
1502                           </xs:annotation>
1503                        </xs:element>
1504                        <xs:element name="version" minOccurs="0" maxOccurs="1" type="version">
1505                           <xs:annotation>
1506                              <xs:documentation>The version of the element being referenced.</xs:documentation>
1507                           </xs:annotation>
1508                        </xs:element>
1509                        <xs:element name="externalID" minOccurs="0" maxOccurs="unbounded" type="StandardName">
1510                           <xs:annotation>
1511                              <xs:documentation>A non-CIM (non-GUID) id used to reference the element in question.</xs:documentation>
1512                           </xs:annotation>
1513                        </xs:element>
1514                        <xs:element name="description" minOccurs="0" maxOccurs="1" type="xs:string">
1515                           <xs:annotation>
1516                              <xs:documentation>A description of the element being referenced, in the context of the current class.</xs:documentation>
1517                           </xs:annotation>
1518                        </xs:element>
1519                        <xs:element name="change" minOccurs="0" maxOccurs="unbounded" type="Change">
1520                           <xs:annotation>
1521                              <xs:documentation>An optional description of how the item being referenced has been modified.  This is particularly useful for dealing with Ensembles (a set of simulations where something about each simulation has changed) or Conformances.</xs:documentation>
1522                           </xs:annotation>
1523                        </xs:element>
1524                     </xs:sequence>
1525                     <xs:attribute ref="xlink:href" use="optional"/>
1526                  </xs:complexType>
1527               </xs:element>
1528               <!-- this is an abstract class --><xs:element name="spinupSimulation" minOccurs="0" maxOccurs="1">
1529                  <xs:complexType>
1530                     <xs:choice minOccurs="1" maxOccurs="1">
1531                        <xs:element ref="simulationRun"/>
1532                        <xs:element name="assimilation" type="Assimilation"/>
1533                        <xs:element ref="simulationComposite"/>
1534                     </xs:choice>
1535                  </xs:complexType>
1536               </xs:element>
1537            </xs:choice>
1538         </xs:complexType>
1539      </xs:element>
1540      <xs:element name="controlSimulation" minOccurs="0" maxOccurs="1">
1541         <xs:annotation>
1542            <xs:documentation>Points to a simulation being used as the basis (control) run.  Note that only "derived" simulations can describe something as being control; a simulation should not know if it is being used itself as the control of some other run.</xs:documentation>
1543         </xs:annotation>
1544         <xs:complexType>
1545            <xs:choice>
1546               <xs:element name="reference">
1547                  <xs:complexType>
1548                     <xs:sequence>
1549                        <xs:element name="id" minOccurs="0" maxOccurs="1" type="guid">
1550                           <xs:annotation>
1551                              <xs:documentation>the ID of the element being referenced.</xs:documentation>
1552                           </xs:annotation>
1553                        </xs:element>
1554                        <xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string">
1555                           <xs:annotation>
1556                              <xs:documentation>The name of the instance being referenced.</xs:documentation>
1557                           </xs:annotation>
1558                        </xs:element>
1559                        <xs:element name="type" minOccurs="0" maxOccurs="1" type="xs:string">
1560                           <xs:annotation>
1561                              <xs:documentation>The type of item being referenced (should correspond to the name of the referenced XML element).</xs:documentation>
1562                           </xs:annotation>
1563                        </xs:element>
1564                        <xs:element name="version" minOccurs="0" maxOccurs="1" type="version">
1565                           <xs:annotation>
1566                              <xs:documentation>The version of the element being referenced.</xs:documentation>
1567                           </xs:annotation>
1568                        </xs:element>
1569                        <xs:element name="externalID" minOccurs="0" maxOccurs="unbounded" type="StandardName">
1570                           <xs:annotation>
1571                              <xs:documentation>A non-CIM (non-GUID) id used to reference the element in question.</xs:documentation>
1572                           </xs:annotation>
1573                        </xs:element>
1574                        <xs:element name="description" minOccurs="0" maxOccurs="1" type="xs:string">
1575                           <xs:annotation>
1576                              <xs:documentation>A description of the element being referenced, in the context of the current class.</xs:documentation>
1577                           </xs:annotation>
1578                        </xs:element>
1579                        <xs:element name="change" minOccurs="0" maxOccurs="unbounded" type="Change">
1580                           <xs:annotation>
1581                              <xs:documentation>An optional description of how the item being referenced has been modified.  This is particularly useful for dealing with Ensembles (a set of simulations where something about each simulation has changed) or Conformances.</xs:documentation>
1582                           </xs:annotation>
1583                        </xs:element>
1584                     </xs:sequence>
1585                     <xs:attribute ref="xlink:href" use="optional"/>
1586                  </xs:complexType>
1587               </xs:element>
1588               <!-- this is an abstract class --><xs:element name="controlSimulation" minOccurs="0" maxOccurs="1">
1589                  <xs:complexType>
1590                     <xs:choice minOccurs="1" maxOccurs="1">
1591                        <xs:element ref="simulationRun"/>
1592                        <xs:element name="assimilation" type="Assimilation"/>
1593                        <xs:element ref="simulationComposite"/>
1594                     </xs:choice>
1595                  </xs:complexType>
1596               </xs:element>
1597            </xs:choice>
1598         </xs:complexType>
1599      </xs:element>
1600      <xs:element name="conformance" minOccurs="0" maxOccurs="unbounded" type="Conformance"/>
1601      <xs:element name="deployment" minOccurs="0" maxOccurs="unbounded" type="Deployment"/>
1602   </xs:sequence> 
1603                            </xs:extension>
1604                            </xs:complexContent>
1605                        </xs:complexType>
1606<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="DataCollection">
1607   <xs:annotation>
1608      <xs:documentation>A DataCollection activity is one which is not aimed at supporting any specific experiment. </xs:documentation>
1609   </xs:annotation>
1610                        <xs:complexContent>
1611                        <xs:extension base="Project">
1612                    <xs:sequence><!-- this is an abstract class --><xs:element name="Duration" minOccurs="1" maxOccurs="1">
1613         <xs:complexType>
1614            <xs:choice minOccurs="1" maxOccurs="1">
1615               <xs:element name="closedDateRange" type="ClosedDateRange"/>
1616               <xs:element name="openDateRange" type="OpenDateRange"/>
1617            </xs:choice>
1618         </xs:complexType>
1619      </xs:element>
1620      <xs:element name="assimilation" minOccurs="0" maxOccurs="unbounded" type="Assimilation"/>
1621   </xs:sequence> 
1622                            </xs:extension>
1623                            </xs:complexContent>
1624                        </xs:complexType>
1625<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="Ensemble">
1626   <xs:annotation>
1627      <xs:documentation>An ensemble is made up of two or more simulations which are to be compared against each other to create ensemble statistics. Ensemble members can differ in terms of initial conditions, physical parameterisation and the model used. 
1628
1629An ensemble bundles together sets of ensembleMembers, all of which reference the same Simulation(Run) and include one or more changes.</xs:documentation>
1630   </xs:annotation>
1631                        <xs:complexContent>
1632                        <xs:extension base="NumericalActivity">
1633                    <xs:sequence>
1634      <xs:element name="output" minOccurs="0" maxOccurs="unbounded">
1635         <xs:complexType>
1636            <xs:choice>
1637               <xs:element name="reference">
1638                  <xs:complexType>
1639                     <xs:sequence>
1640                        <xs:element name="id" minOccurs="0" maxOccurs="1" type="guid">
1641                           <xs:annotation>
1642                              <xs:documentation>the ID of the element being referenced.</xs:documentation>
1643                           </xs:annotation>
1644                        </xs:element>
1645                        <xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string">
1646                           <xs:annotation>
1647                              <xs:documentation>The name of the instance being referenced.</xs:documentation>
1648                           </xs:annotation>
1649                        </xs:element>
1650                        <xs:element name="type" minOccurs="0" maxOccurs="1" type="xs:string">
1651                           <xs:annotation>
1652                              <xs:documentation>The type of item being referenced (should correspond to the name of the referenced XML element).</xs:documentation>
1653                           </xs:annotation>
1654                        </xs:element>
1655                        <xs:element name="version" minOccurs="0" maxOccurs="1" type="version">
1656                           <xs:annotation>
1657                              <xs:documentation>The version of the element being referenced.</xs:documentation>
1658                           </xs:annotation>
1659                        </xs:element>
1660                        <xs:element name="externalID" minOccurs="0" maxOccurs="unbounded" type="StandardName">
1661                           <xs:annotation>
1662                              <xs:documentation>A non-CIM (non-GUID) id used to reference the element in question.</xs:documentation>
1663                           </xs:annotation>
1664                        </xs:element>
1665                        <xs:element name="description" minOccurs="0" maxOccurs="1" type="xs:string">
1666                           <xs:annotation>
1667                              <xs:documentation>A description of the element being referenced, in the context of the current class.</xs:documentation>
1668                           </xs:annotation>
1669                        </xs:element>
1670                        <xs:element name="change" minOccurs="0" maxOccurs="unbounded" type="Change">
1671                           <xs:annotation>
1672                              <xs:documentation>An optional description of how the item being referenced has been modified.  This is particularly useful for dealing with Ensembles (a set of simulations where something about each simulation has changed) or Conformances.</xs:documentation>
1673                           </xs:annotation>
1674                        </xs:element>
1675                     </xs:sequence>
1676                     <xs:attribute ref="xlink:href" use="optional"/>
1677                  </xs:complexType>
1678               </xs:element>
1679               <!-- this is an abstract class --><xs:element name="output" minOccurs="0" maxOccurs="unbounded">
1680                  <xs:complexType>
1681                     <xs:choice minOccurs="1" maxOccurs="1">
1682                        <xs:element ref="dataObject"/>
1683                        <xs:element name="dataContent" type="DataContent"/>
1684                        <xs:element name="componentProperty" type="ComponentProperty"/>
1685                        <xs:element name="softwareComponent" type="SoftwareComponent"/>
1686                     </xs:choice>
1687                  </xs:complexType>
1688               </xs:element>
1689            </xs:choice>
1690         </xs:complexType>
1691      </xs:element>
1692      <xs:element name="ensembleType" minOccurs="1" maxOccurs="unbounded" type="EnsembleType"/>
1693      <xs:element name="ensembleMember" minOccurs="2" maxOccurs="unbounded" type="EnsembleMember"/>
1694   </xs:sequence> 
1695                            </xs:extension>
1696                            </xs:complexContent>
1697                        </xs:complexType>
1698<xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="ensemble">
1699   <xs:annotation>
1700      <xs:documentation>An ensemble is made up of two or more simulations which are to be compared against each other to create ensemble statistics. Ensemble members can differ in terms of initial conditions, physical parameterisation and the model used. 
1701
1702An ensemble bundles together sets of ensembleMembers, all of which reference the same Simulation(Run) and include one or more changes.</xs:documentation>
1703   </xs:annotation>
1704   <xs:complexType>
1705      <xs:complexContent>
1706         <xs:extension base="Ensemble">
1707            <xs:sequence>
1708               <xs:element name="documentID" minOccurs="1" maxOccurs="1" type="guid">
1709                  <xs:annotation>
1710                     <xs:documentation>a unique indentifier for this document</xs:documentation>
1711                  </xs:annotation>
1712               </xs:element>
1713               <xs:element name="documentVersion" minOccurs="1" maxOccurs="1" type="version"/>
1714               <xs:element name="metadataID" minOccurs="0" maxOccurs="1" type="xs:anyURI"/>
1715               <xs:element name="metadataVersion" minOccurs="0" maxOccurs="1" type="version"/>
1716               <xs:element name="externalID" minOccurs="0" maxOccurs="unbounded" type="StandardName">
1717                  <xs:annotation>
1718                     <xs:documentation>The id of this document as referenced by an external body (ie: DOI, or even IPSL)</xs:documentation>
1719                  </xs:annotation>
1720               </xs:element>
1721               <xs:element name="documentAuthor" minOccurs="0" maxOccurs="1" type="ResponsibleParty">
1722                  <xs:annotation>
1723                     <xs:documentation>A contact for the author of this <i>document </i>(as opposed to the author of the artifact being described by this document; ie: the simulation or component or whatever).</xs:documentation>
1724                  </xs:annotation>
1725               </xs:element>
1726               <xs:element name="documentCreationDate" minOccurs="1" maxOccurs="1" type="xs:dateTime">
1727                  <xs:annotation>
1728                     <xs:documentation>The date the <i>document </i>was created.</xs:documentation>
1729                  </xs:annotation>
1730               </xs:element>
1731               <xs:element name="documentGenealogy" minOccurs="0" maxOccurs="1" type="Genealogy">
1732                  <xs:annotation>
1733                     <xs:documentation>Specifies the relationship of this document with another document. Various relationship types (depending on the type of document; ie: simulation, component, etc.) are supported.</xs:documentation>
1734                  </xs:annotation>
1735               </xs:element>
1736               <xs:element name="quality" minOccurs="0" maxOccurs="unbounded" type="Quality">
1737                  <xs:annotation>
1738                     <xs:documentation>a (set of) quality record(s) for this document.</xs:documentation>
1739                  </xs:annotation>
1740               </xs:element>
1741            </xs:sequence>
1742            <xs:attribute name="documentStatus" use="optional" type="DocumentStatusType"/>
1743         </xs:extension>
1744      </xs:complexContent>
1745   </xs:complexType>
1746</xs:element>
1747<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="EnsembleType" mixed="true">
1748   <xs:sequence>
1749      <xs:element name="vocabularyServer" minOccurs="0">
1750         <xs:complexType>
1751            <xs:sequence>
1752               <xs:element name="vocabularyName" type="xs:string"/>
1753               <xs:element name="vocabularyVersion" minOccurs="0" type="version"/>
1754               <xs:element name="vocabularyDetails" type="xs:string" minOccurs="0">
1755                  <xs:annotation>
1756                     <xs:documentation>information about how to access the vocabulary
1757                                    </xs:documentation>
1758                  </xs:annotation>
1759               </xs:element>
1760            </xs:sequence>
1761            <xs:attribute name="href" type="xs:anyURI"/>
1762         </xs:complexType>
1763      </xs:element>
1764   </xs:sequence>
1765   <xs:attribute name="value" type="EnsembleType_Enumeration" use="required"/>
1766</xs:complexType>
1767<xs:simpleType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="EnsembleType_Enumeration">
1768   <xs:restriction base="xs:string">
1769      <xs:enumeration value="Perturbed Boundary Conditions"/>
1770      <xs:enumeration value="Cross Model"/>
1771      <xs:enumeration value="Initial Condition"/>
1772      <xs:enumeration value="Model Modification"/>
1773      <xs:enumeration value="Staggered Start"/>
1774      <xs:enumeration value="Perturbed Physics"/>
1775      <xs:enumeration value="Other"/>
1776   </xs:restriction>
1777</xs:simpleType>
1778<xs:simpleType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="FixityType">
1779   <xs:restriction base="xs:string">
1780      <xs:enumeration value="stationary"/>
1781      <xs:enumeration value="moving"/>
1782   </xs:restriction>
1783</xs:simpleType>
1784<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="FrequencyType" mixed="true">
1785   <xs:annotation>
1786      <xs:documentation>Measures of frequency.</xs:documentation>
1787   </xs:annotation>
1788   <xs:sequence>
1789      <xs:element name="vocabularyServer" minOccurs="0">
1790         <xs:complexType>
1791            <xs:sequence>
1792               <xs:element name="vocabularyName" type="xs:string"/>
1793               <xs:element name="vocabularyVersion" minOccurs="0" type="version"/>
1794               <xs:element name="vocabularyDetails" type="xs:string" minOccurs="0">
1795                  <xs:annotation>
1796                     <xs:documentation>information about how to access the vocabulary
1797                                    </xs:documentation>
1798                  </xs:annotation>
1799               </xs:element>
1800            </xs:sequence>
1801            <xs:attribute name="href" type="xs:anyURI"/>
1802         </xs:complexType>
1803      </xs:element>
1804   </xs:sequence>
1805   <xs:attribute name="value" type="FrequencyType_Enumeration" use="required"/>
1806</xs:complexType>
1807<xs:simpleType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="FrequencyType_Enumeration">
1808   <xs:restriction base="xs:string">
1809      <xs:enumeration value="daily"/>
1810      <xs:enumeration value="monthly"/>
1811      <xs:enumeration value="yearly"/>
1812      <xs:enumeration value="hourly"/>
1813      <xs:enumeration value="Other"/>
1814   </xs:restriction>
1815</xs:simpleType>
1816<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="InitialCondition">
1817   <xs:annotation>
1818      <xs:documentation>An initial condition is a numerical requirement on a model prognostic variable value at time zero.</xs:documentation>
1819   </xs:annotation>
1820                        <xs:complexContent>
1821                        <xs:extension base="NumericalRequirement">
1822                    <xs:sequence>
1823      <xs:element name="source" minOccurs="0" maxOccurs="1">
1824         <xs:complexType>
1825            <xs:choice>
1826               <xs:element name="reference">
1827                  <xs:complexType>
1828                     <xs:sequence>
1829                        <xs:element name="id" minOccurs="0" maxOccurs="1" type="guid">
1830                           <xs:annotation>
1831                              <xs:documentation>the ID of the element being referenced.</xs:documentation>
1832                           </xs:annotation>
1833                        </xs:element>
1834                        <xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string">
1835                           <xs:annotation>
1836                              <xs:documentation>The name of the instance being referenced.</xs:documentation>
1837                           </xs:annotation>
1838                        </xs:element>
1839                        <xs:element name="type" minOccurs="0" maxOccurs="1" type="xs:string">
1840                           <xs:annotation>
1841                              <xs:documentation>The type of item being referenced (should correspond to the name of the referenced XML element).</xs:documentation>
1842                           </xs:annotation>
1843                        </xs:element>
1844                        <xs:element name="version" minOccurs="0" maxOccurs="1" type="version">
1845                           <xs:annotation>
1846                              <xs:documentation>The version of the element being referenced.</xs:documentation>
1847                           </xs:annotation>
1848                        </xs:element>
1849                        <xs:element name="externalID" minOccurs="0" maxOccurs="unbounded" type="StandardName">
1850                           <xs:annotation>
1851                              <xs:documentation>A non-CIM (non-GUID) id used to reference the element in question.</xs:documentation>
1852                           </xs:annotation>
1853                        </xs:element>
1854                        <xs:element name="description" minOccurs="0" maxOccurs="1" type="xs:string">
1855                           <xs:annotation>
1856                              <xs:documentation>A description of the element being referenced, in the context of the current class.</xs:documentation>
1857                           </xs:annotation>
1858                        </xs:element>
1859                        <xs:element name="change" minOccurs="0" maxOccurs="unbounded" type="Change">
1860                           <xs:annotation>
1861                              <xs:documentation>An optional description of how the item being referenced has been modified.  This is particularly useful for dealing with Ensembles (a set of simulations where something about each simulation has changed) or Conformances.</xs:documentation>
1862                           </xs:annotation>
1863                        </xs:element>
1864                     </xs:sequence>
1865                     <xs:attribute ref="xlink:href" use="optional"/>
1866                  </xs:complexType>
1867               </xs:element>
1868               <!-- this is an abstract class --><xs:element name="source" minOccurs="0" maxOccurs="1">
1869                  <xs:complexType>
1870                     <xs:choice minOccurs="1" maxOccurs="1">
1871                        <xs:element ref="dataObject"/>
1872                        <xs:element name="dataContent" type="DataContent"/>
1873                        <xs:element name="componentProperty" type="ComponentProperty"/>
1874                        <xs:element name="softwareComponent" type="SoftwareComponent"/>
1875                     </xs:choice>
1876                  </xs:complexType>
1877               </xs:element>
1878            </xs:choice>
1879         </xs:complexType>
1880      </xs:element>
1881   </xs:sequence> 
1882                            </xs:extension>
1883                            </xs:complexContent>
1884                        </xs:complexType>
1885<xs:simpleType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="SimulationRelationshipType">
1886   <xs:restriction base="xs:string">
1887      <xs:enumeration value="extensionOf"/>
1888      <xs:enumeration value="responseTo"/>
1889      <xs:enumeration value="continuationOf"/>
1890      <xs:enumeration value="previousSimulation"/>
1891      <xs:enumeration value="higherResolutionVersionOf"/>
1892      <xs:enumeration value="lowerResolutionVersionOf"/>
1893      <xs:enumeration value="fixedVersionOf"/>
1894   </xs:restriction>
1895</xs:simpleType>
1896<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="Experiment">
1897   <xs:annotation>
1898      <xs:documentation>An experiment might be an activity which is both observational and numerical in focus, for example, a measurement campaign and numerical experiments for an alpine experiment.
1899It is a place for the scientific description of the reason why an experiment was made.</xs:documentation>
1900   </xs:annotation>
1901                        <xs:complexContent>
1902                        <xs:extension base="Activity">
1903                    <xs:sequence><!-- this is an abstract class --><xs:element name="duration" minOccurs="0" maxOccurs="1">
1904         <xs:complexType>
1905            <xs:choice minOccurs="1" maxOccurs="1">
1906               <xs:element name="closedDateRange" type="ClosedDateRange"/>
1907               <xs:element name="openDateRange" type="OpenDateRange"/>
1908            </xs:choice>
1909         </xs:complexType>
1910      </xs:element>
1911      <xs:element name="measurementCampaign" minOccurs="0" maxOccurs="unbounded"
1912                  type="MeasurementCampaign"/>
1913      <xs:element name="requires" minOccurs="0" maxOccurs="unbounded">
1914         <xs:complexType>
1915            <xs:choice>
1916               <xs:element name="reference">
1917                  <xs:complexType>
1918                     <xs:sequence>
1919                        <xs:element name="id" minOccurs="0" maxOccurs="1" type="guid">
1920                           <xs:annotation>
1921                              <xs:documentation>the ID of the element being referenced.</xs:documentation>
1922                           </xs:annotation>
1923                        </xs:element>
1924                        <xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string">
1925                           <xs:annotation>
1926                              <xs:documentation>The name of the instance being referenced.</xs:documentation>
1927                           </xs:annotation>
1928                        </xs:element>
1929                        <xs:element name="type" minOccurs="0" maxOccurs="1" type="xs:string">
1930                           <xs:annotation>
1931                              <xs:documentation>The type of item being referenced (should correspond to the name of the referenced XML element).</xs:documentation>
1932                           </xs:annotation>
1933                        </xs:element>
1934                        <xs:element name="version" minOccurs="0" maxOccurs="1" type="version">
1935                           <xs:annotation>
1936                              <xs:documentation>The version of the element being referenced.</xs:documentation>
1937                           </xs:annotation>
1938                        </xs:element>
1939                        <xs:element name="externalID" minOccurs="0" maxOccurs="unbounded" type="StandardName">
1940                           <xs:annotation>
1941                              <xs:documentation>A non-CIM (non-GUID) id used to reference the element in question.</xs:documentation>
1942                           </xs:annotation>
1943                        </xs:element>
1944                        <xs:element name="description" minOccurs="0" maxOccurs="1" type="xs:string">
1945                           <xs:annotation>
1946                              <xs:documentation>A description of the element being referenced, in the context of the current class.</xs:documentation>
1947                           </xs:annotation>
1948                        </xs:element>
1949                        <xs:element name="change" minOccurs="0" maxOccurs="unbounded" type="Change">
1950                           <xs:annotation>
1951                              <xs:documentation>An optional description of how the item being referenced has been modified.  This is particularly useful for dealing with Ensembles (a set of simulations where something about each simulation has changed) or Conformances.</xs:documentation>
1952                           </xs:annotation>
1953                        </xs:element>
1954                     </xs:sequence>
1955                     <xs:attribute ref="xlink:href" use="optional"/>
1956                  </xs:complexType>
1957               </xs:element>
1958               <!-- this is an abstract class --><xs:element name="requires" minOccurs="0" maxOccurs="unbounded">
1959                  <xs:complexType>
1960                     <xs:choice minOccurs="1" maxOccurs="1">
1961                        <xs:element ref="ensemble"/>
1962                        <xs:element name="simulation" type="Simulation"/>
1963                        <xs:element ref="dataProcessing"/>
1964                     </xs:choice>
1965                  </xs:complexType>
1966               </xs:element>
1967            </xs:choice>
1968         </xs:complexType>
1969      </xs:element>
1970      <xs:element name="generates" minOccurs="0" maxOccurs="unbounded">
1971         <xs:complexType>
1972            <xs:choice>
1973               <xs:element name="reference">
1974                  <xs:complexType>
1975                     <xs:sequence>
1976                        <xs:element name="id" minOccurs="0" maxOccurs="1" type="guid">
1977                           <xs:annotation>
1978                              <xs:documentation>the ID of the element being referenced.</xs:documentation>
1979                           </xs:annotation>
1980                        </xs:element>
1981                        <xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string">
1982                           <xs:annotation>
1983                              <xs:documentation>The name of the instance being referenced.</xs:documentation>
1984                           </xs:annotation>
1985                        </xs:element>
1986                        <xs:element name="type" minOccurs="0" maxOccurs="1" type="xs:string">
1987                           <xs:annotation>
1988                              <xs:documentation>The type of item being referenced (should correspond to the name of the referenced XML element).</xs:documentation>
1989                           </xs:annotation>
1990                        </xs:element>
1991                        <xs:element name="version" minOccurs="0" maxOccurs="1" type="version">
1992                           <xs:annotation>
1993                              <xs:documentation>The version of the element being referenced.</xs:documentation>
1994                           </xs:annotation>
1995                        </xs:element>
1996                        <xs:element name="externalID" minOccurs="0" maxOccurs="unbounded" type="StandardName">
1997                           <xs:annotation>
1998                              <xs:documentation>A non-CIM (non-GUID) id used to reference the element in question.</xs:documentation>
1999                           </xs:annotation>
2000                        </xs:element>
2001                        <xs:element name="description" minOccurs="0" maxOccurs="1" type="xs:string">
2002                           <xs:annotation>
2003                              <xs:documentation>A description of the element being referenced, in the context of the current class.</xs:documentation>
2004                           </xs:annotation>
2005                        </xs:element>
2006                        <xs:element name="change" minOccurs="0" maxOccurs="unbounded" type="Change">
2007                           <xs:annotation>
2008                              <xs:documentation>An optional description of how the item being referenced has been modified.  This is particularly useful for dealing with Ensembles (a set of simulations where something about each simulation has changed) or Conformances.</xs:documentation>
2009                           </xs:annotation>
2010                        </xs:element>
2011                     </xs:sequence>
2012                     <xs:attribute ref="xlink:href" use="optional"/>
2013                  </xs:complexType>
2014               </xs:element>
2015               <xs:element ref="numericalExperiment"/>
2016            </xs:choice>
2017         </xs:complexType>
2018      </xs:element>
2019   </xs:sequence> 
2020                            </xs:extension>
2021                            </xs:complexContent>
2022                        </xs:complexType>
2023<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="ResolutionType" mixed="true">
2024   <xs:sequence>
2025      <xs:element name="vocabularyServer" minOccurs="0">
2026         <xs:complexType>
2027            <xs:sequence>
2028               <xs:element name="vocabularyName" type="xs:string"/>
2029               <xs:element name="vocabularyVersion" minOccurs="0" type="version"/>
2030               <xs:element name="vocabularyDetails" type="xs:string" minOccurs="0">
2031                  <xs:annotation>
2032                     <xs:documentation>information about how to access the vocabulary
2033                                    </xs:documentation>
2034                  </xs:annotation>
2035               </xs:element>
2036            </xs:sequence>
2037            <xs:attribute name="href" type="xs:anyURI"/>
2038         </xs:complexType>
2039      </xs:element>
2040   </xs:sequence>
2041   <xs:attribute name="value" type="ResolutionType_Enumeration" use="required"/>
2042</xs:complexType>
2043<xs:simpleType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="ResolutionType_Enumeration">
2044   <xs:restriction base="xs:string">
2045      <xs:enumeration value="Other"/>
2046   </xs:restriction>
2047</xs:simpleType>
2048<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="MIP">
2049   <xs:annotation>
2050      <xs:documentation>Model Intercomparison Project. Exmaple: CMIP5 and CCMVal. A MIP aggregates together many Numerical Experiments.  A MIP contains a reference to at least two experiments.</xs:documentation>
2051   </xs:annotation>
2052                        <xs:complexContent>
2053                        <xs:extension base="Project">
2054                    <xs:sequence>
2055      <xs:element name="numericalExperiment" minOccurs="2" maxOccurs="unbounded">
2056         <xs:annotation>
2057            <xs:documentation>A NumericalExperiment to compare</xs:documentation>
2058         </xs:annotation>
2059         <xs:complexType>
2060            <xs:choice>
2061               <xs:element name="reference">
2062                  <xs:complexType>
2063                     <xs:sequence>
2064                        <xs:element name="id" minOccurs="0" maxOccurs="1" type="guid">
2065                           <xs:annotation>
2066                              <xs:documentation>the ID of the element being referenced.</xs:documentation>
2067                           </xs:annotation>
2068                        </xs:element>
2069                        <xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string">
2070                           <xs:annotation>
2071                              <xs:documentation>The name of the instance being referenced.</xs:documentation>
2072                           </xs:annotation>
2073                        </xs:element>
2074                        <xs:element name="type" minOccurs="0" maxOccurs="1" type="xs:string">
2075                           <xs:annotation>
2076                              <xs:documentation>The type of item being referenced (should correspond to the name of the referenced XML element).</xs:documentation>
2077                           </xs:annotation>
2078                        </xs:element>
2079                        <xs:element name="version" minOccurs="0" maxOccurs="1" type="version">
2080                           <xs:annotation>
2081                              <xs:documentation>The version of the element being referenced.</xs:documentation>
2082                           </xs:annotation>
2083                        </xs:element>
2084                        <xs:element name="externalID" minOccurs="0" maxOccurs="unbounded" type="StandardName">
2085                           <xs:annotation>
2086                              <xs:documentation>A non-CIM (non-GUID) id used to reference the element in question.</xs:documentation>
2087                           </xs:annotation>
2088                        </xs:element>
2089                        <xs:element name="description" minOccurs="0" maxOccurs="1" type="xs:string">
2090                           <xs:annotation>
2091                              <xs:documentation>A description of the element being referenced, in the context of the current class.</xs:documentation>
2092                           </xs:annotation>
2093                        </xs:element>
2094                        <xs:element name="change" minOccurs="0" maxOccurs="unbounded" type="Change">
2095                           <xs:annotation>
2096                              <xs:documentation>An optional description of how the item being referenced has been modified.  This is particularly useful for dealing with Ensembles (a set of simulations where something about each simulation has changed) or Conformances.</xs:documentation>
2097                           </xs:annotation>
2098                        </xs:element>
2099                     </xs:sequence>
2100                     <xs:attribute ref="xlink:href" use="optional"/>
2101                  </xs:complexType>
2102               </xs:element>
2103               <xs:element ref="numericalExperiment"/>
2104            </xs:choice>
2105         </xs:complexType>
2106      </xs:element>
2107   </xs:sequence> 
2108                            </xs:extension>
2109                            </xs:complexContent>
2110                        </xs:complexType>       
2111</xs:schema>
Note: See TracBrowser for help on using the repository browser.