forked from ESMCI/cime
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig_batch.xsd
More file actions
221 lines (191 loc) · 8.25 KB
/
Copy pathconfig_batch.xsd
File metadata and controls
221 lines (191 loc) · 8.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
version="2.0">
<!-- attributes -->
<xs:attribute name="version" type="xs:decimal"/>
<xs:attribute name="queue" type="xs:string"/>
<xs:attribute name="MACH" type="xs:NCName"/>
<xs:attribute name="type" type="xs:NCName"/>
<!-- simple elements -->
<xs:element name="batch_submit" type="xs:string"/>
<xs:element name="batch_cancel" type="xs:string"/>
<xs:element name="batch_redirect" type="xs:string"/>
<xs:element name="batch_env" type="xs:string"/>
<xs:element name="batch_directive" type="xs:string"/>
<xs:element name="jobid_pattern" type="xs:string"/>
<xs:element name="depend_string" type="xs:string"/>
<xs:element name="depend_allow_string" type="xs:string"/>
<xs:element name="depend_separator" type="xs:string"/>
<xs:element name="walltime_format" type="xs:string"/>
<xs:element name="batch_mail_flag" type="xs:string"/>
<xs:element name="batch_mail_type_flag" type="xs:string"/>
<xs:element name="batch_mail_type" type="xs:string"/>
<xs:element name="batch_mail_default" type="xs:string"/>
<xs:element name="template" type="xs:anyURI"/>
<xs:element name="task_count" type="xs:integer"/>
<xs:element name="walltime" type="xs:string"/>
<xs:element name="dependency" type="xs:string"/>
<xs:element name="prereq" type="xs:string"/>
<xs:element name="unknown_queue_directives" type="xs:string"/>
<!-- complex elements -->
<xs:element name="config_batch">
<xs:complexType>
<xs:sequence>
<xs:element ref="batch_system" maxOccurs="unbounded" />
<xs:element ref="batch_jobs" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:attribute ref="version" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="batch_system">
<xs:complexType>
<xs:sequence>
<!-- batch_query: The query command used in this batch system
this field is not currently in use-->
<xs:element minOccurs="0" ref="batch_query"/>
<!-- batch_submit: The command used to submit jobs in this batch_system. -->
<xs:element minOccurs="0" ref="batch_submit"/>
<!-- batch_cancel: The command used to cancel jobs in this batch_system. -->
<xs:element minOccurs="0" ref="batch_cancel"/>
<!-- batch_redirect: some batch systems (lsf) require the script to be read from stdin,
this is the shell redirect to handle that -->
<xs:element minOccurs="0" ref="batch_redirect"/>
<!-- batch_env: The flag passed to submit command to set environment variable; only use if batch system doesn't support normal option passing -->
<xs:element minOccurs="0" ref="batch_env"/>
<!-- batch_directive: The prefix used for batch directives in script comments -->
<xs:element minOccurs="0" ref="batch_directive"/>
<!-- jobid_pattern: How to identify jobid in output from submit command, used in
submitting dependent jobs -->
<xs:element minOccurs="0" ref="jobid_pattern"/>
<!-- depend_string: How to indicate to batch system that this job should not run until
a previous job has completed successfully -->
<xs:element minOccurs="0" ref="depend_string"/>
<xs:element minOccurs="0" ref="depend_allow_string"/>
<!-- depend_separator: How to separate multiple batch job dependencies -->
<xs:element minOccurs="0" ref="depend_separator"/>
<!-- walltime_format: time format expected by batch system for the wall clock time field -->
<xs:element minOccurs="0" ref="walltime_format"/>
<!-- batch_mail_flag: user email flag expected by batch system -->
<xs:element minOccurs="0" ref="batch_mail_flag"/>
<!-- batch_mail_flag: user email type flag expected by batch system -->
<xs:element minOccurs="0" ref="batch_mail_type_flag"/>
<!-- batch_mail_flag: user email type expected by batch system -->
<xs:element minOccurs="0" ref="batch_mail_type"/>
<!-- batch_mail_flag: default user email type -->
<xs:element minOccurs="0" ref="batch_mail_default"/>
<!-- submit_args: A list of arguments to pass when submitting a job, queue, wallclock time
and project are typical sub fields -->
<xs:element minOccurs="0" ref="submit_args"/>
<!-- directives: A list of fields to provide in the script directives section,
be careful that these do not conflict with submit_args above -->
<xs:element minOccurs="0" maxOccurs="unbounded" ref="directives"/>
<!-- unknown_queue_directives: If the queue is not a known queue on
this machine, this specifies the queue name for which directives
are taken. i.e., assume that all unknown queues use the same
directives as this queue. (If this element is not present then
unknown queues use directives for the default queue on this
machine.) -->
<xs:element minOccurs="0" ref="unknown_queue_directives"/>
<!-- queues: The list of queue options for this machine, not all system queues need be listed
attributes of this field include walltimemin, walltimemax, nodemin and nodemax and strict
default wallclock time for a job is the walltimemax in this field -->
<xs:element minOccurs="0" ref="queues"/>
</xs:sequence>
<xs:attribute ref="MACH"/>
<xs:attribute ref="type" use="required"/>
<xs:attribute ref="version"/>
</xs:complexType>
</xs:element>
<xs:element name="batch_query">
<xs:complexType mixed="true">
<xs:attribute name="args"/>
<xs:attribute name="per_job_arg"/>
</xs:complexType>
</xs:element>
<xs:element name="submit_args">
<xs:complexType>
<xs:choice>
<xs:element name="arg" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="flag" use="required"/>
<xs:attribute name="name"/>
</xs:complexType>
</xs:element>
<xs:element name="argument" maxOccurs="unbounded">
<xs:complexType mixed="true">
<xs:attribute name="job_queue"/>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="arg">
<xs:complexType>
<xs:attribute name="flag" use="required"/>
<xs:attribute name="name"/>
</xs:complexType>
</xs:element>
<xs:element name="directives">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="directive"/>
</xs:sequence>
<xs:attribute ref="queue"/>
</xs:complexType>
</xs:element>
<xs:element name="directive">
<xs:complexType mixed="true">
<xs:attribute name="default"/>
<xs:attribute name="prefix"/>
<xs:attribute name="compiler"/>
<xs:attribute name="mpilib"/>
<xs:attribute name="threaded" type="xs:boolean"/>
<xs:attribute name="queue"/>
</xs:complexType>
</xs:element>
<xs:element name="queues">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="queue"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="queue">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="default" type="xs:boolean"/>
<xs:attribute name="strict" type="xs:boolean"/>
<xs:attribute name="nodemax" type="xs:integer"/>
<xs:attribute name="nodemin" type="xs:integer"/>
<xs:attribute name="jobmax" type="xs:integer"/>
<xs:attribute name="jobmin" type="xs:integer"/>
<xs:attribute name="jobname" type="xs:NCName"/>
<xs:attribute name="walltimemax"/>
<xs:attribute name="walltimemin"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="batch_jobs">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="job"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="job">
<xs:complexType>
<xs:sequence>
<xs:element ref="template"/>
<xs:element minOccurs="0" ref="task_count"/>
<xs:element minOccurs="0" ref="walltime"/>
<xs:element minOccurs="0" ref="dependency"/>
<xs:element ref="prereq"/>
</xs:sequence>
<xs:attribute name="name" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
</xs:schema>