1import sys
2
3import glob
4
5from ase.test.tasks.analyse import AnalyseSCFTask as Task
6
7rundefs = {
8    #
9    'm103poisson': 'Mixer(0.10, 3)',
10    #
11    'm103mp': 'Mixer(0.10, 3)',
12    'd203mp': 'MixerDif(0.20, 3)',
13    'dzpd203mp': 'MixerDif(0.20, 3)',
14    'cgm203mp': 'MixerDif(0.20, 3)',
15    'cgdzpm203mp': 'MixerDif(0.20, 3)',
16    'cgdzpd203mp': 'MixerDif(0.20, 3)',
17    #
18    'm251': 'Mixer(0.25, 1)',
19    'm252': 'Mixer(0.25, 2)',
20    'm253': 'Mixer(0.25, 3)',
21    'm254': 'Mixer(0.25, 4)',
22    'm255': 'Mixer(0.25, 5)',
23    'm256': 'Mixer(0.25, 6)',
24    'm257': 'Mixer(0.25, 7)',
25    #
26    'm201': 'Mixer(0.20, 1)',
27    'm202': 'Mixer(0.20, 2)',
28    'm203': 'Mixer(0.20, 3)',
29    'm204': 'Mixer(0.20, 4)',
30    'm205': 'Mixer(0.20, 5)',
31    'm206': 'Mixer(0.20, 6)',
32    'm207': 'Mixer(0.20, 7)',
33    #
34    'm151': 'Mixer(0.15, 1)',
35    'm152': 'Mixer(0.15, 2)',
36    'm153': 'Mixer(0.15, 3)',
37    'm154': 'Mixer(0.15, 4)',
38    'm155': 'Mixer(0.15, 5)',
39    'm156': 'Mixer(0.15, 6)',
40    'm157': 'Mixer(0.15, 7)',
41    #
42    'inititer00m': 'Mixer()',
43    'inititer01m': 'Mixer()',
44    'inititer02m': 'Mixer()',
45    'inititer03m': 'Mixer()',
46    'inititer04m': 'Mixer()',
47    'inititer05m': 'Mixer()',
48    'inititer06m': 'Mixer()',
49    'inititer07m': 'Mixer()',
50    'inititer08m': 'Mixer()',
51    'inititer09m': 'Mixer()',
52    'inititer10m': 'Mixer()',
53    'inititer15m': 'Mixer()',
54    'inititer20m': 'Mixer()',
55    #
56    'inititer05m051': 'Mixer(0.05, 1)',
57    'inititer05m052': 'Mixer(0.05, 2)',
58    'inititer05m101': 'Mixer(0.10, 1)',
59    'inititer05m102': 'Mixer(0.10, 2)',
60    'inititer10m051': 'Mixer(0.05, 1)',
61    'inititer10m052': 'Mixer(0.05, 2)',
62    'inititer10m101': 'Mixer(0.10, 1)',
63    'inititer10m102': 'Mixer(0.10, 2)',
64    'inititer20m051': 'Mixer(0.05, 1)',
65    'inititer20m052': 'Mixer(0.05, 2)',
66    'inititer20m101': 'Mixer(0.10, 1)',
67    'inititer20m102': 'Mixer(0.10, 2)',
68    #
69    'inititer00d': 'MixerDif()',
70    'inititer01d': 'MixerDif()',
71    'inititer02d': 'MixerDif()',
72    'inititer03d': 'MixerDif()',
73    'inititer04d': 'MixerDif()',
74    'inititer05d': 'MixerDif()',
75    'inititer06d': 'MixerDif()',
76    'inititer07d': 'MixerDif()',
77    'inititer08d': 'MixerDif()',
78    'inititer09d': 'MixerDif()',
79    'inititer10d': 'MixerDif()',
80    'inititer15d': 'MixerDif()',
81    'inititer20d': 'MixerDif()',
82    #
83    'inititer05d051': 'MixerDif(0.05, 1)',
84    'inititer05d052': 'MixerDif(0.05, 2)',
85    'inititer05d101': 'MixerDif(0.10, 1)',
86    'inititer05d102': 'MixerDif(0.10, 2)',
87    'inititer10d051': 'MixerDif(0.05, 1)',
88    'inititer10d052': 'MixerDif(0.05, 2)',
89    'inititer10d101': 'MixerDif(0.10, 1)',
90    'inititer10d102': 'MixerDif(0.10, 2)',
91    'inititer20d051': 'MixerDif(0.05, 1)',
92    'inititer20d052': 'MixerDif(0.05, 2)',
93    'inititer20d101': 'MixerDif(0.10, 1)',
94    'inititer20d102': 'MixerDif(0.10, 2)',
95    #
96    'bands00m': 'Mixer()',
97    'bands01m': 'Mixer()',
98    'bands02m': 'Mixer()',
99    'bands03m': 'Mixer()',
100    'bands04m': 'Mixer()',
101    'bands05m': 'Mixer()',
102    'bands06m': 'Mixer()',
103    'bands07m': 'Mixer()',
104    'bands08m': 'Mixer()',
105    'bands09m': 'Mixer()',
106    'bands10m': 'Mixer()',
107    'bands15m': 'Mixer()',
108    'bands20m': 'Mixer()',
109    #
110    'bands01cgm': 'Mixer()',
111    'bands02cgm': 'Mixer()',
112    'bands03cgm': 'Mixer()',
113    'bands04cgm': 'Mixer()',
114    'bands05cgm': 'Mixer()',
115    'bands06cgm': 'Mixer()',
116    'bands07cgm': 'Mixer()',
117    'bands08cgm': 'Mixer()',
118    'bands09cgm': 'Mixer()',
119    'bands10cgm': 'Mixer()',
120    'bands15cgm': 'Mixer()',
121    'bands20cgm': 'Mixer()',
122    #
123    'mw1': 'Mixer(weight=1)',
124    'mw25': 'Mixer(weight=25)',
125    'mw50': 'Mixer(weight=50)',
126    'mw100': 'Mixer(weight=100)',
127    'mw200': 'Mixer(weight=200)',
128    #
129    'm101': 'Mixer(0.10, 1)',
130    'm102': 'Mixer(0.10, 2)',
131    'm103': 'Mixer(0.10, 3)',  # default
132    'm104': 'Mixer(0.10, 4)',
133    'm105': 'Mixer(0.10, 5)',
134    'm106': 'Mixer(0.10, 6)',
135    'm107': 'Mixer(0.10, 7)',
136    #
137    'm051': 'Mixer(0.05, 1)',
138    'm052': 'Mixer(0.05, 2)',
139    'm053': 'Mixer(0.05, 3)',
140    'm054': 'Mixer(0.05, 4)',
141    'm055': 'Mixer(0.05, 5)',
142    'm056': 'Mixer(0.05, 6)',
143    'm057': 'Mixer(0.05, 7)',
144    #
145    'm302': 'Mixer(0.30, 2)',
146    'm303': 'Mixer(0.30, 3)',
147    'm304': 'Mixer(0.30, 4)',
148    'm305': 'Mixer(0.30, 5)',
149    'm306': 'Mixer(0.30, 6)',
150    'm307': 'Mixer(0.30, 7)',
151    'm308': 'Mixer(0.30, 8)',
152    'm352': 'Mixer(0.35, 2)',
153    'm353': 'Mixer(0.35, 3)',
154    'm354': 'Mixer(0.35, 4)',
155    'm355': 'Mixer(0.35, 5)',
156    'm356': 'Mixer(0.35, 6)',
157    'm357': 'Mixer(0.35, 7)',
158    'm358': 'Mixer(0.35, 8)',
159    'm402': 'Mixer(0.40, 2)',
160    'm403': 'Mixer(0.40, 3)',
161    'm404': 'Mixer(0.40, 4)',
162    'm405': 'Mixer(0.40, 5)',
163    'm406': 'Mixer(0.40, 6)',
164    'm407': 'Mixer(0.40, 7)',
165    'm408': 'Mixer(0.40, 8)',
166    #
167    's102': 'MixerSum(0.10, 2)',
168    's103': 'MixerSum(0.10, 3)',
169    's104': 'MixerSum(0.10, 4)',
170    's105': 'MixerSum(0.10, 5)',
171    's106': 'MixerSum(0.10, 6)',
172    's107': 'MixerSum(0.10, 7)',
173    's203': 'MixerSum(0.20, 3)',
174    's253': 'MixerSum(0.25, 3)',
175    #
176    'dzps102': 'MixerSum(0.10, 2)',
177    'dzps103': 'MixerSum(0.10, 3)',
178    'dzps104': 'MixerSum(0.10, 4)',
179    'dzps105': 'MixerSum(0.10, 5)',
180    'dzps106': 'MixerSum(0.10, 6)',
181    'dzps107': 'MixerSum(0.10, 7)',
182    'dzps203': 'MixerSum(0.20, 3)',
183    'dzps253': 'MixerSum(0.25, 3)',
184    #
185    'cgdzps102': 'MixerSum(0.10, 2)',
186    'cgdzps103': 'MixerSum(0.10, 3)',
187    'cgdzps104': 'MixerSum(0.10, 4)',
188    'cgdzps105': 'MixerSum(0.10, 5)',
189    'cgdzps106': 'MixerSum(0.10, 6)',
190    'cgdzps107': 'MixerSum(0.10, 7)',
191    'cgdzps203': 'MixerSum(0.20, 3)',
192    'cgdzps253': 'MixerSum(0.25, 3)',
193    #
194    'b103': 'BroydenMixer(0.10, 3)',
195    'b104': 'BroydenMixer(0.10, 4)',
196    'b105': 'BroydenMixer(0.10, 5)',
197    'b106': 'BroydenMixer(0.10, 6)',
198    'b107': 'BroydenMixer(0.10, 7)',
199    'b203': 'BroydenMixer(0.20, 3)',
200    'b253': 'BroydenMixer(0.25, 3)',
201    'b206': 'BroydenMixer(0.20, 6)',
202    'b256': 'BroydenMixer(0.25, 6)',
203    #
204    'cgb103': 'BroydenMixer(0.10, 3)',
205    'cgb104': 'BroydenMixer(0.10, 4)',
206    'cgb105': 'BroydenMixer(0.10, 5)',
207    'cgb106': 'BroydenMixer(0.10, 6)',
208    'cgb107': 'BroydenMixer(0.10, 7)',
209    #
210    'cgdzpb103': 'BroydenMixer(0.10, 3)',
211    'cgdzpb104': 'BroydenMixer(0.10, 4)',
212    'cgdzpb105': 'BroydenMixer(0.10, 5)',
213    'cgdzpb106': 'BroydenMixer(0.10, 6)',
214    'cgdzpb107': 'BroydenMixer(0.10, 7)',
215    'cgdzpb203': 'BroydenMixer(0.20, 3)',
216    'cgdzpb206': 'BroydenMixer(0.20, 6)',
217    #
218    'dw1': 'MixerDif(weight=1)',
219    'dw25': 'MixerDif(weight=25)',
220    'dw50': 'MixerDif(weight=50)',
221    'dw100': 'MixerDif(weight=100)',
222    'd101': 'MixerDif(0.10, 1)',
223    'd102': 'MixerDif(0.10, 2)',
224    'd103': 'MixerDif(0.10, 3)',
225    'd104': 'MixerDif(0.10, 4)',
226    'd105': 'MixerDif(0.10, 5)',
227    'd106': 'MixerDif(0.10, 6)',
228    'd107': 'MixerDif(0.10, 7)',
229    'd108': 'MixerDif(0.10, 8)',
230    'd152': 'MixerDif(0.15, 2)',
231    'd153': 'MixerDif(0.15, 3)',
232    'd154': 'MixerDif(0.15, 4)',
233    'd155': 'MixerDif(0.15, 5)',
234    'd156': 'MixerDif(0.15, 6)',
235    'd157': 'MixerDif(0.15, 7)',
236    'd158': 'MixerDif(0.15, 8)',
237    'd202': 'MixerDif(0.20, 2)',
238    'd203': 'MixerDif(0.20, 3)',
239    'd204': 'MixerDif(0.20, 4)',
240    'd205': 'MixerDif(0.20, 5)',
241    'd206': 'MixerDif(0.20, 6)',
242    'd207': 'MixerDif(0.20, 7)',
243    'd208': 'MixerDif(0.20, 8)',
244    'd252': 'MixerDif(0.25, 2)',
245    'd253': 'MixerDif(0.25, 3)',
246    'd254': 'MixerDif(0.25, 4)',
247    'd255': 'MixerDif(0.25, 5)',
248    'd256': 'MixerDif(0.25, 6)',
249    'd257': 'MixerDif(0.25, 7)',
250    'd258': 'MixerDif(0.25, 8)',
251    'd302': 'MixerDif(0.30, 2)',
252    'd303': 'MixerDif(0.30, 3)',
253    'd304': 'MixerDif(0.30, 4)',
254    'd305': 'MixerDif(0.30, 5)',
255    'd306': 'MixerDif(0.30, 6)',
256    'd307': 'MixerDif(0.30, 7)',
257    'd308': 'MixerDif(0.30, 8)',
258    'd352': 'MixerDif(0.35, 2)',
259    'd353': 'MixerDif(0.35, 3)',
260    'd354': 'MixerDif(0.35, 4)',
261    'd355': 'MixerDif(0.35, 5)',
262    'd356': 'MixerDif(0.35, 6)',
263    'd357': 'MixerDif(0.35, 7)',
264    'd358': 'MixerDif(0.35, 8)',
265    'd402': 'MixerDif(0.40, 2)',
266    'd403': 'MixerDif(0.40, 3)',
267    'd404': 'MixerDif(0.40, 4)',
268    'd405': 'MixerDif(0.40, 5)',
269    'd406': 'MixerDif(0.40, 6)',
270    'd407': 'MixerDif(0.40, 7)',
271    'd408': 'MixerDif(0.40, 8)',
272    #
273    'dzpdw1': 'MixerDif(weight=1)',
274    'dzpdw25': 'MixerDif(weight=25)',
275    'dzpdw50': 'MixerDif(weight=50)',
276    'dzpdw100': 'MixerDif(weight=100)',
277    'dzpd101': 'MixerDif(0.10, 1)',
278    'dzpd102': 'MixerDif(0.10, 2)',
279    'dzpd103': 'MixerDif(0.10, 3)',
280    'dzpd104': 'MixerDif(0.10, 4)',
281    'dzpd105': 'MixerDif(0.10, 5)',
282    'dzpd106': 'MixerDif(0.10, 6)',
283    'dzpd107': 'MixerDif(0.10, 7)',
284    'dzpd152': 'MixerDif(0.15, 2)',
285    'dzpd153': 'MixerDif(0.15, 3)',
286    'dzpd154': 'MixerDif(0.15, 4)',
287    'dzpd155': 'MixerDif(0.15, 5)',
288    'dzpd156': 'MixerDif(0.15, 6)',
289    'dzpd157': 'MixerDif(0.15, 7)',
290    'dzpd202': 'MixerDif(0.20, 2)',
291    'dzpd203': 'MixerDif(0.20, 3)',
292    'dzpd204': 'MixerDif(0.20, 4)',
293    'dzpd205': 'MixerDif(0.20, 5)',
294    'dzpd206': 'MixerDif(0.20, 6)',
295    'dzpd207': 'MixerDif(0.20, 7)',
296    'dzpd252': 'MixerDif(0.25, 2)',
297    'dzpd253': 'MixerDif(0.25, 3)',
298    'dzpd254': 'MixerDif(0.25, 4)',
299    'dzpd255': 'MixerDif(0.25, 5)',
300    'dzpd256': 'MixerDif(0.25, 6)',
301    'dzpd257': 'MixerDif(0.25, 7)',
302    #
303    'szdzpm': 'Mixer()',
304    'szpdzpm': 'Mixer()',
305    #
306    'dzpmw1': 'Mixer(weight=1)',
307    'dzpmw25': 'Mixer(weight=25)',
308    'dzpmw50': 'Mixer(weight=50)',
309    'dzpmw100': 'Mixer(weight=100)',
310    'dzpm102': 'Mixer(0.10, 2)',
311    'dzpm103': 'Mixer(0.10, 3)',
312    'dzpm104': 'Mixer(0.10, 4)',
313    'dzpm105': 'Mixer(0.10, 5)',
314    'dzpm106': 'Mixer(0.10, 6)',
315    'dzpm107': 'Mixer(0.10, 7)',
316    'dzpm152': 'Mixer(0.15, 2)',
317    'dzpm153': 'Mixer(0.15, 3)',
318    'dzpm154': 'Mixer(0.15, 4)',
319    'dzpm155': 'Mixer(0.15, 5)',
320    'dzpm202': 'Mixer(0.20, 2)',
321    'dzpm203': 'Mixer(0.20, 3)',
322    'dzpm204': 'Mixer(0.20, 4)',
323    'dzpm205': 'Mixer(0.20, 5)',
324    'dzpm252': 'Mixer(0.25, 2)',
325    'dzpm253': 'Mixer(0.25, 3)',
326    'dzpm254': 'Mixer(0.25, 4)',
327    'dzpm255': 'Mixer(0.25, 5)',
328    #
329    'dzpbands00m': 'Mixer()',
330    'dzpbands01m': 'Mixer()',
331    'dzpbands02m': 'Mixer()',
332    'dzpbands03m': 'Mixer()',
333    'dzpbands04m': 'Mixer()',
334    'dzpbands05m': 'Mixer()',
335    'dzpbands06m': 'Mixer()',
336    'dzpbands07m': 'Mixer()',
337    'dzpbands08m': 'Mixer()',
338    'dzpbands09m': 'Mixer()',
339    'dzpbands10m': 'Mixer()',
340    'dzpbands15m': 'Mixer()',
341    'dzpbands20m': 'Mixer()',
342    #
343    'dzpbands00d': 'MixerDiff()',
344    'dzpbands01d': 'MixerDiff()',
345    'dzpbands02d': 'MixerDiff()',
346    'dzpbands03d': 'MixerDiff()',
347    'dzpbands04d': 'MixerDiff()',
348    'dzpbands05d': 'MixerDiff()',
349    'dzpbands06d': 'MixerDiff()',
350    'dzpbands07d': 'MixerDiff()',
351    'dzpbands08d': 'MixerDiff()',
352    'dzpbands09d': 'MixerDiff()',
353    'dzpbands10d': 'MixerDiff()',
354    'dzpbands15d': 'MixerDiff()',
355    'dzpbands20d': 'MixerDiff()',
356    #
357    'fm101': 'FFTMixer(0.10, 1)',
358    'fm102': 'FFTMixer(0.10, 2)',
359    'fm103': 'FFTMixer(0.10, 3)',
360    'fm104': 'FFTMixer(0.10, 4)',
361    'fm105': 'FFTMixer(0.10, 5)',
362    'fm106': 'FFTMixer(0.10, 6)',
363    'fm107': 'FFTMixer(0.10, 7)',
364    'fm108': 'FFTMixer(0.10, 8)',
365    'fm152': 'FFTMixer(0.15, 2)',
366    'fm153': 'FFTMixer(0.15, 3)',
367    'fm154': 'FFTMixer(0.15, 4)',
368    'fm155': 'FFTMixer(0.15, 5)',
369    'fm156': 'FFTMixer(0.15, 6)',
370    'fm157': 'FFTMixer(0.15, 7)',
371    'fm158': 'FFTMixer(0.15, 8)',
372    'fm202': 'FFTMixer(0.20, 2)',
373    'fm203': 'FFTMixer(0.20, 3)',
374    'fm204': 'FFTMixer(0.20, 4)',
375    'fm205': 'FFTMixer(0.20, 5)',
376    'fm206': 'FFTMixer(0.20, 6)',
377    'fm207': 'FFTMixer(0.20, 7)',
378    'fm208': 'FFTMixer(0.20, 8)',
379    'fm252': 'FFTMixer(0.25, 2)',
380    'fm253': 'FFTMixer(0.25, 3)',
381    'fm254': 'FFTMixer(0.25, 4)',
382    'fm255': 'FFTMixer(0.25, 5)',
383    'fm256': 'FFTMixer(0.25, 6)',
384    'fm257': 'FFTMixer(0.25, 7)',
385    'fm258': 'FFTMixer(0.25, 8)',
386    'fm302': 'FFTMixer(0.30, 2)',
387    'fm303': 'FFTMixer(0.30, 3)',
388    'fm304': 'FFTMixer(0.30, 4)',
389    'fm305': 'FFTMixer(0.30, 5)',
390    'fm306': 'FFTMixer(0.30, 6)',
391    'fm307': 'FFTMixer(0.30, 7)',
392    'fm308': 'FFTMixer(0.30, 8)',
393    'fm352': 'FFTMixer(0.35, 2)',
394    'fm353': 'FFTMixer(0.35, 3)',
395    'fm354': 'FFTMixer(0.35, 4)',
396    'fm355': 'FFTMixer(0.35, 5)',
397    'fm356': 'FFTMixer(0.35, 6)',
398    'fm357': 'FFTMixer(0.35, 7)',
399    'fm358': 'FFTMixer(0.35, 8)',
400    #
401    'fs101': 'FFTMixerSum(0.10, 1)',
402    'fs102': 'FFTMixerSum(0.10, 2)',
403    'fs103': 'FFTMixerSum(0.10, 3)',
404    'fs104': 'FFTMixerSum(0.10, 4)',
405    'fs105': 'FFTMixerSum(0.10, 5)',
406    'fs106': 'FFTMixerSum(0.10, 6)',
407    'fs107': 'FFTMixerSum(0.10, 7)',
408    'fs108': 'FFTMixerSum(0.10, 8)',
409    'fs152': 'FFTMixerSum(0.15, 2)',
410    'fs153': 'FFTMixerSum(0.15, 3)',
411    'fs154': 'FFTMixerSum(0.15, 4)',
412    'fs155': 'FFTMixerSum(0.15, 5)',
413    'fs156': 'FFTMixerSum(0.15, 6)',
414    'fs157': 'FFTMixerSum(0.15, 7)',
415    'fs158': 'FFTMixerSum(0.15, 8)',
416    'fs202': 'FFTMixerSum(0.20, 2)',
417    'fs203': 'FFTMixerSum(0.20, 3)',
418    'fs204': 'FFTMixerSum(0.20, 4)',
419    'fs205': 'FFTMixerSum(0.20, 5)',
420    'fs206': 'FFTMixerSum(0.20, 6)',
421    'fs207': 'FFTMixerSum(0.20, 7)',
422    'fs208': 'FFTMixerSum(0.20, 8)',
423    'fs252': 'FFTMixerSum(0.25, 2)',
424    'fs253': 'FFTMixerSum(0.25, 3)',
425    'fs254': 'FFTMixerSum(0.25, 4)',
426    'fs255': 'FFTMixerSum(0.25, 5)',
427    'fs256': 'FFTMixerSum(0.25, 6)',
428    'fs257': 'FFTMixerSum(0.25, 7)',
429    'fs258': 'FFTMixerSum(0.25, 8)',
430    'fs302': 'FFTMixerSum(0.30, 2)',
431    'fs303': 'FFTMixerSum(0.30, 3)',
432    'fs304': 'FFTMixerSum(0.30, 4)',
433    'fs305': 'FFTMixerSum(0.30, 5)',
434    'fs306': 'FFTMixerSum(0.30, 6)',
435    'fs307': 'FFTMixerSum(0.30, 7)',
436    'fs308': 'FFTMixerSum(0.30, 8)',
437    'fs352': 'FFTMixerSum(0.35, 2)',
438    'fs353': 'FFTMixerSum(0.35, 3)',
439    'fs354': 'FFTMixerSum(0.35, 4)',
440    'fs355': 'FFTMixerSum(0.35, 5)',
441    'fs356': 'FFTMixerSum(0.35, 6)',
442    'fs357': 'FFTMixerSum(0.35, 7)',
443    'fs358': 'FFTMixerSum(0.35, 8)',
444    #
445    'fd101': 'FFTMixerDif(0.10, 1)',
446    'fd102': 'FFTMixerDif(0.10, 2)',
447    'fd103': 'FFTMixerDif(0.10, 3)',
448    'fd104': 'FFTMixerDif(0.10, 4)',
449    'fd105': 'FFTMixerDif(0.10, 5)',
450    'fd106': 'FFTMixerDif(0.10, 6)',
451    'fd107': 'FFTMixerDif(0.10, 7)',
452    'fd108': 'FFTMixerDif(0.10, 8)',
453    'fd152': 'FFTMixerDif(0.15, 2)',
454    'fd153': 'FFTMixerDif(0.15, 3)',
455    'fd154': 'FFTMixerDif(0.15, 4)',
456    'fd155': 'FFTMixerDif(0.15, 5)',
457    'fd156': 'FFTMixerDif(0.15, 6)',
458    'fd157': 'FFTMixerDif(0.15, 7)',
459    'fd158': 'FFTMixerDif(0.15, 8)',
460    'fd202': 'FFTMixerDif(0.20, 2)',
461    'fd203': 'FFTMixerDif(0.20, 3)',
462    'fd204': 'FFTMixerDif(0.20, 4)',
463    'fd205': 'FFTMixerDif(0.20, 5)',
464    'fd206': 'FFTMixerDif(0.20, 6)',
465    'fd207': 'FFTMixerDif(0.20, 7)',
466    'fd208': 'FFTMixerDif(0.20, 8)',
467    'fd252': 'FFTMixerDif(0.25, 2)',
468    'fd253': 'FFTMixerDif(0.25, 3)',
469    'fd254': 'FFTMixerDif(0.25, 4)',
470    'fd255': 'FFTMixerDif(0.25, 5)',
471    'fd256': 'FFTMixerDif(0.25, 6)',
472    'fd257': 'FFTMixerDif(0.25, 7)',
473    'fd258': 'FFTMixerDif(0.25, 8)',
474    'fd302': 'FFTMixerDif(0.30, 2)',
475    'fd303': 'FFTMixerDif(0.30, 3)',
476    'fd304': 'FFTMixerDif(0.30, 4)',
477    'fd305': 'FFTMixerDif(0.30, 5)',
478    'fd306': 'FFTMixerDif(0.30, 6)',
479    'fd307': 'FFTMixerDif(0.30, 7)',
480    'fd308': 'FFTMixerDif(0.30, 8)',
481    'fd352': 'FFTMixerDif(0.35, 2)',
482    'fd353': 'FFTMixerDif(0.35, 3)',
483    'fd354': 'FFTMixerDif(0.35, 4)',
484    'fd355': 'FFTMixerDif(0.35, 5)',
485    'fd356': 'FFTMixerDif(0.35, 6)',
486    'fd357': 'FFTMixerDif(0.35, 7)',
487    'fd358': 'FFTMixerDif(0.35, 8)',
488    #
489    'cgm101': 'Mixer(0.10, 1)',
490    'cgm102': 'Mixer(0.10, 2)',
491    'cgm103': 'Mixer(0.10, 3)',
492    'cgm104': 'Mixer(0.10, 4)',
493    'cgm105': 'Mixer(0.10, 5)',
494    'cgm106': 'Mixer(0.10, 6)',
495    'cgm107': 'Mixer(0.10, 7)',
496    'cgm152': 'Mixer(0.15, 2)',
497    'cgm153': 'Mixer(0.15, 3)',
498    'cgm154': 'Mixer(0.15, 4)',
499    'cgm155': 'Mixer(0.15, 5)',
500    'cgm156': 'Mixer(0.15, 6)',
501    'cgm157': 'Mixer(0.15, 7)',
502    'cgm201': 'Mixer(0.20, 2)',
503    'cgm202': 'Mixer(0.20, 2)',
504    'cgm203': 'Mixer(0.20, 3)',
505    'cgm204': 'Mixer(0.20, 4)',
506    'cgm205': 'Mixer(0.20, 5)',
507    'cgm206': 'Mixer(0.20, 6)',
508    'cgm207': 'Mixer(0.20, 7)',
509    'cgm252': 'Mixer(0.25, 2)',
510    'cgm253': 'Mixer(0.25, 3)',
511    'cgm254': 'Mixer(0.25, 4)',
512    'cgm255': 'Mixer(0.25, 5)',
513    'cgm256': 'Mixer(0.25, 6)',
514    'cgm257': 'Mixer(0.25, 7)',
515    #
516    'cgbands00m': 'Mixer()',
517    'cgbands01m': 'Mixer()',
518    'cgbands02m': 'Mixer()',
519    'cgbands03m': 'Mixer()',
520    'cgbands04m': 'Mixer()',
521    'cgbands05m': 'Mixer()',
522    'cgbands06m': 'Mixer()',
523    'cgbands07m': 'Mixer()',
524    'cgbands08m': 'Mixer()',
525    'cgbands09m': 'Mixer()',
526    'cgbands10m': 'Mixer()',
527    'cgbands15m': 'Mixer()',
528    'cgbands20m': 'Mixer()',
529    #
530    'cgdzpm102': 'Mixer(0.10, 2)',
531    'cgdzpm103': 'Mixer(0.10, 3)',
532    'cgdzpm104': 'Mixer(0.10, 4)',
533    'cgdzpm105': 'Mixer(0.10, 5)',
534    'cgdzpm152': 'Mixer(0.15, 2)',
535    'cgdzpm153': 'Mixer(0.15, 3)',
536    'cgdzpm154': 'Mixer(0.15, 4)',
537    'cgdzpm155': 'Mixer(0.15, 5)',
538    'cgdzpm202': 'Mixer(0.20, 2)',
539    'cgdzpm203': 'Mixer(0.20, 3)',
540    'cgdzpm204': 'Mixer(0.20, 4)',
541    'cgdzpm205': 'Mixer(0.20, 5)',
542    'cgdzpm252': 'Mixer(0.25, 2)',
543    'cgdzpm253': 'Mixer(0.25, 3)',
544    'cgdzpm254': 'Mixer(0.25, 4)',
545    'cgdzpm255': 'Mixer(0.25, 5)',
546    #
547    'cgd101': 'MixerDif(0.10, 1)',
548    'cgd102': 'MixerDif(0.10, 2)',
549    'cgd103': 'MixerDif(0.10, 3)',
550    'cgd104': 'MixerDif(0.10, 4)',
551    'cgd105': 'MixerDif(0.10, 5)',
552    'cgd106': 'MixerDif(0.10, 6)',
553    'cgd107': 'MixerDif(0.10, 7)',
554    'cgd152': 'MixerDif(0.15, 2)',
555    'cgd153': 'MixerDif(0.15, 3)',
556    'cgd154': 'MixerDif(0.15, 4)',
557    'cgd155': 'MixerDif(0.15, 5)',
558    'cgd156': 'MixerDif(0.15, 6)',
559    'cgd157': 'MixerDif(0.15, 7)',
560    'cgd201': 'MixerDif(0.20, 2)',
561    'cgd202': 'MixerDif(0.20, 2)',
562    'cgd203': 'MixerDif(0.20, 3)',
563    'cgd204': 'MixerDif(0.20, 4)',
564    'cgd205': 'MixerDif(0.20, 5)',
565    'cgd206': 'MixerDif(0.20, 6)',
566    'cgd207': 'MixerDif(0.20, 7)',
567    'cgd253': 'MixerDif(0.25, 3)',
568    'cgd303': 'MixerDif(0.30, 3)',
569    #
570    'cgs101': 'MixerSum(0.10, 1)',
571    'cgs102': 'MixerSum(0.10, 2)',
572    'cgs103': 'MixerSum(0.10, 3)',
573    'cgs104': 'MixerSum(0.10, 4)',
574    'cgs105': 'MixerSum(0.10, 5)',
575    'cgs106': 'MixerSum(0.10, 6)',
576    'cgs107': 'MixerSum(0.10, 7)',
577    'cgs152': 'MixerSum(0.15, 2)',
578    'cgs153': 'MixerSum(0.15, 3)',
579    'cgs154': 'MixerSum(0.15, 4)',
580    'cgs155': 'MixerSum(0.15, 5)',
581    'cgs156': 'MixerSum(0.15, 6)',
582    'cgs157': 'MixerSum(0.15, 7)',
583    'cgs201': 'MixerSum(0.20, 2)',
584    'cgs202': 'MixerSum(0.20, 2)',
585    'cgs203': 'MixerSum(0.20, 3)',
586    'cgs204': 'MixerSum(0.20, 4)',
587    'cgs205': 'MixerSum(0.20, 5)',
588    'cgs206': 'MixerSum(0.20, 6)',
589    'cgs207': 'MixerSum(0.20, 7)',
590    #
591    'cgdzpd102': 'MixerDif(0.10, 2)',
592    'cgdzpd103': 'MixerDif(0.10, 3)',
593    'cgdzpd104': 'MixerDif(0.10, 4)',
594    'cgdzpd105': 'MixerDif(0.10, 5)',
595    'cgdzpd106': 'MixerDif(0.10, 6)',
596    'cgdzpd107': 'MixerDif(0.10, 7)',
597    'cgdzpd108': 'MixerDif(0.10, 8)',
598    'cgdzpd152': 'MixerDif(0.15, 2)',
599    'cgdzpd153': 'MixerDif(0.15, 3)',
600    'cgdzpd154': 'MixerDif(0.15, 4)',
601    'cgdzpd155': 'MixerDif(0.15, 5)',
602    'cgdzpd156': 'MixerDif(0.15, 6)',
603    'cgdzpd157': 'MixerDif(0.15, 7)',
604    'cgdzpd158': 'MixerDif(0.15, 8)',
605    'cgdzpd202': 'MixerDif(0.20, 2)',
606    'cgdzpd203': 'MixerDif(0.20, 3)',
607    'cgdzpd204': 'MixerDif(0.20, 4)',
608    'cgdzpd205': 'MixerDif(0.20, 5)',
609    'cgdzpd206': 'MixerDif(0.20, 6)',
610    'cgdzpd207': 'MixerDif(0.20, 7)',
611    'cgdzpd208': 'MixerDif(0.20, 8)',
612    'cgdzpd252': 'MixerDif(0.25, 2)',
613    'cgdzpd253': 'MixerDif(0.25, 3)',
614    'cgdzpd254': 'MixerDif(0.25, 4)',
615    'cgdzpd255': 'MixerDif(0.25, 5)',
616    'cgdzpd256': 'MixerDif(0.25, 6)',
617    'cgdzpd257': 'MixerDif(0.25, 7)',
618    'cgdzpd258': 'MixerDif(0.25, 8)',
619    'cgdzpd302': 'MixerDif(0.30, 2)',
620    'cgdzpd303': 'MixerDif(0.30, 3)',
621    'cgdzpd304': 'MixerDif(0.30, 4)',
622    'cgdzpd305': 'MixerDif(0.30, 5)',
623    'cgdzpd306': 'MixerDif(0.30, 6)',
624    'cgdzpd307': 'MixerDif(0.30, 7)',
625    'cgdzpd308': 'MixerDif(0.30, 8)',
626    'cgdzpd352': 'MixerDif(0.35, 2)',
627    'cgdzpd353': 'MixerDif(0.35, 3)',
628    'cgdzpd354': 'MixerDif(0.35, 4)',
629    'cgdzpd355': 'MixerDif(0.35, 5)',
630    'cgdzpd356': 'MixerDif(0.35, 6)',
631    'cgdzpd357': 'MixerDif(0.35, 7)',
632    'cgdzpd358': 'MixerDif(0.35, 8)',
633    'cgdzpd402': 'MixerDif(0.40, 2)',
634    'cgdzpd403': 'MixerDif(0.40, 3)',
635    'cgdzpd404': 'MixerDif(0.40, 4)',
636    'cgdzpd405': 'MixerDif(0.40, 5)',
637    'cgdzpd406': 'MixerDif(0.40, 6)',
638    'cgdzpd407': 'MixerDif(0.40, 7)',
639    'cgdzpd408': 'MixerDif(0.40, 8)',
640    #
641    'cgfm101': 'FFTMixer(0.10, 1)',
642    'cgfm102': 'FFTMixer(0.10, 2)',
643    'cgfm103': 'FFTMixer(0.10, 3)',
644    'cgfm104': 'FFTMixer(0.10, 4)',
645    'cgfm105': 'FFTMixer(0.10, 5)',
646    'cgfm106': 'FFTMixer(0.10, 6)',
647    'cgfm107': 'FFTMixer(0.10, 7)',
648    'cgfm152': 'FFTMixer(0.15, 2)',
649    'cgfm153': 'FFTMixer(0.15, 3)',
650    'cgfm154': 'FFTMixer(0.15, 4)',
651    'cgfm155': 'FFTMixer(0.15, 5)',
652    'cgfm156': 'FFTMixer(0.15, 6)',
653    'cgfm157': 'FFTMixer(0.15, 7)',
654    'cgfm201': 'FFTMixer(0.20, 2)',
655    'cgfm202': 'FFTMixer(0.20, 2)',
656    'cgfm203': 'FFTMixer(0.20, 3)',
657    'cgfm204': 'FFTMixer(0.20, 4)',
658    'cgfm205': 'FFTMixer(0.20, 5)',
659    'cgfm206': 'FFTMixer(0.20, 6)',
660    'cgfm207': 'FFTMixer(0.20, 7)',
661    'cgfm252': 'FFTMixer(0.25, 2)',
662    'cgfm253': 'FFTMixer(0.25, 3)',
663    'cgfm254': 'FFTMixer(0.25, 4)',
664    'cgfm255': 'FFTMixer(0.25, 5)',
665    'cgfm256': 'FFTMixer(0.25, 6)',
666    'cgfm257': 'FFTMixer(0.25, 7)',
667    #
668    'cgfs101': 'FFTMixerSum(0.10, 1)',
669    'cgfs102': 'FFTMixerSum(0.10, 2)',
670    'cgfs103': 'FFTMixerSum(0.10, 3)',
671    'cgfs104': 'FFTMixerSum(0.10, 4)',
672    'cgfs105': 'FFTMixerSum(0.10, 5)',
673    'cgfs106': 'FFTMixerSum(0.10, 6)',
674    'cgfs107': 'FFTMixerSum(0.10, 7)',
675    'cgfs152': 'FFTMixerSum(0.15, 2)',
676    'cgfs153': 'FFTMixerSum(0.15, 3)',
677    'cgfs154': 'FFTMixerSum(0.15, 4)',
678    'cgfs155': 'FFTMixerSum(0.15, 5)',
679    'cgfs156': 'FFTMixerSum(0.15, 6)',
680    'cgfs157': 'FFTMixerSum(0.15, 7)',
681    'cgfs201': 'FFTMixerSum(0.20, 2)',
682    'cgfs202': 'FFTMixerSum(0.20, 2)',
683    'cgfs203': 'FFTMixerSum(0.20, 3)',
684    'cgfs204': 'FFTMixerSum(0.20, 4)',
685    'cgfs205': 'FFTMixerSum(0.20, 5)',
686    'cgfs206': 'FFTMixerSum(0.20, 6)',
687    'cgfs207': 'FFTMixerSum(0.20, 7)',
688    'cgfs252': 'FFTMixerSum(0.25, 2)',
689    'cgfs253': 'FFTMixerSum(0.25, 3)',
690    'cgfs254': 'FFTMixerSum(0.25, 4)',
691    'cgfs255': 'FFTMixerSum(0.25, 5)',
692    'cgfs256': 'FFTMixerSum(0.25, 6)',
693    'cgfs257': 'FFTMixerSum(0.25, 7)',
694    #
695    'cgfd101': 'FFTMixerDif(0.10, 1)',
696    'cgfd102': 'FFTMixerDif(0.10, 2)',
697    'cgfd103': 'FFTMixerDif(0.10, 3)',
698    'cgfd104': 'FFTMixerDif(0.10, 4)',
699    'cgfd105': 'FFTMixerDif(0.10, 5)',
700    'cgfd106': 'FFTMixerDif(0.10, 6)',
701    'cgfd107': 'FFTMixerDif(0.10, 7)',
702    'cgfd152': 'FFTMixerDif(0.15, 2)',
703    'cgfd153': 'FFTMixerDif(0.15, 3)',
704    'cgfd154': 'FFTMixerDif(0.15, 4)',
705    'cgfd155': 'FFTMixerDif(0.15, 5)',
706    'cgfd156': 'FFTMixerDif(0.15, 6)',
707    'cgfd157': 'FFTMixerDif(0.15, 7)',
708    'cgfd201': 'FFTMixerDif(0.20, 2)',
709    'cgfd202': 'FFTMixerDif(0.20, 2)',
710    'cgfd203': 'FFTMixerDif(0.20, 3)',
711    'cgfd204': 'FFTMixerDif(0.20, 4)',
712    'cgfd205': 'FFTMixerDif(0.20, 5)',
713    'cgfd206': 'FFTMixerDif(0.20, 6)',
714    'cgfd207': 'FFTMixerDif(0.20, 7)',
715    'cgfd252': 'FFTMixerDif(0.25, 2)',
716    'cgfd253': 'FFTMixerDif(0.25, 3)',
717    'cgfd254': 'FFTMixerDif(0.25, 4)',
718    'cgfd255': 'FFTMixerDif(0.25, 5)',
719    'cgfd256': 'FFTMixerDif(0.25, 6)',
720    'cgfd257': 'FFTMixerDif(0.25, 7)',
721    #
722    'davm101': 'Mixer(0.10, 1)',
723    'davm102': 'Mixer(0.10, 2)',
724    'davm103': 'Mixer(0.10, 3)',
725    'davm104': 'Mixer(0.10, 4)',
726    'davm105': 'Mixer(0.10, 5)',
727    'davm106': 'Mixer(0.10, 6)',
728    'davm107': 'Mixer(0.10, 7)',
729    'davm152': 'Mixer(0.15, 2)',
730    'davm153': 'Mixer(0.15, 3)',
731    'davm154': 'Mixer(0.15, 4)',
732    'davm155': 'Mixer(0.15, 5)',
733    'davm156': 'Mixer(0.15, 6)',
734    'davm157': 'Mixer(0.15, 7)',
735    'davm201': 'Mixer(0.20, 2)',
736    'davm202': 'Mixer(0.20, 2)',
737    'davm203': 'Mixer(0.20, 3)',
738    'davm204': 'Mixer(0.20, 4)',
739    'davm205': 'Mixer(0.20, 5)',
740    'davm206': 'Mixer(0.20, 6)',
741    'davm207': 'Mixer(0.20, 7)',
742    'davm252': 'Mixer(0.25, 2)',
743    'davm253': 'Mixer(0.25, 3)',
744    'davm254': 'Mixer(0.25, 4)',
745    'davm255': 'Mixer(0.25, 5)',
746    'davm256': 'Mixer(0.25, 6)',
747    'davm257': 'Mixer(0.25, 7)',
748    #
749    'davs101': 'MixerSum(0.10, 1)',
750    'davs102': 'MixerSum(0.10, 2)',
751    'davs103': 'MixerSum(0.10, 3)',
752    'davs104': 'MixerSum(0.10, 4)',
753    'davs105': 'MixerSum(0.10, 5)',
754    'davs106': 'MixerSum(0.10, 6)',
755    'davs107': 'MixerSum(0.10, 7)',
756    'davs152': 'MixerSum(0.15, 2)',
757    'davs153': 'MixerSum(0.15, 3)',
758    'davs154': 'MixerSum(0.15, 4)',
759    'davs155': 'MixerSum(0.15, 5)',
760    'davs156': 'MixerSum(0.15, 6)',
761    'davs157': 'MixerSum(0.15, 7)',
762    'davs201': 'MixerSum(0.20, 2)',
763    'davs202': 'MixerSum(0.20, 2)',
764    'davs203': 'MixerSum(0.20, 3)',
765    'davs204': 'MixerSum(0.20, 4)',
766    'davs205': 'MixerSum(0.20, 5)',
767    'davs206': 'MixerSum(0.20, 6)',
768    'davs207': 'MixerSum(0.20, 7)',
769    'davs252': 'MixerSum(0.25, 2)',
770    'davs253': 'MixerSum(0.25, 3)',
771    'davs254': 'MixerSum(0.25, 4)',
772    'davs255': 'MixerSum(0.25, 5)',
773    'davs256': 'MixerSum(0.25, 6)',
774    'davs257': 'MixerSum(0.25, 7)',
775    #
776    'davd101': 'MixerDif(0.10, 1)',
777    'davd102': 'MixerDif(0.10, 2)',
778    'davd103': 'MixerDif(0.10, 3)',
779    'davd104': 'MixerDif(0.10, 4)',
780    'davd105': 'MixerDif(0.10, 5)',
781    'davd106': 'MixerDif(0.10, 6)',
782    'davd107': 'MixerDif(0.10, 7)',
783    'davd152': 'MixerDif(0.15, 2)',
784    'davd153': 'MixerDif(0.15, 3)',
785    'davd154': 'MixerDif(0.15, 4)',
786    'davd155': 'MixerDif(0.15, 5)',
787    'davd156': 'MixerDif(0.15, 6)',
788    'davd157': 'MixerDif(0.15, 7)',
789    'davd201': 'MixerDif(0.20, 2)',
790    'davd202': 'MixerDif(0.20, 2)',
791    'davd203': 'MixerDif(0.20, 3)',
792    'davd204': 'MixerDif(0.20, 4)',
793    'davd205': 'MixerDif(0.20, 5)',
794    'davd206': 'MixerDif(0.20, 6)',
795    'davd207': 'MixerDif(0.20, 7)',
796    'davd252': 'MixerDif(0.25, 2)',
797    'davd253': 'MixerDif(0.25, 3)',
798    'davd254': 'MixerDif(0.25, 4)',
799    'davd255': 'MixerDif(0.25, 5)',
800    'davd256': 'MixerDif(0.25, 6)',
801    'davd257': 'MixerDif(0.25, 7)',
802    #
803    'davfm101': 'FFTMixer(0.10, 1)',
804    'davfm102': 'FFTMixer(0.10, 2)',
805    'davfm103': 'FFTMixer(0.10, 3)',
806    'davfm104': 'FFTMixer(0.10, 4)',
807    'davfm105': 'FFTMixer(0.10, 5)',
808    'davfm106': 'FFTMixer(0.10, 6)',
809    'davfm107': 'FFTMixer(0.10, 7)',
810    'davfm152': 'FFTMixer(0.15, 2)',
811    'davfm153': 'FFTMixer(0.15, 3)',
812    'davfm154': 'FFTMixer(0.15, 4)',
813    'davfm155': 'FFTMixer(0.15, 5)',
814    'davfm156': 'FFTMixer(0.15, 6)',
815    'davfm157': 'FFTMixer(0.15, 7)',
816    'davfm201': 'FFTMixer(0.20, 2)',
817    'davfm202': 'FFTMixer(0.20, 2)',
818    'davfm203': 'FFTMixer(0.20, 3)',
819    'davfm204': 'FFTMixer(0.20, 4)',
820    'davfm205': 'FFTMixer(0.20, 5)',
821    'davfm206': 'FFTMixer(0.20, 6)',
822    'davfm207': 'FFTMixer(0.20, 7)',
823    'davfm252': 'FFTMixer(0.25, 2)',
824    'davfm253': 'FFTMixer(0.25, 3)',
825    'davfm254': 'FFTMixer(0.25, 4)',
826    'davfm255': 'FFTMixer(0.25, 5)',
827    'davfm256': 'FFTMixer(0.25, 6)',
828    'davfm257': 'FFTMixer(0.25, 7)',
829    #
830    'davfs101': 'FFTMixerSum(0.10, 1)',
831    'davfs102': 'FFTMixerSum(0.10, 2)',
832    'davfs103': 'FFTMixerSum(0.10, 3)',
833    'davfs104': 'FFTMixerSum(0.10, 4)',
834    'davfs105': 'FFTMixerSum(0.10, 5)',
835    'davfs106': 'FFTMixerSum(0.10, 6)',
836    'davfs107': 'FFTMixerSum(0.10, 7)',
837    'davfs152': 'FFTMixerSum(0.15, 2)',
838    'davfs153': 'FFTMixerSum(0.15, 3)',
839    'davfs154': 'FFTMixerSum(0.15, 4)',
840    'davfs155': 'FFTMixerSum(0.15, 5)',
841    'davfs156': 'FFTMixerSum(0.15, 6)',
842    'davfs157': 'FFTMixerSum(0.15, 7)',
843    'davfs201': 'FFTMixerSum(0.20, 2)',
844    'davfs202': 'FFTMixerSum(0.20, 2)',
845    'davfs203': 'FFTMixerSum(0.20, 3)',
846    'davfs204': 'FFTMixerSum(0.20, 4)',
847    'davfs205': 'FFTMixerSum(0.20, 5)',
848    'davfs206': 'FFTMixerSum(0.20, 6)',
849    'davfs207': 'FFTMixerSum(0.20, 7)',
850    'davfs252': 'FFTMixerSum(0.25, 2)',
851    'davfs253': 'FFTMixerSum(0.25, 3)',
852    'davfs254': 'FFTMixerSum(0.25, 4)',
853    'davfs255': 'FFTMixerSum(0.25, 5)',
854    'davfs256': 'FFTMixerSum(0.25, 6)',
855    'davfs257': 'FFTMixerSum(0.25, 7)',
856    #
857    'davfd101': 'FFTMixerDif(0.10, 1)',
858    'davfd102': 'FFTMixerDif(0.10, 2)',
859    'davfd103': 'FFTMixerDif(0.10, 3)',
860    'davfd104': 'FFTMixerDif(0.10, 4)',
861    'davfd105': 'FFTMixerDif(0.10, 5)',
862    'davfd106': 'FFTMixerDif(0.10, 6)',
863    'davfd107': 'FFTMixerDif(0.10, 7)',
864    'davfd152': 'FFTMixerDif(0.15, 2)',
865    'davfd153': 'FFTMixerDif(0.15, 3)',
866    'davfd154': 'FFTMixerDif(0.15, 4)',
867    'davfd155': 'FFTMixerDif(0.15, 5)',
868    'davfd156': 'FFTMixerDif(0.15, 6)',
869    'davfd157': 'FFTMixerDif(0.15, 7)',
870    'davfd201': 'FFTMixerDif(0.20, 2)',
871    'davfd202': 'FFTMixerDif(0.20, 2)',
872    'davfd203': 'FFTMixerDif(0.20, 3)',
873    'davfd204': 'FFTMixerDif(0.20, 4)',
874    'davfd205': 'FFTMixerDif(0.20, 5)',
875    'davfd206': 'FFTMixerDif(0.20, 6)',
876    'davfd207': 'FFTMixerDif(0.20, 7)',
877    'davfd252': 'FFTMixerDif(0.25, 2)',
878    'davfd253': 'FFTMixerDif(0.25, 3)',
879    'davfd254': 'FFTMixerDif(0.25, 4)',
880    'davfd255': 'FFTMixerDif(0.25, 5)',
881    'davfd256': 'FFTMixerDif(0.25, 6)',
882    'davfd257': 'FFTMixerDif(0.25, 7)',
883    #
884    'jacapo': 'dacapo'}
885
886if __name__ == '__main__':
887
888    import os
889    import warnings
890    # silence matplotlib.use() warning
891    warnings.filterwarnings('ignore', r'.*This call to matplotlib\.use.*',)
892
893    assert len(sys.argv) > 1
894    if len(sys.argv) == 2:
895        taskname = sys.argv[1]
896        tag = None
897        runs = None
898    if len(sys.argv) == 3:
899        taskname = sys.argv[1]
900        tag = sys.argv[2]
901        runs = None
902    if len(sys.argv) == 4:
903        taskname = sys.argv[1]
904        tag = sys.argv[2]
905        runs = sys.argv[3]
906
907    if runs is None:  # use all json files as runs
908        runs = []
909        for f in glob.glob(taskname + '-' + tag + '*.json'):
910            runs.append(os.path.splitext(f)[0].split('_')[-1])
911    else:
912        runs = runs.split(',')
913
914    labels = []
915    for n, r in enumerate(runs):
916        l = str(n) + ': ' + rundefs[r]
917        # special cases
918        if r == 'm':
919            l += '\ndefault'
920        elif r.startswith('inititer'):
921            inititer = r[len('inititer'):len('inititer') + 2]
922            if inititer == '00':
923                inititer = 'None'
924            else:
925                inititer = str(int(inititer))
926            l += '\n initial cg iter:' + inititer
927        elif r.startswith('cgbands'):
928            nbands = r[len('cgbands'):len('cgbands') + 2]
929            if nbands == '00':
930                nbands = 'None'
931            else:
932                nbands = str(-int(nbands))
933            l += '\nnbands=' + nbands
934        elif r.startswith('dzpbands'):
935            nbands = r[len('dzpbands'):len('dzpbands') + 2]
936            if nbands == '00':
937                nbands = 'None'
938            else:
939                nbands = str(-int(nbands))
940            l += '\nnbands=' + nbands
941        elif r.startswith('bands'):
942            nbands = r[len('bands'):len('bands') + 2]
943            if nbands == '00':
944                nbands = 'None'
945            else:
946                nbands = str(-int(nbands))
947            l += '\nnbands=' + nbands
948        elif r.startswith('szdzp'):
949            l += '\nsz(dzp)'
950        elif r.startswith('szpdzp'):
951            l += '\nszp(dzp)'
952        elif r.startswith('dzp'):
953            l += '\ndzp'
954        elif r.startswith('cgdzp'):
955            l += '\ncg dzp'
956        elif r.startswith('cg'):
957            l += '\ncg'
958        elif r.startswith('dav'):
959            l += '\ndav'
960        if 'mp' in r:
961            l += '\nMethfesselPaxton'
962        labels.append(l)
963
964    steps = 80
965    t = Task(taskname, ','.join(runs), labels=labels, tag=tag, steps=steps,
966             tunit='h')
967    t.analyse()
968