veritascrmod 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/veritascrmod/namelists.rb +384 -7
- data/lib/veritascrmod/veritas.rb +79 -0
- data/test/test.in +9 -0
- data/test/test_veritas.rb +3 -3
- data/veritascrmod.gemspec +73 -0
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9418ff9b2a4f4a2603c9520ffb731734175359ae
|
|
4
|
+
data.tar.gz: 26f87eca521f88c8852fb3b252324fd63f863ea7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a77f921dc78c9709927fbf38341e9342e73fb1e5682f69327cd346652e559b34cf5706f2710c61984d6fcb0f1b52b7f11bfb91235f628e7c850e125fecd083b9
|
|
7
|
+
data.tar.gz: dd6277e8c0da4d426ba542606f96650a4b164ebee554a716760a1e9edadf74033d258bf37a757fa9d9d907ca3af0ee7da95f7a60c6eb91614997c320a0578703
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.2.0
|
|
@@ -12,22 +12,128 @@
|
|
|
12
12
|
:must_pass=>
|
|
13
13
|
[{:test=>"kind_of? Integer",
|
|
14
14
|
:explanation=>"This variable must be an integer."}],
|
|
15
|
-
:type=>:Integer}
|
|
15
|
+
:type=>:Integer},
|
|
16
|
+
:time=>
|
|
17
|
+
{:should_include=>"true",
|
|
18
|
+
:description=>nil,
|
|
19
|
+
:help=>nil,
|
|
20
|
+
:code_name=>:time,
|
|
21
|
+
:must_pass=>
|
|
22
|
+
[{:test=>"kind_of? Numeric",
|
|
23
|
+
:explanation=>
|
|
24
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
|
25
|
+
:type=>:Float}}},
|
|
16
26
|
:particles=>
|
|
17
27
|
{:description=>"",
|
|
18
28
|
:should_include=>"true",
|
|
29
|
+
:variables=>
|
|
30
|
+
{:npart=>
|
|
31
|
+
{:should_include=>"true",
|
|
32
|
+
:description=>nil,
|
|
33
|
+
:help=>nil,
|
|
34
|
+
:code_name=>:npart,
|
|
35
|
+
:must_pass=>
|
|
36
|
+
[{:test=>"kind_of? Integer",
|
|
37
|
+
:explanation=>"This variable must be an integer."}],
|
|
38
|
+
:type=>:Integer}}},
|
|
39
|
+
:particle=>
|
|
40
|
+
{:description=>"",
|
|
41
|
+
:should_include=>"true",
|
|
42
|
+
:enumerator=>{:name=>:npart, :estimated_value=>5},
|
|
19
43
|
:variables=>
|
|
20
44
|
{:np=>
|
|
21
45
|
{:should_include=>"true",
|
|
22
|
-
:description=>
|
|
23
|
-
|
|
24
|
-
:help=>
|
|
25
|
-
"Number of velocity points for the given species.",
|
|
46
|
+
:description=>nil,
|
|
47
|
+
:help=>nil,
|
|
26
48
|
:code_name=>:np,
|
|
27
49
|
:must_pass=>
|
|
28
50
|
[{:test=>"kind_of? Integer",
|
|
29
51
|
:explanation=>"This variable must be an integer."}],
|
|
30
|
-
:type=>:Integer}
|
|
52
|
+
:type=>:Integer},
|
|
53
|
+
:dp=>
|
|
54
|
+
{:should_include=>"true",
|
|
55
|
+
:description=>nil,
|
|
56
|
+
:help=>nil,
|
|
57
|
+
:code_name=>:dp,
|
|
58
|
+
:must_pass=>
|
|
59
|
+
[{:test=>"kind_of? Numeric",
|
|
60
|
+
:explanation=>
|
|
61
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
|
62
|
+
:type=>:Float},
|
|
63
|
+
:pmin=>
|
|
64
|
+
{:should_include=>"true",
|
|
65
|
+
:description=>nil,
|
|
66
|
+
:help=>nil,
|
|
67
|
+
:code_name=>:pmin,
|
|
68
|
+
:must_pass=>
|
|
69
|
+
[{:test=>"kind_of? Numeric",
|
|
70
|
+
:explanation=>
|
|
71
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
|
72
|
+
:type=>:Float},
|
|
73
|
+
:mass=>
|
|
74
|
+
{:should_include=>"true",
|
|
75
|
+
:description=>nil,
|
|
76
|
+
:help=>nil,
|
|
77
|
+
:code_name=>:mass,
|
|
78
|
+
:must_pass=>
|
|
79
|
+
[{:test=>"kind_of? Numeric",
|
|
80
|
+
:explanation=>"This variable must be an number."}],
|
|
81
|
+
:type=>:Integer},
|
|
82
|
+
:charge=>
|
|
83
|
+
{:should_include=>"true",
|
|
84
|
+
:description=>nil,
|
|
85
|
+
:help=>nil,
|
|
86
|
+
:code_name=>:charge,
|
|
87
|
+
:must_pass=>
|
|
88
|
+
[{:test=>"kind_of? Integer",
|
|
89
|
+
:explanation=>"This variable must be an integer."}],
|
|
90
|
+
:type=>:Integer},
|
|
91
|
+
:dens=>
|
|
92
|
+
{:should_include=>"true",
|
|
93
|
+
:description=>nil,
|
|
94
|
+
:help=>nil,
|
|
95
|
+
:code_name=>:dens,
|
|
96
|
+
:must_pass=>
|
|
97
|
+
[{:test=>"kind_of? Numeric",
|
|
98
|
+
:explanation=>
|
|
99
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
|
100
|
+
:type=>:Float},
|
|
101
|
+
:pmin_fac=>
|
|
102
|
+
{:should_include=>"true",
|
|
103
|
+
:description=>nil,
|
|
104
|
+
:help=>nil,
|
|
105
|
+
:code_name=>:pmin_fac,
|
|
106
|
+
:must_pass=>
|
|
107
|
+
[{:test=>"kind_of? Integer",
|
|
108
|
+
:explanation=>"This variable must be an integer."}],
|
|
109
|
+
:type=>:Integer},
|
|
110
|
+
:idist_npars=>
|
|
111
|
+
{:should_include=>"true",
|
|
112
|
+
:description=>nil,
|
|
113
|
+
:help=>nil,
|
|
114
|
+
:code_name=>:idist_npars,
|
|
115
|
+
:must_pass=>
|
|
116
|
+
[{:test=>"kind_of? Integer",
|
|
117
|
+
:explanation=>"This variable must be an integer."}],
|
|
118
|
+
:type=>:Integer},
|
|
119
|
+
:idist_shape=>
|
|
120
|
+
{:should_include=>"true",
|
|
121
|
+
:description=>nil,
|
|
122
|
+
:help=>nil,
|
|
123
|
+
:code_name=>:idist_shape,
|
|
124
|
+
:must_pass=>
|
|
125
|
+
[{:test=>"kind_of? Numeric",
|
|
126
|
+
:explanation=>"This variable must be a number."}],
|
|
127
|
+
:type=>:Integer},
|
|
128
|
+
:idist_func=>
|
|
129
|
+
{:should_include=>"true",
|
|
130
|
+
:description=>nil,
|
|
131
|
+
:help=>nil,
|
|
132
|
+
:code_name=>:idist_func,
|
|
133
|
+
:must_pass=>
|
|
134
|
+
[{:test=>"kind_of? String",
|
|
135
|
+
:explanation=>"This variable must be a string."}],
|
|
136
|
+
:type=>:String}}},
|
|
31
137
|
:grid=>
|
|
32
138
|
{:description=>"",
|
|
33
139
|
:should_include=>"true",
|
|
@@ -40,4 +146,275 @@
|
|
|
40
146
|
:must_pass=>
|
|
41
147
|
[{:test=>"kind_of? Integer",
|
|
42
148
|
:explanation=>"This variable must be an integer."}],
|
|
43
|
-
:type=>:Integer}
|
|
149
|
+
:type=>:Integer},
|
|
150
|
+
:minefficiency=>
|
|
151
|
+
{:should_include=>"true",
|
|
152
|
+
:description=>nil,
|
|
153
|
+
:help=>nil,
|
|
154
|
+
:code_name=>:minefficiency,
|
|
155
|
+
:must_pass=>
|
|
156
|
+
[{:test=>"kind_of? Numeric",
|
|
157
|
+
:explanation=>
|
|
158
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
|
159
|
+
:type=>:Float},
|
|
160
|
+
:dx=>
|
|
161
|
+
{:should_include=>"true",
|
|
162
|
+
:description=>nil,
|
|
163
|
+
:help=>nil,
|
|
164
|
+
:code_name=>:dx,
|
|
165
|
+
:must_pass=>
|
|
166
|
+
[{:test=>"kind_of? Numeric",
|
|
167
|
+
:explanation=>
|
|
168
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
|
169
|
+
:type=>:Float},
|
|
170
|
+
:k=>
|
|
171
|
+
{:should_include=>"true",
|
|
172
|
+
:description=>nil,
|
|
173
|
+
:help=>nil,
|
|
174
|
+
:code_name=>:k,
|
|
175
|
+
:must_pass=>
|
|
176
|
+
[{:test=>"kind_of? Numeric",
|
|
177
|
+
:explanation=>
|
|
178
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
|
179
|
+
:type=>:Float},
|
|
180
|
+
:cfl=>
|
|
181
|
+
{:should_include=>"true",
|
|
182
|
+
:description=>nil,
|
|
183
|
+
:help=>nil,
|
|
184
|
+
:code_name=>:cfl,
|
|
185
|
+
:must_pass=>
|
|
186
|
+
[{:test=>"kind_of? Numeric",
|
|
187
|
+
:explanation=>
|
|
188
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
|
189
|
+
:type=>:Float},
|
|
190
|
+
:sizeweight=>
|
|
191
|
+
{:should_include=>"true",
|
|
192
|
+
:description=>nil,
|
|
193
|
+
:help=>nil,
|
|
194
|
+
:code_name=>:sizeweight,
|
|
195
|
+
:must_pass=>
|
|
196
|
+
[{:test=>"kind_of? Numeric",
|
|
197
|
+
:explanation=>
|
|
198
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
|
199
|
+
:type=>:Float},
|
|
200
|
+
:prelength=>
|
|
201
|
+
{:should_include=>"true",
|
|
202
|
+
:description=>nil,
|
|
203
|
+
:help=>nil,
|
|
204
|
+
:code_name=>:prelength,
|
|
205
|
+
:must_pass=>
|
|
206
|
+
[{:test=>"kind_of? Numeric",
|
|
207
|
+
:explanation=>
|
|
208
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
|
209
|
+
:type=>:Float},
|
|
210
|
+
:postlength=>
|
|
211
|
+
{:should_include=>"true",
|
|
212
|
+
:description=>nil,
|
|
213
|
+
:help=>nil,
|
|
214
|
+
:code_name=>:postlength,
|
|
215
|
+
:must_pass=>
|
|
216
|
+
[{:test=>"kind_of? Numeric",
|
|
217
|
+
:explanation=>
|
|
218
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
|
219
|
+
:type=>:Float},
|
|
220
|
+
:r=>
|
|
221
|
+
{:should_include=>"true",
|
|
222
|
+
:description=>nil,
|
|
223
|
+
:help=>nil,
|
|
224
|
+
:code_name=>:r,
|
|
225
|
+
:must_pass=>
|
|
226
|
+
[{:test=>"kind_of? Integer",
|
|
227
|
+
:explanation=>"This variable must be an integer."}],
|
|
228
|
+
:type=>:Integer},
|
|
229
|
+
:lfinest=>
|
|
230
|
+
{:should_include=>"true",
|
|
231
|
+
:description=>nil,
|
|
232
|
+
:help=>nil,
|
|
233
|
+
:code_name=>:lfinest,
|
|
234
|
+
:must_pass=>
|
|
235
|
+
[{:test=>"kind_of? Integer",
|
|
236
|
+
:explanation=>"This variable must be an integer."}],
|
|
237
|
+
:type=>:Integer},
|
|
238
|
+
:loadbal=>
|
|
239
|
+
{:should_include=>"true",
|
|
240
|
+
:description=>nil,
|
|
241
|
+
:help=>nil,
|
|
242
|
+
:code_name=>:loadbal,
|
|
243
|
+
:must_pass=>
|
|
244
|
+
[{:test=>"kind_of? Integer",
|
|
245
|
+
:explanation=>"This variable must be an integer."}],
|
|
246
|
+
:type=>:Integer},
|
|
247
|
+
:quadraturedepth=>
|
|
248
|
+
{:should_include=>"true",
|
|
249
|
+
:description=>nil,
|
|
250
|
+
:help=>nil,
|
|
251
|
+
:code_name=>:quadraturedepth,
|
|
252
|
+
:must_pass=>
|
|
253
|
+
[{:test=>"kind_of? Integer",
|
|
254
|
+
:explanation=>"This variable must be an integer."}],
|
|
255
|
+
:type=>:Integer},
|
|
256
|
+
:refmasklower=>
|
|
257
|
+
{:should_include=>"true",
|
|
258
|
+
:description=>nil,
|
|
259
|
+
:help=>nil,
|
|
260
|
+
:code_name=>:refmasklower,
|
|
261
|
+
:must_pass=>
|
|
262
|
+
[{:test=>"kind_of? Numeric",
|
|
263
|
+
:explanation=>
|
|
264
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
|
265
|
+
:type=>:Float},
|
|
266
|
+
:refmaskupper=>
|
|
267
|
+
{:should_include=>"true",
|
|
268
|
+
:description=>nil,
|
|
269
|
+
:help=>nil,
|
|
270
|
+
:code_name=>:refmaskupper,
|
|
271
|
+
:must_pass=>
|
|
272
|
+
[{:test=>"kind_of? Numeric",
|
|
273
|
+
:explanation=>
|
|
274
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
|
275
|
+
:type=>:Float}}},
|
|
276
|
+
:output=>
|
|
277
|
+
{:description=>"",
|
|
278
|
+
:should_include=>"true",
|
|
279
|
+
:variables=>
|
|
280
|
+
{:rectangledata=>
|
|
281
|
+
{:should_include=>"true",
|
|
282
|
+
:description=>nil,
|
|
283
|
+
:help=>nil,
|
|
284
|
+
:code_name=>:rectangledata,
|
|
285
|
+
:must_pass=>
|
|
286
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
|
287
|
+
:explanation=>
|
|
288
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
|
289
|
+
:type=>:Fortran_Bool},
|
|
290
|
+
:charge_out=>
|
|
291
|
+
{:should_include=>"true",
|
|
292
|
+
:description=>nil,
|
|
293
|
+
:help=>nil,
|
|
294
|
+
:code_name=>:charge,
|
|
295
|
+
:must_pass=>
|
|
296
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
|
297
|
+
:explanation=>
|
|
298
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
|
299
|
+
:type=>:Fortran_Bool},
|
|
300
|
+
:energy=>
|
|
301
|
+
{:should_include=>"true",
|
|
302
|
+
:description=>nil,
|
|
303
|
+
:help=>nil,
|
|
304
|
+
:code_name=>:energy,
|
|
305
|
+
:must_pass=>
|
|
306
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
|
307
|
+
:explanation=>
|
|
308
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
|
309
|
+
:type=>:Fortran_Bool},
|
|
310
|
+
:potential=>
|
|
311
|
+
{:should_include=>"true",
|
|
312
|
+
:description=>nil,
|
|
313
|
+
:help=>nil,
|
|
314
|
+
:code_name=>:potential,
|
|
315
|
+
:must_pass=>
|
|
316
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
|
317
|
+
:explanation=>
|
|
318
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
|
319
|
+
:type=>:Fortran_Bool},
|
|
320
|
+
:efieldlong=>
|
|
321
|
+
{:should_include=>"true",
|
|
322
|
+
:description=>nil,
|
|
323
|
+
:help=>nil,
|
|
324
|
+
:code_name=>:efieldlong,
|
|
325
|
+
:must_pass=>
|
|
326
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
|
327
|
+
:explanation=>
|
|
328
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
|
329
|
+
:type=>:Fortran_Bool},
|
|
330
|
+
:efieldtrans=>
|
|
331
|
+
{:should_include=>"true",
|
|
332
|
+
:description=>nil,
|
|
333
|
+
:help=>nil,
|
|
334
|
+
:code_name=>:efieldtrans,
|
|
335
|
+
:must_pass=>
|
|
336
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
|
337
|
+
:explanation=>
|
|
338
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
|
339
|
+
:type=>:Fortran_Bool},
|
|
340
|
+
:bfieldtrans=>
|
|
341
|
+
{:should_include=>"true",
|
|
342
|
+
:description=>nil,
|
|
343
|
+
:help=>nil,
|
|
344
|
+
:code_name=>:bfieldtrans,
|
|
345
|
+
:must_pass=>
|
|
346
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
|
347
|
+
:explanation=>
|
|
348
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
|
349
|
+
:type=>:Fortran_Bool},
|
|
350
|
+
:afieldsq=>
|
|
351
|
+
{:should_include=>"true",
|
|
352
|
+
:description=>nil,
|
|
353
|
+
:help=>nil,
|
|
354
|
+
:code_name=>:afieldsq,
|
|
355
|
+
:must_pass=>
|
|
356
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
|
357
|
+
:explanation=>
|
|
358
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
|
359
|
+
:type=>:Fortran_Bool},
|
|
360
|
+
:precision=>
|
|
361
|
+
{:should_include=>"true",
|
|
362
|
+
:description=>nil,
|
|
363
|
+
:help=>nil,
|
|
364
|
+
:code_name=>:precision,
|
|
365
|
+
:must_pass=>
|
|
366
|
+
[{:test=>"kind_of? Integer",
|
|
367
|
+
:explanation=>"This variable must be an integer."}],
|
|
368
|
+
:type=>:Integer}}},
|
|
369
|
+
:laser=>
|
|
370
|
+
{:description=>"",
|
|
371
|
+
:should_include=>"true",
|
|
372
|
+
:variables=>
|
|
373
|
+
{:a0=>
|
|
374
|
+
{:should_include=>"true",
|
|
375
|
+
:description=>nil,
|
|
376
|
+
:help=>nil,
|
|
377
|
+
:code_name=>:a0,
|
|
378
|
+
:must_pass=>
|
|
379
|
+
[{:test=>"kind_of? Numeric",
|
|
380
|
+
:explanation=>
|
|
381
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
|
382
|
+
:type=>:Float},
|
|
383
|
+
:laser_shape=>
|
|
384
|
+
{:should_include=>"true",
|
|
385
|
+
:description=>nil,
|
|
386
|
+
:help=>nil,
|
|
387
|
+
:code_name=>:laser_shape,
|
|
388
|
+
:must_pass=>
|
|
389
|
+
[{:test=>"kind_of? Numeric",
|
|
390
|
+
:explanation=>
|
|
391
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
|
392
|
+
:type=>:Float},
|
|
393
|
+
:lshape_npars=>
|
|
394
|
+
{:should_include=>"true",
|
|
395
|
+
:description=>nil,
|
|
396
|
+
:help=>nil,
|
|
397
|
+
:code_name=>:lshape_npars,
|
|
398
|
+
:must_pass=>
|
|
399
|
+
[{:test=>"kind_of? Integer",
|
|
400
|
+
:explanation=>"This variable must be an integer."}],
|
|
401
|
+
:type=>:Integer},
|
|
402
|
+
:laser_func=>
|
|
403
|
+
{:should_include=>"true",
|
|
404
|
+
:description=>nil,
|
|
405
|
+
:help=>nil,
|
|
406
|
+
:code_name=>:laser_func,
|
|
407
|
+
:must_pass=>
|
|
408
|
+
[{:test=>"kind_of? String",
|
|
409
|
+
:explanation=>"This variable must be a string."}],
|
|
410
|
+
:type=>:String},
|
|
411
|
+
:lambda=>
|
|
412
|
+
{:should_include=>"true",
|
|
413
|
+
:description=>nil,
|
|
414
|
+
:help=>nil,
|
|
415
|
+
:code_name=>:lambda,
|
|
416
|
+
:must_pass=>
|
|
417
|
+
[{:test=>"kind_of? Numeric",
|
|
418
|
+
:explanation=>
|
|
419
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
|
420
|
+
:type=>:Float}}}}
|
data/lib/veritascrmod/veritas.rb
CHANGED
|
@@ -168,6 +168,85 @@ EOF1
|
|
|
168
168
|
'.in'
|
|
169
169
|
end
|
|
170
170
|
|
|
171
|
+
# Override CodeRunner for 0-based# Override CodeRunner for 0-based# Override CodeRunner for 0-based
|
|
172
|
+
def input_file_text
|
|
173
|
+
text = input_file_header
|
|
174
|
+
rcp.namelists.each do |namelist, hash|
|
|
175
|
+
next if hash[:should_include].kind_of? String and not eval(hash[:should_include])
|
|
176
|
+
if en = hash[:enumerator] # Single = is deliberate!
|
|
177
|
+
next unless send(en[:name])
|
|
178
|
+
send(en[:name]).times do |i|
|
|
179
|
+
next unless hash[:variables].keys.inject(false){|b, v| b or !send(v+"_#{i+0}".to_sym).nil?} # i.e. at least one variable must be non-nil
|
|
180
|
+
text << namelist_text(namelist, i+0)
|
|
181
|
+
end
|
|
182
|
+
else
|
|
183
|
+
next unless hash[:variables].keys.inject(false){|b, v| b or !send(v).nil?} # i.e. at least one variable must be non-nil
|
|
184
|
+
text << namelist_text(namelist)
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
end
|
|
189
|
+
text
|
|
190
|
+
end
|
|
191
|
+
def namelist_text(namelist, enum = nil)
|
|
192
|
+
hash = rcp.namelists[namelist]
|
|
193
|
+
text = ""
|
|
194
|
+
ext = enum ? "_#{enum}" : ""
|
|
195
|
+
text << "!#{'='*30}\n!#{hash[:description]} #{enum} \n!#{'='*30}\n" if hash[:description]
|
|
196
|
+
text << "&#{namelist}#{ext}\n"
|
|
197
|
+
hash[:variables].each do |var, var_hash|
|
|
198
|
+
code_var = (var_hash[:code_name] or var)
|
|
199
|
+
cr_var = var+ext.to_sym
|
|
200
|
+
value = send(cr_var)
|
|
201
|
+
if send(cr_var) and (not var_hash[:should_include] or eval(var_hash[:should_include]))
|
|
202
|
+
if value.kind_of? Array
|
|
203
|
+
value.each_with_index do |v, i|
|
|
204
|
+
output = formatted_variable_output(v)
|
|
205
|
+
text << " #{code_var}(#{i+0}) = #{output} #{var_hash[:description] ? "! #{var_hash[:description]}": ""}\n"
|
|
206
|
+
end
|
|
207
|
+
else
|
|
208
|
+
output = formatted_variable_output(value)
|
|
209
|
+
text << " #{code_var} = #{output} #{var_hash[:description] ? "! #{var_hash[:description]}": ""}\n"
|
|
210
|
+
end
|
|
211
|
+
elsif rcp.namelists_to_print_not_specified? and rcp.namelists_to_print_not_specified.include?(namelist)
|
|
212
|
+
text << " ! #{code_var} not specified --- #{var_hash[:description]}\n"
|
|
213
|
+
end
|
|
214
|
+
end
|
|
215
|
+
text << "/\n\n"
|
|
216
|
+
text
|
|
217
|
+
end
|
|
218
|
+
@variables = @namelists.inject([]) do |arr, (namelist, namelist_hash)|
|
|
219
|
+
if en = namelist_hash[:enumerator]
|
|
220
|
+
en[:estimated_value].times do |i|
|
|
221
|
+
namelist_hash[:variables].each{|var, var_hash| arr.push var + "_#{i+0}".to_sym}
|
|
222
|
+
end
|
|
223
|
+
else
|
|
224
|
+
namelist_hash[:variables].each{|var, var_hash| arr.push var}
|
|
225
|
+
end
|
|
226
|
+
arr
|
|
227
|
+
end
|
|
228
|
+
def self.defaults_file_text_from_input_file(input_file)
|
|
229
|
+
string = defaults_file_header
|
|
230
|
+
|
|
231
|
+
hash = parse_input_file(input_file)
|
|
232
|
+
#pp hash; exit
|
|
233
|
+
#ep ['class', self.to_s, 'namelists', rcp.namelists.keys, 'code_long', rcp.code_long, 'namelist_hashes', rcp.namelists.values.map{|v| v.class}]
|
|
234
|
+
rcp.namelists.each do |namelist, namelist_hash|
|
|
235
|
+
#ep namelist
|
|
236
|
+
if namelist_hash[:enumerator] # ie. This is an indexed namelist
|
|
237
|
+
#p namelist_hash[:enumerator]
|
|
238
|
+
enumerator = namelist_hash[:enumerator][:name]
|
|
239
|
+
enum_hash = hash.find{|nml, nmlh| nmlh[enumerator]}
|
|
240
|
+
next unless enum_hash
|
|
241
|
+
#pp enum_hash
|
|
242
|
+
enum = enum_hash[1][enumerator]
|
|
243
|
+
enum.times{|i| string << namelist_defaults_text(hash, namelist, namelist_hash, i+0)}
|
|
244
|
+
else
|
|
245
|
+
string << namelist_defaults_text(hash, namelist, namelist_hash)
|
|
246
|
+
end
|
|
247
|
+
end
|
|
248
|
+
string
|
|
249
|
+
end
|
|
171
250
|
end
|
|
172
251
|
end
|
|
173
252
|
|
data/test/test.in
CHANGED
data/test/test_veritas.rb
CHANGED
|
@@ -30,12 +30,12 @@ class TestVeritas < MiniTest::Test
|
|
|
30
30
|
@runner.run_class.make_new_defaults_file("rake_test", "test/test.in")
|
|
31
31
|
FileUtils.mv('rake_test_defaults.rb', 'test/test_results')
|
|
32
32
|
if ENV['VERITAS_EXEC']
|
|
33
|
-
CodeRunner.submit(Y: 'test/test_results', T: false, D: 'rake_test', n: '1', X: ENV['VERITAS_EXEC'], p: '{
|
|
33
|
+
CodeRunner.submit(Y: 'test/test_results', T: false, D: 'rake_test', n: '1', X: ENV['VERITAS_EXEC'], p: '{np_0: 16, np_1: 16}')
|
|
34
34
|
end
|
|
35
35
|
base_hash = @runner.run_class.parse_input_file('test/test.in')
|
|
36
|
-
test_hash = @runner.run_class.parse_input_file('test/test_results/v/id_1/
|
|
36
|
+
test_hash = @runner.run_class.parse_input_file('test/test_results/v/id_1/v_np_0_16_np_1_16_id_1.in')
|
|
37
37
|
assert_equal(base_hash, test_hash)
|
|
38
38
|
CodeRunner.status(Y: 'test/test_results')
|
|
39
|
-
cleanup if FileTest.exist?('test/test_results')
|
|
39
|
+
#cleanup if FileTest.exist?('test/test_results')
|
|
40
40
|
end
|
|
41
41
|
end
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Generated by juwelier
|
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
|
3
|
+
# Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
|
|
4
|
+
# -*- encoding: utf-8 -*-
|
|
5
|
+
# stub: veritascrmod 0.2.0 ruby lib
|
|
6
|
+
|
|
7
|
+
Gem::Specification.new do |s|
|
|
8
|
+
s.name = "veritascrmod"
|
|
9
|
+
s.version = "0.2.0"
|
|
10
|
+
|
|
11
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
12
|
+
s.require_paths = ["lib"]
|
|
13
|
+
s.authors = ["Edmund Highcock"]
|
|
14
|
+
s.date = "2016-08-10"
|
|
15
|
+
s.description = "A CodeRunner module for the Veritas Vlasov Solver"
|
|
16
|
+
s.email = "edmundhighcock@users.sourceforge.net"
|
|
17
|
+
s.extra_rdoc_files = [
|
|
18
|
+
"LICENSE.txt",
|
|
19
|
+
"README.rdoc"
|
|
20
|
+
]
|
|
21
|
+
s.files = [
|
|
22
|
+
".document",
|
|
23
|
+
"Gemfile",
|
|
24
|
+
"LICENSE.txt",
|
|
25
|
+
"README.rdoc",
|
|
26
|
+
"Rakefile",
|
|
27
|
+
"VERSION",
|
|
28
|
+
"lib/veritascrmod.rb",
|
|
29
|
+
"lib/veritascrmod/namelists.rb",
|
|
30
|
+
"lib/veritascrmod/veritas.rb",
|
|
31
|
+
"sync_variables/helper.rb",
|
|
32
|
+
"sync_variables/sync_variables.rb",
|
|
33
|
+
"test/helper.rb",
|
|
34
|
+
"test/test.in",
|
|
35
|
+
"test/test_veritas.rb",
|
|
36
|
+
"veritascrmod.gemspec"
|
|
37
|
+
]
|
|
38
|
+
s.homepage = "http://github.com/coderunner-framework/veritascrmod"
|
|
39
|
+
s.licenses = ["MIT"]
|
|
40
|
+
s.rubygems_version = "2.4.8"
|
|
41
|
+
s.summary = "A CodeRunner module for the Veritas Vlasov Solver"
|
|
42
|
+
|
|
43
|
+
if s.respond_to? :specification_version then
|
|
44
|
+
s.specification_version = 4
|
|
45
|
+
|
|
46
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
|
47
|
+
s.add_runtime_dependency(%q<coderunner>, [">= 1.0.0"])
|
|
48
|
+
s.add_runtime_dependency(%q<narray>, [">= 0"])
|
|
49
|
+
s.add_development_dependency(%q<shoulda>, [">= 0"])
|
|
50
|
+
s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
|
|
51
|
+
s.add_development_dependency(%q<bundler>, ["~> 1.0"])
|
|
52
|
+
s.add_development_dependency(%q<juwelier>, ["~> 2.1.0"])
|
|
53
|
+
s.add_development_dependency(%q<simplecov>, [">= 0"])
|
|
54
|
+
else
|
|
55
|
+
s.add_dependency(%q<coderunner>, [">= 1.0.0"])
|
|
56
|
+
s.add_dependency(%q<narray>, [">= 0"])
|
|
57
|
+
s.add_dependency(%q<shoulda>, [">= 0"])
|
|
58
|
+
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
|
59
|
+
s.add_dependency(%q<bundler>, ["~> 1.0"])
|
|
60
|
+
s.add_dependency(%q<juwelier>, ["~> 2.1.0"])
|
|
61
|
+
s.add_dependency(%q<simplecov>, [">= 0"])
|
|
62
|
+
end
|
|
63
|
+
else
|
|
64
|
+
s.add_dependency(%q<coderunner>, [">= 1.0.0"])
|
|
65
|
+
s.add_dependency(%q<narray>, [">= 0"])
|
|
66
|
+
s.add_dependency(%q<shoulda>, [">= 0"])
|
|
67
|
+
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
|
68
|
+
s.add_dependency(%q<bundler>, ["~> 1.0"])
|
|
69
|
+
s.add_dependency(%q<juwelier>, ["~> 2.1.0"])
|
|
70
|
+
s.add_dependency(%q<simplecov>, [">= 0"])
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: veritascrmod
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Edmund Highcock
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-08-
|
|
11
|
+
date: 2016-08-10 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: coderunner
|
|
@@ -130,6 +130,7 @@ files:
|
|
|
130
130
|
- test/helper.rb
|
|
131
131
|
- test/test.in
|
|
132
132
|
- test/test_veritas.rb
|
|
133
|
+
- veritascrmod.gemspec
|
|
133
134
|
homepage: http://github.com/coderunner-framework/veritascrmod
|
|
134
135
|
licenses:
|
|
135
136
|
- MIT
|