-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathworkflow.xml
204 lines (204 loc) · 10.1 KB
/
workflow.xml
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
<tool id='mdlite_id' name='mdlite_name'>
<command interpreter='bash'>workflow.sh</command>
<inputs>
<param name='pw_conda_yaml'
label='PW Conda YAML Definition File' type='hidden'
value='./requirements/conda_env_local.yaml' width='50%_none'>
</param>
<param name='pw_conda_dir'
label='PW Conda Directory' type='hidden'
value='/pw/miniconda3' width='50%_none'>
</param>
<param name='pw_conda_env' label='PW Conda Environment Name'
type='hidden' value='mdlite' width='50%_none'>
</param>
<section name='pwrl_sim_host'
type='section' title='Simulation cluster' expanded='true'>
<param name='resource'
label='Workflow simulation host (cluster name)'
type='computeResource'
width='50%_none%'
help='Cluster to run simulation. Select a resource from drop down menu.'
hideUserWorkspace='true'>
</param>
<param name='nports'
label='Number of Ports to Reserve'
type='hidden' value='2' width='50%_none'>
</param>
<param name='worker_conda_yaml'
label='Worker Conda YAML Definition File' type='hidden'
value='./requirements/conda_env_remote.yaml' width='50%_none'>
</param>
<param name='worker_conda_dir'
label='Worker Conda Directory'
type='hidden' value='__workdir__/pw/miniconda' width='50%_none'>
</param>
<param name='worker_conda_env'
label='Worker Conda Environment Name'
type='hidden' value='mdlite' width='50%_none'>
</param>
<param name='cores_per_worker'
label='Cores per Worker' type='integer' min="1" max="100"
help='cores_per_worker parameter for the Parsl HighThroughputExecutor'
value='1' width='50%_none'>
</param>
<conditional name="jobschedulertype_cond">
<param name='jobschedulertype'
type='select' label='Select Controller, SLURM Partition or PBS Queue'
help='Job will submitted using SSH, sbatch or qsub, respectively'
width='50%_none' multiple='false'>
<option value="CONTROLLER">Controller</option>
<option value="SLURM" selected="true">SLURM Partition</option>
<option value="PBS">PBS Queue</option>
</param>
<when value="SLURM">
<param name='_parsl_provider_partition'
label='SLURM Partition' type='text' optional='true'
help='partition parameter for the Parsl SlurmProvider'
value='' width='50%_none'>
</param>
<param name='_parsl_provider_nodes_per_block'
label='Nodes per Block' type='integer' min="1" max="10"
help='nodes_per_block parameter for the Parsl SlurmProvider'
value='1' width='50%_none'>
</param>
<param name='_parsl_provider_cores_per_node'
label='Cores per Node' type='integer' min="1" max="200"
help='cores_per_node parameter for the Parsl SlurmProvider'
value='1' width='50%_none'>
</param>
<param name='_parsl_provider_exclusive'
label='Exclusive node use' type='boolean'
truevalue="True" falsevalue="False" checked="False"
help='Select Yes to request exclusive nodes; Parsl SlurmProvider.'
float="right" width='30%_none'>
</param>
<param name='_parsl_provider_walltime'
label='Walltime'
type='text' help='walltime parameter for the Parsl SlurmProvider'
value='01:00:00' width='50%_none'>
</param>
<param name='_parsl_provider_max_blocks'
label='Max Blocks' type='integer' min="1" max="10"
help='max_blocks parameter for the Parsl SlurmProvider'
value='1' width='50%_none'>
</param>
</when>
<when value="PBS">
<param name='_sch__d_q___'
label='PBS queue' type='text'
help='Queue to submit the interactive job. Must select one! Use [qstat -f -Q] to list all queues on the system'
value='' width='50%_none'>
</param>
<param name='scheduler_directives'
label='Scheduler directives' type='text'
help='e.g. -l mem=1000;-l nodes=1:ppn=4 - Use the semicolon character ; to separate parameters. Do not include the PBS keyword.'
value='-l walltime=01:00:00;-l nodes=1;-l naccesspolicy=SINGLEJOB -n' width='100%_none'>
</param>
</when>
</conditional>
</section>
<section name='pwrl_vis_host'
type='section' title='Visualization cluster' expanded='true'>
<param name='resource'
label='Workflow visualization host (cluster name)'
type='computeResource'
width='50%_none%'
help='Cluster to visualize simulation results; select from drop down menu.'
hideUserWorkspace='true'>
</param>
<param name='nports'
label='Number of Ports to Reserve'
type='hidden' value='2' width='50%_none'>
</param>
<param name='worker_conda_yaml'
label='Worker Conda YAML Definition File' type='hidden'
value='./requirements/conda_env_remote.yaml' width='50%_none'>
</param>
<param name='worker_conda_dir'
label='Worker Conda Directory'
type='hidden' value='__workdir__/pw/miniconda' width='50%_none'>
</param>
<param name='worker_conda_env'
label='Worker Conda Environment Name'
type='hidden' value='mdlite' width='50%_none'>
</param>
<param name='cores_per_worker'
label='Cores per Worker' type='integer' min="1" max="100"
help='cores_per_worker parameter for the Parsl HighThroughputExecutor'
value='1' width='50%_none'>
</param>
<conditional name="jobschedulertype_cond">
<param name='jobschedulertype'
type='select' label='Select Controller, SLURM Partition or PBS Queue'
help='Job will submitted using SSH, sbatch or qsub, respectively'
width='50%_none' multiple='false'>
<option value="CONTROLLER">Controller</option>
<option value="SLURM" selected="true">SLURM Partition</option>
<option value="PBS">PBS Queue</option>
</param>
<when value="SLURM">
<param name='_parsl_provider_partition'
label='SLURM Partition' type='text' optional='true'
help='partition parameter for the Parsl SlurmProvider'
value='' width='50%_none'>
</param>
<param name='_parsl_provider_nodes_per_block'
label='Nodes per Block' type='integer' min="1" max="10"
help='nodes_per_block parameter for the Parsl SlurmProvider'
value='1' width='50%_none'>
</param>
<param name='_parsl_provider_cores_per_node'
label='Cores per Node' type='integer' min="1" max="200"
help='cores_per_node parameter for the Parsl SlurmProvider'
value='1' width='50%_none'>
</param>
<param name='_parsl_provider_exclusive'
label='Exclusive node use' type='boolean'
truevalue="True" falsevalue="False" checked="False"
help='Select Yes to request exclusive nodes; Parsl SlurmProvider.'
float="right" width='30%_none'>
</param>
<param name='_parsl_provider_walltime'
label='Walltime' type='text'
help='walltime parameter for the Parsl SlurmProvider'
value='01:00:00' width='50%_none'>
</param>
<param name='_parsl_provider_max_blocks'
label='Max Blocks' type='integer' min="1" max="10"
help='max_blocks parameter for the Parsl SlurmProvider' value='1' width='50%_none'>
</param>
</when>
<when value="PBS">
<param name='_sch__d_q___'
label='PBS queue' type='text'
help='Queue to submit the interactive job. Must select one! Use [qstat -f -Q] to list all queues on the system'
value='' width='50%_none'>
</param>
<param name='scheduler_directives'
label='Scheduler directives' type='text'
help='e.g. -l mem=1000;-l nodes=1:ppn=4 - Use the semicolon character ; to separate parameters. Do not include the PBS keyword.'
value='-l walltime=01:00:00;-l nodes=1;-l naccesspolicy=SINGLEJOB -n' width='100%_none'>
</param>
</when>
</conditional>
</section>
<section name='geometry' type='section' title='Runtime Parameters' expanded='true'>
<param name='npart'
label='Number of Particles'
type='text' value='25:50:25'
width='50%'
help='Whitespace delimited or range/step (e.g. min:max:step)'
argument='input'>
</param>
<param name='steps' label='Timesteps' type='text' value='3000:6000:3000' width='50%' help='Whitespace delimited or range/step (e.g. min:max:step)' argument='input'></param>
<param name='mass' label='Particle Mass' type='text' value='0.01:0.02:0.01' width='50%' help='Whitespace delimited or range/step (e.g. min:max:step)' argument='input'></param>
<param name='trsnaps' label='Frames' type='text' value='5' width='50%' help='Whitespace delimited or range/step (e.g. min:max:step)' argument='input'></param>
</section>
<param name='run_in_notebook' label='Run in notebook?' type="boolean" truevalue="Yes" falsevalue="No" checked="False" help='Select Yes to run in a Jupyter notebook.' float="right" width='30%_none'></param>
</inputs>
<outputs>
<data name='csv' format='csv' label='${casename}-CSV'></data>
<data name='html' format='html' label='${casename}-HTML'></data>
</outputs>
</tool>