gs2crmod 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. data/.document +5 -0
  2. data/Gemfile +13 -0
  3. data/LICENSE.txt +20 -0
  4. data/README.md +4 -0
  5. data/README.rdoc +19 -0
  6. data/Rakefile +56 -0
  7. data/VERSION +1 -0
  8. data/ext/extconf.rb +9 -0
  9. data/ext/gs2crmod_ext.c +366 -0
  10. data/gs2crmod.gemspec +98 -0
  11. data/include/gs2crmod_ext.h +58 -0
  12. data/lib/gs2crmod/astrogk/astrogk.rb +201 -0
  13. data/lib/gs2crmod/astrogk/calculations.rb +57 -0
  14. data/lib/gs2crmod/astrogk/check_convergence.rb +7 -0
  15. data/lib/gs2crmod/astrogk/deleted_variables.rb +76 -0
  16. data/lib/gs2crmod/astrogk/graphs.rb +13 -0
  17. data/lib/gs2crmod/astrogk/gsl_data.rb +13 -0
  18. data/lib/gs2crmod/astrogk/gsl_tools.rb +182 -0
  19. data/lib/gs2crmod/astrogk/ingen.rb +18 -0
  20. data/lib/gs2crmod/astrogk/input_file_tools.rb +7 -0
  21. data/lib/gs2crmod/astrogk/namelist_tools.rb +14 -0
  22. data/lib/gs2crmod/astrogk/namelists.rb +2800 -0
  23. data/lib/gs2crmod/astrogk/properties.rb +17 -0
  24. data/lib/gs2crmod/astrogk/species_dependent_namelists.rb +228 -0
  25. data/lib/gs2crmod/astrogk/test_gs2.rb +231 -0
  26. data/lib/gs2crmod/astrogk.rb +200 -0
  27. data/lib/gs2crmod/calculations.rb +780 -0
  28. data/lib/gs2crmod/check_convergence.rb +179 -0
  29. data/lib/gs2crmod/deleted_variables.rb +916 -0
  30. data/lib/gs2crmod/graphs.rb +1899 -0
  31. data/lib/gs2crmod/graphs_rdoc.rb +556 -0
  32. data/lib/gs2crmod/gs2.rb +1143 -0
  33. data/lib/gs2crmod/gsl_data.rb +1181 -0
  34. data/lib/gs2crmod/gsl_data_3d.rb +705 -0
  35. data/lib/gs2crmod/gsl_tools.rb +187 -0
  36. data/lib/gs2crmod/ingen.rb +218 -0
  37. data/lib/gs2crmod/namelists.rb +5142 -0
  38. data/lib/gs2crmod/properties.rb +22 -0
  39. data/lib/gs2crmod/species_dependent_namelists.rb +228 -0
  40. data/lib/gs2crmod/test_gs2.rb +231 -0
  41. data/lib/gs2crmod.rb +2 -0
  42. data/lib/gs2crmod_extension.rb +1 -0
  43. data/test/helper.rb +18 -0
  44. data/test/test_gs2crmod.rb +7 -0
  45. metadata +176 -0
@@ -0,0 +1,2800 @@
1
+ {:diagnostics=>
2
+ {:description=>"",
3
+ :should_include=>"true",
4
+ :variables=>
5
+ {:print_line=>
6
+ {:should_include=>"true",
7
+ :description=>nil,
8
+ :help=>nil,
9
+ :tests=>["Tst::FORTRAN_BOOL"],
10
+ :code_name=>:print_line,
11
+ :must_pass=>
12
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
13
+ :explanation=>
14
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
15
+ :type=>:Fortran_Bool},
16
+ :print_flux_line=>
17
+ {:should_include=>"true",
18
+ :description=>nil,
19
+ :help=>nil,
20
+ :tests=>["Tst::FORTRAN_BOOL"],
21
+ :code_name=>:print_flux_line,
22
+ :must_pass=>
23
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
24
+ :explanation=>
25
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
26
+ :type=>:Fortran_Bool},
27
+ :write_linear=>
28
+ {:should_include=>"true",
29
+ :description=>nil,
30
+ :help=>nil,
31
+ :tests=>["Tst::FORTRAN_BOOL"],
32
+ :code_name=>:write_linear,
33
+ :must_pass=>
34
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
35
+ :explanation=>
36
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
37
+ :type=>:Fortran_Bool},
38
+ :write_nonlin=>
39
+ {:should_include=>"true",
40
+ :description=>nil,
41
+ :help=>nil,
42
+ :tests=>["Tst::FORTRAN_BOOL"],
43
+ :code_name=>:write_nonlin,
44
+ :must_pass=>
45
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
46
+ :explanation=>
47
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
48
+ :type=>:Fortran_Bool},
49
+ :write_omega=>
50
+ {:should_include=>"true",
51
+ :description=>nil,
52
+ :help=>nil,
53
+ :tests=>["Tst::FORTRAN_BOOL"],
54
+ :code_name=>:write_omega,
55
+ :must_pass=>
56
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
57
+ :explanation=>
58
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
59
+ :type=>:Fortran_Bool},
60
+ :write_omavg=>
61
+ {:should_include=>"true",
62
+ :description=>nil,
63
+ :help=>nil,
64
+ :tests=>["Tst::FORTRAN_BOOL"],
65
+ :code_name=>:write_omavg,
66
+ :must_pass=>
67
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
68
+ :explanation=>
69
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
70
+ :type=>:Fortran_Bool},
71
+ :write_ascii=>
72
+ {:should_include=>"true",
73
+ :description=>nil,
74
+ :help=>nil,
75
+ :tests=>["Tst::FORTRAN_BOOL"],
76
+ :code_name=>:write_ascii,
77
+ :must_pass=>
78
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
79
+ :explanation=>
80
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
81
+ :type=>:Fortran_Bool},
82
+ :write_kpar=>
83
+ {:should_include=>"true",
84
+ :description=>nil,
85
+ :help=>nil,
86
+ :tests=>["Tst::FORTRAN_BOOL"],
87
+ :code_name=>:write_kpar,
88
+ :must_pass=>
89
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
90
+ :explanation=>
91
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
92
+ :type=>:Fortran_Bool},
93
+ :write_gs=>
94
+ {:should_include=>"true",
95
+ :description=>nil,
96
+ :help=>nil,
97
+ :tests=>["Tst::FORTRAN_BOOL"],
98
+ :code_name=>:write_gs,
99
+ :must_pass=>
100
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
101
+ :explanation=>
102
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
103
+ :type=>:Fortran_Bool},
104
+ :write_g=>
105
+ {:should_include=>"true",
106
+ :description=>nil,
107
+ :help=>nil,
108
+ :tests=>["Tst::FORTRAN_BOOL"],
109
+ :code_name=>:write_g,
110
+ :must_pass=>
111
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
112
+ :explanation=>
113
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
114
+ :type=>:Fortran_Bool},
115
+ :write_gg=>
116
+ {:should_include=>"true",
117
+ :description=>nil,
118
+ :help=>nil,
119
+ :tests=>["Tst::FORTRAN_BOOL"],
120
+ :code_name=>:write_gg,
121
+ :must_pass=>
122
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
123
+ :explanation=>
124
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
125
+ :type=>:Fortran_Bool},
126
+ :write_vspace_slices=>
127
+ {:should_include=>"true",
128
+ :description=>nil,
129
+ :help=>nil,
130
+ :tests=>["Tst::FORTRAN_BOOL"],
131
+ :code_name=>:write_vspace_slices,
132
+ :must_pass=>
133
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
134
+ :explanation=>
135
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
136
+ :type=>:Fortran_Bool},
137
+ :write_hrate=>
138
+ {:should_include=>"true",
139
+ :description=>nil,
140
+ :help=>nil,
141
+ :tests=>["Tst::FORTRAN_BOOL"],
142
+ :code_name=>:write_hrate,
143
+ :must_pass=>
144
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
145
+ :explanation=>
146
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
147
+ :type=>:Fortran_Bool},
148
+ :write_elsasser=>
149
+ {:should_include=>"true",
150
+ :description=>nil,
151
+ :help=>nil,
152
+ :tests=>["Tst::FORTRAN_BOOL"],
153
+ :code_name=>:write_elsasser,
154
+ :must_pass=>
155
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
156
+ :explanation=>
157
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
158
+ :type=>:Fortran_Bool},
159
+ :write_density_velocity=>
160
+ {:should_include=>"true",
161
+ :description=>nil,
162
+ :help=>nil,
163
+ :tests=>["Tst::FORTRAN_BOOL"],
164
+ :code_name=>:write_density_velocity,
165
+ :must_pass=>
166
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
167
+ :explanation=>
168
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
169
+ :type=>:Fortran_Bool},
170
+ :write_epartot=>
171
+ {:should_include=>"true",
172
+ :description=>nil,
173
+ :help=>nil,
174
+ :tests=>["Tst::FORTRAN_BOOL"],
175
+ :code_name=>:write_epartot,
176
+ :must_pass=>
177
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
178
+ :explanation=>
179
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
180
+ :type=>:Fortran_Bool},
181
+ :write_final_fields=>
182
+ {:should_include=>"true",
183
+ :description=>nil,
184
+ :help=>nil,
185
+ :tests=>["Tst::FORTRAN_BOOL"],
186
+ :code_name=>:write_final_fields,
187
+ :must_pass=>
188
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
189
+ :explanation=>
190
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
191
+ :type=>:Fortran_Bool},
192
+ :write_final_epar=>
193
+ {:should_include=>"true",
194
+ :description=>nil,
195
+ :help=>nil,
196
+ :tests=>["Tst::FORTRAN_BOOL"],
197
+ :code_name=>:write_final_epar,
198
+ :must_pass=>
199
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
200
+ :explanation=>
201
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
202
+ :type=>:Fortran_Bool},
203
+ :write_final_moments=>
204
+ {:should_include=>"true",
205
+ :description=>nil,
206
+ :help=>nil,
207
+ :tests=>["Tst::FORTRAN_BOOL"],
208
+ :code_name=>:write_final_moments,
209
+ :must_pass=>
210
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
211
+ :explanation=>
212
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
213
+ :type=>:Fortran_Bool},
214
+ :write_avg_moments=>
215
+ {:should_include=>"true",
216
+ :description=>nil,
217
+ :help=>nil,
218
+ :tests=>["Tst::FORTRAN_BOOL"],
219
+ :code_name=>:write_avg_moments,
220
+ :must_pass=>
221
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
222
+ :explanation=>
223
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
224
+ :type=>:Fortran_Bool},
225
+ :write_Epolar=>
226
+ {:should_include=>"true",
227
+ :description=>nil,
228
+ :help=>nil,
229
+ :tests=>["Tst::FORTRAN_BOOL"],
230
+ :code_name=>:write_Epolar,
231
+ :must_pass=>
232
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
233
+ :explanation=>
234
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
235
+ :type=>:Fortran_Bool},
236
+ :write_Eshell=>
237
+ {:should_include=>"true",
238
+ :description=>nil,
239
+ :help=>nil,
240
+ :tests=>["Tst::FORTRAN_BOOL"],
241
+ :code_name=>:write_Eshell,
242
+ :must_pass=>
243
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
244
+ :explanation=>
245
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
246
+ :type=>:Fortran_Bool},
247
+ :write_nl_flux=>
248
+ {:should_include=>"true",
249
+ :description=>nil,
250
+ :help=>nil,
251
+ :tests=>["Tst::FORTRAN_BOOL"],
252
+ :code_name=>:write_nl_flux,
253
+ :must_pass=>
254
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
255
+ :explanation=>
256
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
257
+ :type=>:Fortran_Bool},
258
+ :write_full_moments_r=>
259
+ {:should_include=>"true",
260
+ :description=>nil,
261
+ :help=>nil,
262
+ :tests=>["Tst::FORTRAN_BOOL"],
263
+ :code_name=>:write_full_moments_r,
264
+ :must_pass=>
265
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
266
+ :explanation=>
267
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
268
+ :type=>:Fortran_Bool},
269
+ :nwrite=>
270
+ {:should_include=>"true",
271
+ :description=>nil,
272
+ :help=>nil,
273
+ :tests=>["Tst::INT"],
274
+ :code_name=>:nwrite,
275
+ :must_pass=>
276
+ [{:test=>"kind_of? Integer",
277
+ :explanation=>"This variable must be an integer."}],
278
+ :type=>:Integer},
279
+ :nmovie=>
280
+ {:should_include=>"true",
281
+ :description=>nil,
282
+ :help=>nil,
283
+ :tests=>["Tst::INT"],
284
+ :code_name=>:nmovie,
285
+ :must_pass=>
286
+ [{:test=>"kind_of? Integer",
287
+ :explanation=>"This variable must be an integer."}],
288
+ :type=>:Integer},
289
+ :nwrite2=>
290
+ {:should_include=>"true",
291
+ :description=>nil,
292
+ :help=>nil,
293
+ :tests=>["Tst::INT"],
294
+ :code_name=>:nwrite2,
295
+ :must_pass=>
296
+ [{:test=>"kind_of? Integer",
297
+ :explanation=>"This variable must be an integer."}],
298
+ :type=>:Integer},
299
+ :nsave=>
300
+ {:should_include=>"true",
301
+ :description=>nil,
302
+ :help=>nil,
303
+ :tests=>["Tst::INT"],
304
+ :code_name=>:nsave,
305
+ :must_pass=>
306
+ [{:test=>"kind_of? Integer",
307
+ :explanation=>"This variable must be an integer."}],
308
+ :type=>:Integer},
309
+ :navg=>
310
+ {:should_include=>"true",
311
+ :description=>nil,
312
+ :help=>nil,
313
+ :tests=>["Tst::INT"],
314
+ :code_name=>:navg,
315
+ :must_pass=>
316
+ [{:test=>"kind_of? Integer",
317
+ :explanation=>"This variable must be an integer."}],
318
+ :type=>:Integer},
319
+ :omegatol=>
320
+ {:should_include=>"true",
321
+ :description=>nil,
322
+ :help=>nil,
323
+ :tests=>["Tst::FLOAT"],
324
+ :code_name=>:omegatol,
325
+ :must_pass=>
326
+ [{:test=>"kind_of? Numeric",
327
+ :explanation=>
328
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
329
+ :type=>:Float},
330
+ :omegatinst=>
331
+ {:should_include=>"true",
332
+ :description=>nil,
333
+ :help=>nil,
334
+ :tests=>["Tst::FLOAT"],
335
+ :code_name=>:omegatinst,
336
+ :must_pass=>
337
+ [{:test=>"kind_of? Numeric",
338
+ :explanation=>
339
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
340
+ :type=>:Float},
341
+ :igomega=>
342
+ {:should_include=>"true",
343
+ :description=>nil,
344
+ :help=>nil,
345
+ :tests=>["Tst::INT"],
346
+ :code_name=>:igomega,
347
+ :must_pass=>
348
+ [{:test=>"kind_of? Integer",
349
+ :explanation=>"This variable must be an integer."}],
350
+ :type=>:Integer},
351
+ :write_lorentzian=>
352
+ {:should_include=>"true",
353
+ :description=>nil,
354
+ :help=>nil,
355
+ :tests=>["Tst::FORTRAN_BOOL"],
356
+ :code_name=>:write_lorentzian,
357
+ :must_pass=>
358
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
359
+ :explanation=>
360
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
361
+ :type=>:Fortran_Bool},
362
+ :exit_when_converged=>
363
+ {:should_include=>"true",
364
+ :description=>nil,
365
+ :help=>nil,
366
+ :tests=>["Tst::FORTRAN_BOOL"],
367
+ :code_name=>:exit_when_converged,
368
+ :must_pass=>
369
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
370
+ :explanation=>
371
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
372
+ :type=>:Fortran_Bool},
373
+ :make_movie=>
374
+ {:should_include=>"true",
375
+ :description=>nil,
376
+ :help=>nil,
377
+ :tests=>["Tst::FORTRAN_BOOL"],
378
+ :code_name=>:make_movie,
379
+ :must_pass=>
380
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
381
+ :explanation=>
382
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
383
+ :type=>:Fortran_Bool},
384
+ :save_for_restart=>
385
+ {:should_include=>"true",
386
+ :description=>nil,
387
+ :help=>nil,
388
+ :tests=>["Tst::FORTRAN_BOOL"],
389
+ :code_name=>:save_for_restart,
390
+ :must_pass=>
391
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
392
+ :explanation=>
393
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
394
+ :type=>:Fortran_Bool},
395
+ :write_adapt_hc=>
396
+ {:should_include=>"true",
397
+ :description=>nil,
398
+ :help=>nil,
399
+ :tests=>["Tst::FORTRAN_BOOL"],
400
+ :code_name=>:write_adapt_hc,
401
+ :must_pass=>
402
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
403
+ :explanation=>
404
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
405
+ :type=>:Fortran_Bool},
406
+ :write_verr=>
407
+ {:should_include=>"true",
408
+ :description=>nil,
409
+ :help=>nil,
410
+ :tests=>["Tst::FORTRAN_BOOL"],
411
+ :code_name=>:write_verr,
412
+ :must_pass=>
413
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
414
+ :explanation=>
415
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
416
+ :type=>:Fortran_Bool},
417
+ :write_vspectrum=>
418
+ {:should_include=>"true",
419
+ :description=>nil,
420
+ :help=>nil,
421
+ :tests=>["Tst::FORTRAN_BOOL"],
422
+ :code_name=>:write_vspectrum,
423
+ :must_pass=>
424
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
425
+ :explanation=>
426
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
427
+ :type=>:Fortran_Bool},
428
+ :write_kspectrum=>
429
+ {:should_include=>"true",
430
+ :description=>nil,
431
+ :help=>nil,
432
+ :tests=>["Tst::FORTRAN_BOOL"],
433
+ :code_name=>:write_kspectrum,
434
+ :must_pass=>
435
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
436
+ :explanation=>
437
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
438
+ :type=>:Fortran_Bool},
439
+ :write_init=>
440
+ {:should_include=>"true",
441
+ :description=>nil,
442
+ :help=>nil,
443
+ :tests=>["Tst::FORTRAN_BOOL"],
444
+ :code_name=>:write_init,
445
+ :must_pass=>
446
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
447
+ :explanation=>
448
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
449
+ :type=>:Fortran_Bool},
450
+ :write_gkp=>
451
+ {:should_include=>"true",
452
+ :description=>nil,
453
+ :help=>nil,
454
+ :tests=>["Tst::FORTRAN_BOOL"],
455
+ :code_name=>:write_gkp,
456
+ :must_pass=>
457
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
458
+ :explanation=>
459
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
460
+ :type=>:Fortran_Bool},
461
+ :write_hkv=>
462
+ {:should_include=>"true",
463
+ :description=>nil,
464
+ :help=>nil,
465
+ :tests=>["Tst::FORTRAN_BOOL"],
466
+ :code_name=>:write_hkv,
467
+ :must_pass=>
468
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
469
+ :explanation=>
470
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
471
+ :type=>:Fortran_Bool},
472
+ :write_ktrans=>
473
+ {:should_include=>"true",
474
+ :description=>nil,
475
+ :help=>nil,
476
+ :tests=>["Tst::FORTRAN_BOOL"],
477
+ :code_name=>:write_ktrans,
478
+ :must_pass=>
479
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
480
+ :explanation=>
481
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
482
+ :type=>:Fortran_Bool},
483
+ :use_qshell=>
484
+ {:should_include=>"true",
485
+ :description=>nil,
486
+ :help=>nil,
487
+ :tests=>["Tst::FORTRAN_BOOL"],
488
+ :code_name=>:use_qshell,
489
+ :must_pass=>
490
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
491
+ :explanation=>
492
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
493
+ :type=>:Fortran_Bool},
494
+ :write_ptrans=>
495
+ {:should_include=>"true",
496
+ :description=>nil,
497
+ :help=>nil,
498
+ :tests=>["Tst::FORTRAN_BOOL"],
499
+ :code_name=>:write_ptrans,
500
+ :must_pass=>
501
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
502
+ :explanation=>
503
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
504
+ :type=>:Fortran_Bool},
505
+ :get_wtrans=>
506
+ {:should_include=>"true",
507
+ :description=>nil,
508
+ :help=>nil,
509
+ :tests=>["Tst::FORTRAN_BOOL"],
510
+ :code_name=>:get_wtrans,
511
+ :must_pass=>
512
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
513
+ :explanation=>
514
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
515
+ :type=>:Fortran_Bool},
516
+ :get_etrans=>
517
+ {:should_include=>"true",
518
+ :description=>nil,
519
+ :help=>nil,
520
+ :tests=>["Tst::FORTRAN_BOOL"],
521
+ :code_name=>:get_etrans,
522
+ :must_pass=>
523
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
524
+ :explanation=>
525
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
526
+ :type=>:Fortran_Bool},
527
+ :write_phi_over_time=>
528
+ {:should_include=>"true",
529
+ :description=>nil,
530
+ :help=>nil,
531
+ :tests=>["Tst::FORTRAN_BOOL"],
532
+ :code_name=>:write_phi_over_time,
533
+ :must_pass=>
534
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
535
+ :explanation=>
536
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
537
+ :type=>:Fortran_Bool},
538
+ :write_apar_over_time=>
539
+ {:should_include=>"true",
540
+ :description=>nil,
541
+ :help=>nil,
542
+ :tests=>["Tst::FORTRAN_BOOL"],
543
+ :code_name=>:write_apar_over_time,
544
+ :must_pass=>
545
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
546
+ :explanation=>
547
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
548
+ :type=>:Fortran_Bool},
549
+ :write_bpar_over_time=>
550
+ {:should_include=>"true",
551
+ :description=>nil,
552
+ :help=>nil,
553
+ :tests=>["Tst::FORTRAN_BOOL"],
554
+ :code_name=>:write_bpar_over_time,
555
+ :must_pass=>
556
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
557
+ :explanation=>
558
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
559
+ :type=>:Fortran_Bool}}},
560
+ :equil_io=>
561
+ {:description=>"",
562
+ :should_include=>"true",
563
+ :variables=>
564
+ {:equilibrium_file=>
565
+ {:should_include=>"true",
566
+ :description=>nil,
567
+ :help=>nil,
568
+ :tests=>["Tst::STRING"],
569
+ :code_name=>:equilibrium_file,
570
+ :must_pass=>
571
+ [{:test=>"kind_of? String",
572
+ :explanation=>"This variable must be a string."}],
573
+ :type=>:String}}},
574
+ :layouts_knobs=>
575
+ {:description=>"",
576
+ :should_include=>"true",
577
+ :variables=>
578
+ {:layout=>
579
+ {:should_include=>"true",
580
+ :description=>
581
+ "'yxles', 'lxyes', 'lyxes', 'lexys' Determines the way the grids are laid out in memory.",
582
+ :help=>
583
+ "Determines the way the grids are laid out in memory. Rightmost is parallelised first. \n** Can be 'yxles', 'lxyes', 'lyxes', 'lexys' \n** Strongly affects performance on parallel computers\n** In general avoid parallelizing over x. For this reason 'lxyes' is often a good choice.",
584
+ :tests=>["Tst::STRING"],
585
+ :code_name=>:layout,
586
+ :must_pass=>
587
+ [{:test=>"kind_of? String",
588
+ :explanation=>"This variable must be a string."}],
589
+ :type=>:String},
590
+ :allow_accel=>
591
+ {:should_include=>"true",
592
+ :description=>nil,
593
+ :help=>nil,
594
+ :tests=>["Tst::FORTRAN_BOOL"],
595
+ :code_name=>:allow_accel,
596
+ :must_pass=>
597
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
598
+ :explanation=>
599
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
600
+ :type=>:Fortran_Bool}}},
601
+ :memory=>
602
+ {:description=>"",
603
+ :should_include=>"true",
604
+ :variables=>
605
+ {:mem_account=>
606
+ {:should_include=>"true",
607
+ :description=>nil,
608
+ :help=>nil,
609
+ :tests=>["Tst::FORTRAN_BOOL"],
610
+ :code_name=>:mem_account,
611
+ :must_pass=>
612
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
613
+ :explanation=>
614
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
615
+ :type=>:Fortran_Bool},
616
+ :mem_output_on=>
617
+ {:should_include=>"true",
618
+ :description=>nil,
619
+ :help=>nil,
620
+ :tests=>["Tst::FORTRAN_BOOL"],
621
+ :code_name=>:mem_output_on,
622
+ :must_pass=>
623
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
624
+ :explanation=>
625
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
626
+ :type=>:Fortran_Bool},
627
+ :mem_debug=>
628
+ {:should_include=>"true",
629
+ :description=>nil,
630
+ :help=>nil,
631
+ :tests=>["Tst::FORTRAN_BOOL"],
632
+ :code_name=>:mem_debug,
633
+ :must_pass=>
634
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
635
+ :explanation=>
636
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
637
+ :type=>:Fortran_Bool}}},
638
+ :reinit_knobs=>
639
+ {:description=>"",
640
+ :should_include=>"true",
641
+ :variables=>
642
+ {:delt_adj=>
643
+ {:should_include=>"true",
644
+ :description=>"When the time step needs to be changed, it is adjusted ",
645
+ :help=>"When the time step needs to be changed, it is adjusted ",
646
+ :tests=>["Tst::FLOAT"],
647
+ :code_name=>:delt_adj,
648
+ :must_pass=>
649
+ [{:test=>"kind_of? Numeric",
650
+ :explanation=>
651
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
652
+ :type=>:Float},
653
+ :delt_minimum=>
654
+ {:should_include=>"true",
655
+ :description=>"The minimum time step is delt_minimum.",
656
+ :help=>"The minimum time step is delt_minimum.",
657
+ :tests=>["Tst::FLOAT"],
658
+ :code_name=>:delt_minimum,
659
+ :must_pass=>
660
+ [{:test=>"kind_of? Numeric",
661
+ :explanation=>
662
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
663
+ :type=>:Float},
664
+ :abort_rapid_time_step_change=>
665
+ {:should_include=>"true",
666
+ :description=>nil,
667
+ :help=>nil,
668
+ :tests=>["Tst::FORTRAN_BOOL"],
669
+ :code_name=>:abort_rapid_time_step_change,
670
+ :must_pass=>
671
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
672
+ :explanation=>
673
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
674
+ :type=>:Fortran_Bool}}},
675
+ :driver=>
676
+ {:description=>"",
677
+ :should_include=>"true",
678
+ :variables=>
679
+ {:amplitude=>
680
+ {:should_include=>"true",
681
+ :description=>nil,
682
+ :help=>" Amplitude of Langevin antenna.\n",
683
+ :tests=>["Tst::FLOAT"],
684
+ :code_name=>:amplitude,
685
+ :must_pass=>
686
+ [{:test=>"kind_of? Numeric",
687
+ :explanation=>
688
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
689
+ :type=>:Float},
690
+ :w_antenna=>
691
+ {:should_include=>"true",
692
+ :description=>nil,
693
+ :help=>" Frequency of Langevin antenna.\n",
694
+ :tests=>["true"],
695
+ :code_name=>:w_antenna,
696
+ :must_pass=>
697
+ [{:test=>"kind_of? Complex",
698
+ :explanation=>"This variable must be a complex number."}],
699
+ :type=>:Complex},
700
+ :nk_stir=>
701
+ {:should_include=>"true",
702
+ :description=>nil,
703
+ :help=>" Number of independent Fourier modes driven by antenna.\n",
704
+ :tests=>["Tst::INT"],
705
+ :code_name=>:nk_stir,
706
+ :must_pass=>
707
+ [{:test=>"kind_of? Integer",
708
+ :explanation=>"This variable must be an integer."}],
709
+ :type=>:Integer},
710
+ :write_antenna=>
711
+ {:should_include=>"true",
712
+ :description=>nil,
713
+ :help=>" Write antenna amplitudes to ASCII file for debugging.\n",
714
+ :tests=>["Tst::FORTRAN_BOOL"],
715
+ :code_name=>:write_antenna,
716
+ :must_pass=>
717
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
718
+ :explanation=>
719
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
720
+ :type=>:Fortran_Bool},
721
+ :ant_off=>
722
+ {:should_include=>"true",
723
+ :description=>nil,
724
+ :help=>" Overrides all and turns off antenna if true.\n",
725
+ :tests=>["Tst::FORTRAN_BOOL"],
726
+ :code_name=>:ant_off,
727
+ :must_pass=>
728
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
729
+ :explanation=>
730
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
731
+ :type=>:Fortran_Bool},
732
+ :w_dot=>
733
+ {:should_include=>"true",
734
+ :description=>nil,
735
+ :help=>nil,
736
+ :tests=>["Tst::FLOAT"],
737
+ :code_name=>:w_dot,
738
+ :must_pass=>
739
+ [{:test=>"kind_of? Numeric",
740
+ :explanation=>
741
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
742
+ :type=>:Float},
743
+ :t0=>
744
+ {:should_include=>"true",
745
+ :description=>nil,
746
+ :help=>nil,
747
+ :tests=>["Tst::FLOAT"],
748
+ :code_name=>:t0,
749
+ :must_pass=>
750
+ [{:test=>"kind_of? Numeric",
751
+ :explanation=>
752
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
753
+ :type=>:Float},
754
+ :restarting=>
755
+ {:should_include=>"true",
756
+ :description=>nil,
757
+ :help=>nil,
758
+ :tests=>["Tst::FORTRAN_BOOL"],
759
+ :code_name=>:restarting,
760
+ :must_pass=>
761
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
762
+ :explanation=>
763
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
764
+ :type=>:Fortran_Bool}}},
765
+ :stir=>
766
+ {:description=>"",
767
+ :should_include=>"true",
768
+ :enumerator=>{:name=>:nk_stir, :estimated_value=>10},
769
+ :variables=>
770
+ {:stir_kx=>
771
+ {:should_include=>"true",
772
+ :description=>"Wavenumber of antennae",
773
+ :help=>"Wavenumber of antennae.",
774
+ :code_name=>:kx,
775
+ :must_pass=>
776
+ [{:test=>"kind_of? Integer",
777
+ :explanation=>"This variable must be an integer."}],
778
+ :type=>:Integer},
779
+ :stir_ky=>
780
+ {:should_include=>"true",
781
+ :description=>"Wavenumber of antennae",
782
+ :help=>"Wavenumber of antennae",
783
+ :code_name=>:ky,
784
+ :must_pass=>
785
+ [{:test=>"kind_of? Integer",
786
+ :explanation=>"This variable must be an integer."}],
787
+ :type=>:Integer},
788
+ :stir_kz=>
789
+ {:should_include=>"true",
790
+ :description=>"Wavenumber of antennae",
791
+ :help=>"Wavenumber of antennae",
792
+ :code_name=>:kz,
793
+ :must_pass=>
794
+ [{:test=>"kind_of? Integer",
795
+ :explanation=>"This variable must be an integer."}],
796
+ :type=>:Integer}},
797
+ :enumerator=>{:name=>:nk_stir, :estimated_value=>10}},
798
+ :collisions_knobs=>
799
+ {:description=>"",
800
+ :should_include=>"true",
801
+ :variables=>
802
+ {:collision_model=>
803
+ {:should_include=>"true",
804
+ :description=>
805
+ "Collision model used in the simulation. Options: 'default', 'none', 'lorentz', 'ediffuse'",
806
+ :help=>
807
+ "Collision model used in the simulation. \n\n** ''default'' = pitch angle scattering and energy diffusion\n** ''collisionless'',''none'' = collisionless\n** ''lorentz'' = pitch angle scattering only\n** ''ediffuse'' = energy diffusion only\n** ''krook'' = use home made krook operator (no reason to use this!)",
808
+ :tests=>["Tst::STRING"],
809
+ :code_name=>:collision_model,
810
+ :must_pass=>
811
+ [{:test=>"kind_of? String",
812
+ :explanation=>"This variable must be a string."}],
813
+ :type=>:String},
814
+ :conserve_momentum=>
815
+ {:should_include=>"true",
816
+ :description=>nil,
817
+ :help=>" Conserve parallel momentum. Recommend F at this time.\n",
818
+ :tests=>["Tst::FORTRAN_BOOL"],
819
+ :code_name=>:conserve_momentum,
820
+ :must_pass=>
821
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
822
+ :explanation=>
823
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
824
+ :type=>:Fortran_Bool},
825
+ :heating=>
826
+ {:should_include=>"true",
827
+ :description=>nil,
828
+ :help=>"Set to .true. to compute collisional heating.",
829
+ :tests=>["Tst::FORTRAN_BOOL"],
830
+ :code_name=>:heating,
831
+ :must_pass=>
832
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
833
+ :explanation=>
834
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
835
+ :type=>:Fortran_Bool},
836
+ :adjust=>
837
+ {:should_include=>"true",
838
+ :description=>nil,
839
+ :help=>nil,
840
+ :tests=>["Tst::FORTRAN_BOOL"],
841
+ :code_name=>:adjust,
842
+ :must_pass=>
843
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
844
+ :explanation=>
845
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
846
+ :type=>:Fortran_Bool},
847
+ :const_v=>
848
+ {:should_include=>"true",
849
+ :description=>nil,
850
+ :help=>nil,
851
+ :tests=>["Tst::FORTRAN_BOOL"],
852
+ :code_name=>:const_v,
853
+ :must_pass=>
854
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
855
+ :explanation=>
856
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
857
+ :type=>:Fortran_Bool},
858
+ :cfac=>
859
+ {:should_include=>"true",
860
+ :description=>nil,
861
+ :help=>
862
+ "Factor multiplying FLR terms in collision operator. 1.0 by default. Set to 0.0 to turn off FLR corrections.",
863
+ :tests=>["Tst::FLOAT"],
864
+ :code_name=>:cfac,
865
+ :must_pass=>
866
+ [{:test=>"kind_of? Numeric",
867
+ :explanation=>
868
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
869
+ :type=>:Float},
870
+ :hypermult=>
871
+ {:should_include=>"true",
872
+ :description=>nil,
873
+ :help=>nil,
874
+ :tests=>["Tst::FORTRAN_BOOL"],
875
+ :code_name=>:hypermult,
876
+ :must_pass=>
877
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
878
+ :explanation=>
879
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
880
+ :type=>:Fortran_Bool},
881
+ :conserve_moments=>
882
+ {:should_include=>"true",
883
+ :description=>nil,
884
+ :help=>
885
+ "Set to .true. to guarantee collision operator conserves momentum and energy.",
886
+ :tests=>["Tst::FORTRAN_BOOL"],
887
+ :code_name=>:conserve_moments,
888
+ :must_pass=>
889
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
890
+ :explanation=>
891
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
892
+ :type=>:Fortran_Bool},
893
+ :lorentz_scheme=>
894
+ {:should_include=>"true",
895
+ :description=>nil,
896
+ :help=>nil,
897
+ :tests=>["Tst::STRING"],
898
+ :code_name=>:lorentz_scheme,
899
+ :must_pass=>
900
+ [{:test=>"kind_of? String",
901
+ :explanation=>"This variable must be a string."}],
902
+ :type=>:String},
903
+ :ediff_scheme=>
904
+ {:should_include=>"true",
905
+ :description=>nil,
906
+ :help=>nil,
907
+ :tests=>["Tst::STRING"],
908
+ :code_name=>:ediff_scheme,
909
+ :must_pass=>
910
+ [{:test=>"kind_of? String",
911
+ :explanation=>"This variable must be a string."}],
912
+ :type=>:String},
913
+ :test=>
914
+ {:should_include=>"true",
915
+ :description=>nil,
916
+ :help=>nil,
917
+ :tests=>["Tst::FORTRAN_BOOL"],
918
+ :code_name=>:test,
919
+ :must_pass=>
920
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
921
+ :explanation=>
922
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
923
+ :type=>:Fortran_Bool},
924
+ :resistivity=>
925
+ {:should_include=>"true",
926
+ :description=>"",
927
+ :help=>"",
928
+ :tests=>["Tst::FORTRAN_BOOL"],
929
+ :code_name=>:resistivity,
930
+ :must_pass=>
931
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
932
+ :explanation=>
933
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
934
+ :type=>:Fortran_Bool},
935
+ :resistivity_test=>
936
+ {:should_include=>"true",
937
+ :description=>nil,
938
+ :help=>nil,
939
+ :tests=>["Tst::FORTRAN_BOOL"],
940
+ :code_name=>:resistivity_test,
941
+ :must_pass=>
942
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
943
+ :explanation=>
944
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
945
+ :type=>:Fortran_Bool},
946
+ :ei_coll_only=>
947
+ {:should_include=>"true",
948
+ :description=>nil,
949
+ :help=>nil,
950
+ :tests=>["Tst::FORTRAN_BOOL"],
951
+ :code_name=>:ei_coll_only,
952
+ :must_pass=>
953
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
954
+ :explanation=>
955
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
956
+ :type=>:Fortran_Bool},
957
+ :conservative=>
958
+ {:should_include=>"true",
959
+ :description=>nil,
960
+ :help=>"Set to .true. to guarantee exact conservation properties.",
961
+ :tests=>["Tst::FORTRAN_BOOL"],
962
+ :code_name=>:conservative,
963
+ :must_pass=>
964
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
965
+ :explanation=>
966
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
967
+ :type=>:Fortran_Bool}}},
968
+ :dist_fn_knobs=>
969
+ {:description=>"",
970
+ :should_include=>"true",
971
+ :variables=>
972
+ {:poisfac=>
973
+ {:should_include=>"true",
974
+ :description=>nil,
975
+ :help=>
976
+ " If non-zero, quasineutrality is not enforced; poisfac= (lambda_Debye/rho)**2 \n",
977
+ :tests=>["Tst::FLOAT"],
978
+ :code_name=>:poisfac,
979
+ :must_pass=>
980
+ [{:test=>"kind_of? Numeric",
981
+ :explanation=>
982
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
983
+ :type=>:Float},
984
+ :adiabatic_option=>
985
+ {:should_include=>"true",
986
+ :description=>
987
+ "The form of the adiabatic response (if a species is being modeled as adiabatic).",
988
+ :help=>
989
+ "The form of the adiabatic response (if a species is being modeled as adiabatic). Ignored if there are electrons in the species list.\n** 'no-field-line-average-term' Adiabatic species has n = Phi. Appropriate for single-species ETG simulations. \n** 'default' Same as 'no-field-line-average-term'\n** 'iphi00=0' Same as 'no-field-line-average-term'\n** 'iphi00=1' Same as 'no-field-line-average-term'\n** 'field-line-average-term' Adiabatic species has n=Phi-< Phi >. Appropriate for single-species ITG simulations.\n** 'iphi00=2' Same as field-line-average-term'\n** 'iphi00=3' Adiabatic species has n=Phi-< Phi >_y. Incorrect implementation of field-line-average-term.",
990
+ :tests=>["Tst::STRING"],
991
+ :code_name=>:adiabatic_option,
992
+ :must_pass=>
993
+ [{:test=>"kind_of? String",
994
+ :explanation=>"This variable must be a string."}],
995
+ :type=>:String},
996
+ :mult_imp=>
997
+ {:should_include=>"true",
998
+ :description=>nil,
999
+ :help=>
1000
+ " Allow different species to have different values of bakdif and fexpr. Not allowed for nonlinear runs. \n",
1001
+ :tests=>["Tst::FORTRAN_BOOL"],
1002
+ :code_name=>:mult_imp,
1003
+ :must_pass=>
1004
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
1005
+ :explanation=>
1006
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
1007
+ :type=>:Fortran_Bool},
1008
+ :test_df=>
1009
+ {:should_include=>"true",
1010
+ :description=>nil,
1011
+ :help=>nil,
1012
+ :tests=>["Tst::FORTRAN_BOOL"],
1013
+ :code_name=>:test,
1014
+ :must_pass=>
1015
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
1016
+ :explanation=>
1017
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
1018
+ :type=>:Fortran_Bool},
1019
+ :def_parity=>
1020
+ {:should_include=>"true",
1021
+ :description=>nil,
1022
+ :help=>" True only allows solutions of single parity.\n",
1023
+ :tests=>["Tst::FORTRAN_BOOL"],
1024
+ :code_name=>:def_parity,
1025
+ :must_pass=>
1026
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
1027
+ :explanation=>
1028
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
1029
+ :type=>:Fortran_Bool},
1030
+ :even=>
1031
+ {:should_include=>"true",
1032
+ :description=>nil,
1033
+ :help=>nil,
1034
+ :tests=>["Tst::FORTRAN_BOOL"],
1035
+ :code_name=>:even,
1036
+ :must_pass=>
1037
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
1038
+ :explanation=>
1039
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
1040
+ :type=>:Fortran_Bool},
1041
+ :g_exb=>
1042
+ {:should_include=>"true",
1043
+ :description=>nil,
1044
+ :help=>nil,
1045
+ :tests=>["Tst::FLOAT"],
1046
+ :code_name=>:g_exb,
1047
+ :must_pass=>
1048
+ [{:test=>"kind_of? Numeric",
1049
+ :explanation=>
1050
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1051
+ :type=>:Float},
1052
+ :test_bes=>
1053
+ {:should_include=>"true",
1054
+ :description=>nil,
1055
+ :help=>nil,
1056
+ :tests=>["Tst::FORTRAN_BOOL"],
1057
+ :code_name=>:test_bes,
1058
+ :must_pass=>
1059
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
1060
+ :explanation=>
1061
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
1062
+ :type=>:Fortran_Bool},
1063
+ :g_pvg=>
1064
+ {:should_include=>"true",
1065
+ :description=>nil,
1066
+ :help=>nil,
1067
+ :tests=>["Tst::FLOAT"],
1068
+ :code_name=>:g_pvg,
1069
+ :must_pass=>
1070
+ [{:test=>"kind_of? Numeric",
1071
+ :explanation=>
1072
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1073
+ :type=>:Float},
1074
+ :exit_if_g_exb_fails=>
1075
+ {:should_include=>"true",
1076
+ :description=>nil,
1077
+ :help=>nil,
1078
+ :tests=>["Tst::FORTRAN_BOOL"],
1079
+ :code_name=>:exit_if_g_exb_fails,
1080
+ :must_pass=>
1081
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
1082
+ :explanation=>
1083
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
1084
+ :type=>:Fortran_Bool},
1085
+ :g_exb_start_time=>
1086
+ {:should_include=>"true",
1087
+ :description=>nil,
1088
+ :help=>nil,
1089
+ :tests=>["Tst::FLOAT"],
1090
+ :code_name=>:g_exb_start_time,
1091
+ :must_pass=>
1092
+ [{:test=>"kind_of? Numeric",
1093
+ :explanation=>
1094
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1095
+ :type=>:Float},
1096
+ :g_exb_start_timestep=>
1097
+ {:should_include=>"true",
1098
+ :description=>
1099
+ "Perpendicular flow shear will not be applied until this timestep.",
1100
+ :help=>
1101
+ "Perpendicular flow shear will not be applied until this timestep. This does not affect parallel flow shear.",
1102
+ :tests=>["Tst::INT"],
1103
+ :code_name=>:g_exb_start_timestep,
1104
+ :must_pass=>
1105
+ [{:test=>"kind_of? Integer",
1106
+ :explanation=>"This variable must be an integer."}],
1107
+ :type=>:Integer},
1108
+ :g_exb_error_limit=>
1109
+ {:should_include=>"true",
1110
+ :description=>"",
1111
+ :help=>
1112
+ "* If using the new flow shear implementation, specify the maximum relative error in phi2",
1113
+ :code_name=>:g_exb_error_limit,
1114
+ :must_pass=>
1115
+ [{:test=>"kind_of? Numeric",
1116
+ :explanation=>
1117
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1118
+ :type=>:Float}}},
1119
+ :source_knobs=>
1120
+ {:description=>"",
1121
+ :should_include=>"true",
1122
+ :variables=>
1123
+ {:source_t0=>
1124
+ {:should_include=>"true",
1125
+ :description=>nil,
1126
+ :help=>nil,
1127
+ :tests=>["Tst::FLOAT"],
1128
+ :code_name=>:t0,
1129
+ :must_pass=>
1130
+ [{:test=>"kind_of? Numeric",
1131
+ :explanation=>
1132
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1133
+ :type=>:Float},
1134
+ :omega0=>
1135
+ {:should_include=>"true",
1136
+ :description=>nil,
1137
+ :help=>" Frequency of non-standard source (if selected above). \n",
1138
+ :tests=>["Tst::FLOAT"],
1139
+ :code_name=>:omega0,
1140
+ :must_pass=>
1141
+ [{:test=>"kind_of? Numeric",
1142
+ :explanation=>
1143
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1144
+ :type=>:Float},
1145
+ :gamma0=>
1146
+ {:should_include=>"true",
1147
+ :description=>nil,
1148
+ :help=>" Growth rate of non-standard source (if selected above). \n",
1149
+ :tests=>["Tst::FLOAT"],
1150
+ :code_name=>:gamma0,
1151
+ :must_pass=>
1152
+ [{:test=>"kind_of? Numeric",
1153
+ :explanation=>
1154
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1155
+ :type=>:Float},
1156
+ :source0=>
1157
+ {:should_include=>"true",
1158
+ :description=>nil,
1159
+ :help=>" Amplitude of non-standard source (if selected above). \n",
1160
+ :tests=>["Tst::FLOAT"],
1161
+ :code_name=>:source0,
1162
+ :must_pass=>
1163
+ [{:test=>"kind_of? Numeric",
1164
+ :explanation=>
1165
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1166
+ :type=>:Float},
1167
+ :phi_ext=>
1168
+ {:should_include=>"true",
1169
+ :description=>nil,
1170
+ :help=>" Amplitude of external Phi added as source term.\n",
1171
+ :tests=>["true"],
1172
+ :code_name=>:phi_ext,
1173
+ :must_pass=>
1174
+ [{:test=>"kind_of? Complex",
1175
+ :explanation=>"This variable must be a complex number."}],
1176
+ :type=>:Complex},
1177
+ :source_option=>
1178
+ {:should_include=>"true",
1179
+ :description=>nil,
1180
+ :help=>
1181
+ " \n** 'source_option_full' Solve GK equation in standard form (with no artificial sources)\n** 'default' Same as 'source_option_full' \n** 'zero' The GK distribution function will be advanced non-self-consistently.\n** 'sine' The GK distribution function will be advanced non-self-consistently.\n** 'cosine'The GK distribution function will be advanced non-self-consistently.\n** 'test1' The GK distribution function will be advanced non-self-consistently.\n** 'phiext_full' Solve GK equation with additional source proportional to phi_ext*F_0. \n** 'test2_full' Solve GK equation with additional developmental sources included. Experts only.\n** 'convect_full' Solve GK equation with additional developmental sources included. Experts only.\n** 'test1' The GK distribution function will be advanced non-self-consistently.\n",
1182
+ :tests=>["Tst::STRING"],
1183
+ :code_name=>:source_option,
1184
+ :must_pass=>
1185
+ [{:test=>"kind_of? String",
1186
+ :explanation=>"This variable must be a string."}],
1187
+ :type=>:String},
1188
+ :aky_star=>
1189
+ {:should_include=>"true",
1190
+ :description=>nil,
1191
+ :help=>" Ignored.\n",
1192
+ :tests=>["Tst::FLOAT"],
1193
+ :code_name=>:aky_star,
1194
+ :must_pass=>
1195
+ [{:test=>"kind_of? Numeric",
1196
+ :explanation=>
1197
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1198
+ :type=>:Float},
1199
+ :akx_star=>
1200
+ {:should_include=>"true",
1201
+ :description=>nil,
1202
+ :help=>" Ignored.\n",
1203
+ :tests=>["Tst::FLOAT"],
1204
+ :code_name=>:akx_star,
1205
+ :must_pass=>
1206
+ [{:test=>"kind_of? Numeric",
1207
+ :explanation=>
1208
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1209
+ :type=>:Float},
1210
+ :cvdrift=>
1211
+ {:should_include=>"true",
1212
+ :description=>nil,
1213
+ :help=>nil,
1214
+ :tests=>["Tst::FLOAT"],
1215
+ :code_name=>:cvdrift,
1216
+ :must_pass=>
1217
+ [{:test=>"kind_of? Numeric",
1218
+ :explanation=>
1219
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1220
+ :type=>:Float},
1221
+ :gbdrift=>
1222
+ {:should_include=>"true",
1223
+ :description=>nil,
1224
+ :help=>nil,
1225
+ :tests=>["Tst::FLOAT"],
1226
+ :code_name=>:gbdrift,
1227
+ :must_pass=>
1228
+ [{:test=>"kind_of? Numeric",
1229
+ :explanation=>
1230
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1231
+ :type=>:Float},
1232
+ :alfy=>
1233
+ {:should_include=>"true",
1234
+ :description=>nil,
1235
+ :help=>nil,
1236
+ :tests=>["Tst::FLOAT"],
1237
+ :code_name=>:alfy,
1238
+ :must_pass=>
1239
+ [{:test=>"kind_of? Numeric",
1240
+ :explanation=>
1241
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1242
+ :type=>:Float}}},
1243
+ :dist_fn_species_knobs=>
1244
+ {:description=>"",
1245
+ :should_include=>"true",
1246
+ :enumerator=>{:name=>:nspec, :estimated_value=>5},
1247
+ :variables=>
1248
+ {:fexp=>
1249
+ {:should_include=>"true",
1250
+ :description=>nil,
1251
+ :help=>nil,
1252
+ :tests=>["Tst::FLOAT"],
1253
+ :code_name=>:fexp,
1254
+ :must_pass=>
1255
+ [{:test=>"kind_of? Numeric",
1256
+ :explanation=>
1257
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1258
+ :type=>:Float},
1259
+ :bakdif=>
1260
+ {:should_include=>"true",
1261
+ :description=>"Spatial implicitness parameter. Recommended value: 0.05",
1262
+ :help=>
1263
+ "Spatial implicitness parameter. Any value greater than 0 adds numerical dissipation (usually necessary).\n** Recommended value: 0.05",
1264
+ :tests=>["Tst::FLOAT"],
1265
+ :code_name=>:bakdif,
1266
+ :must_pass=>
1267
+ [{:test=>"kind_of? Numeric",
1268
+ :explanation=>
1269
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1270
+ :type=>:Float},
1271
+ :bd_exp=>
1272
+ {:should_include=>"true",
1273
+ :description=>nil,
1274
+ :help=>nil,
1275
+ :tests=>["Tst::INT"],
1276
+ :code_name=>:bd_exp,
1277
+ :must_pass=>
1278
+ [{:test=>"kind_of? Integer",
1279
+ :explanation=>"This variable must be an integer."}],
1280
+ :type=>:Integer}}},
1281
+ :hyper_knobs=>
1282
+ {:description=>"",
1283
+ :should_include=>"true",
1284
+ :variables=>
1285
+ {:hyper_option=>
1286
+ {:should_include=>"true",
1287
+ :description=>nil,
1288
+ :help=>"'default' is 'none'",
1289
+ :tests=>["Tst::STRING"],
1290
+ :code_name=>:hyper_option,
1291
+ :must_pass=>
1292
+ [{:test=>"kind_of? String",
1293
+ :explanation=>"This variable must be a string."}],
1294
+ :type=>:String},
1295
+ :const_amp=>
1296
+ {:should_include=>"true",
1297
+ :description=>nil,
1298
+ :help=>nil,
1299
+ :tests=>["Tst::FORTRAN_BOOL"],
1300
+ :code_name=>:const_amp,
1301
+ :must_pass=>
1302
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
1303
+ :explanation=>
1304
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
1305
+ :type=>:Fortran_Bool},
1306
+ :include_kpar=>
1307
+ {:should_include=>"true",
1308
+ :description=>nil,
1309
+ :help=>nil,
1310
+ :tests=>["Tst::FORTRAN_BOOL"],
1311
+ :code_name=>:include_kpar,
1312
+ :must_pass=>
1313
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
1314
+ :explanation=>
1315
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
1316
+ :type=>:Fortran_Bool},
1317
+ :isotropic_shear=>
1318
+ {:should_include=>"true",
1319
+ :description=>nil,
1320
+ :help=>nil,
1321
+ :tests=>["Tst::FORTRAN_BOOL"],
1322
+ :code_name=>:isotropic_shear,
1323
+ :must_pass=>
1324
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
1325
+ :explanation=>
1326
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
1327
+ :type=>:Fortran_Bool},
1328
+ :D_hyperres=>
1329
+ {:should_include=>"true",
1330
+ :description=>nil,
1331
+ :help=>nil,
1332
+ :tests=>["Tst::FLOAT"],
1333
+ :code_name=>:D_hyperres,
1334
+ :must_pass=>
1335
+ [{:test=>"kind_of? Numeric",
1336
+ :explanation=>
1337
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1338
+ :type=>:Float},
1339
+ :D_hypervisc=>
1340
+ {:should_include=>"true",
1341
+ :description=>nil,
1342
+ :help=>nil,
1343
+ :tests=>["Tst::FLOAT"],
1344
+ :code_name=>:D_hypervisc,
1345
+ :must_pass=>
1346
+ [{:test=>"kind_of? Numeric",
1347
+ :explanation=>
1348
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1349
+ :type=>:Float},
1350
+ :D_hyper=>
1351
+ {:should_include=>"true",
1352
+ :description=>nil,
1353
+ :help=>nil,
1354
+ :tests=>["Tst::FLOAT"],
1355
+ :code_name=>:D_hyper,
1356
+ :must_pass=>
1357
+ [{:test=>"kind_of? Numeric",
1358
+ :explanation=>
1359
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1360
+ :type=>:Float},
1361
+ :omega_osc=>
1362
+ {:should_include=>"true",
1363
+ :description=>nil,
1364
+ :help=>nil,
1365
+ :tests=>["Tst::FLOAT"],
1366
+ :code_name=>:omega_osc,
1367
+ :must_pass=>
1368
+ [{:test=>"kind_of? Numeric",
1369
+ :explanation=>
1370
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1371
+ :type=>:Float},
1372
+ :gridnorm=>
1373
+ {:should_include=>"true",
1374
+ :description=>nil,
1375
+ :help=>nil,
1376
+ :tests=>["Tst::FORTRAN_BOOL"],
1377
+ :code_name=>:gridnorm,
1378
+ :must_pass=>
1379
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
1380
+ :explanation=>
1381
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
1382
+ :type=>:Fortran_Bool},
1383
+ :nexp=>
1384
+ {:should_include=>"true",
1385
+ :description=>nil,
1386
+ :help=>nil,
1387
+ :tests=>["Tst::INT"],
1388
+ :code_name=>:nexp,
1389
+ :must_pass=>
1390
+ [{:test=>"kind_of? Integer",
1391
+ :explanation=>"This variable must be an integer."}],
1392
+ :type=>:Integer}}},
1393
+ :init_g_knobs=>
1394
+ {:description=>"",
1395
+ :should_include=>"true",
1396
+ :variables=>
1397
+ {:ginit_option=>
1398
+ {:should_include=>"true",
1399
+ :description=>
1400
+ "Sets the way that the distribution function is initialized.",
1401
+ :help=>
1402
+ "Sets the way that the distribution function is initialized. There are many possible choices.\n** 'default'\n** 'noise' This is the recommended selection. Pretty random.\n** 'test1'\n** 'xi'\n** 'xi2'\n** 'zero'\n** 'test3'\n** 'convect'\n** 'rh'\n** 'many'\n** 'small'\n** 'file'\n** 'cont'\n** 'kz0' initialise only with k_parallel=0\n** 'nl'\n** 'nl2'\n** 'nl3'\n** 'nl4'\n** 'nl5'\n** 'nl6'\n** 'gs'\n** 'kpar'\n** 'zonal_only' Restart but set all non-zonal components of the potential and the distribution function to 0. Noise can be added to these other components by setting iphiinit > 0.\n** 'single_parallel_mode' Initialise only with a single parallel mode specified by either ikpar_init for periodic boundary conditions or kpar_init for linked boundary conditions. Intended for linear calculations.\n** 'all_modes_equal' Initialise with every single parallel and perpendicular mode given the same amplitude. Intended for linear calculations.",
1403
+ :tests=>["Tst::STRING"],
1404
+ :code_name=>:ginit_option,
1405
+ :must_pass=>
1406
+ [{:test=>"kind_of? String",
1407
+ :explanation=>"This variable must be a string."}],
1408
+ :type=>:String},
1409
+ :phiinit=>
1410
+ {:should_include=>"true",
1411
+ :description=>
1412
+ "Average amplitude of initial perturbation of each Fourier mode.",
1413
+ :help=>
1414
+ "Average amplitude of initial perturbation of each Fourier mode.",
1415
+ :tests=>["Tst::FLOAT"],
1416
+ :code_name=>:phiinit,
1417
+ :must_pass=>
1418
+ [{:test=>"kind_of? Numeric",
1419
+ :explanation=>
1420
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1421
+ :type=>:Float},
1422
+ :k0=>
1423
+ {:should_include=>"true",
1424
+ :description=>"Advanced. Rarely used.",
1425
+ :help=>
1426
+ "Available for highly specialized initial conditions. Do not use unless you know what you are doing. Rarely used.",
1427
+ :tests=>["Tst::FLOAT"],
1428
+ :code_name=>:k0,
1429
+ :must_pass=>
1430
+ [{:test=>"kind_of? Numeric",
1431
+ :explanation=>
1432
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1433
+ :type=>:Float},
1434
+ :kw=>
1435
+ {:should_include=>"true",
1436
+ :description=>nil,
1437
+ :help=>nil,
1438
+ :tests=>["Tst::FLOAT"],
1439
+ :code_name=>:kw,
1440
+ :must_pass=>
1441
+ [{:test=>"kind_of? Numeric",
1442
+ :explanation=>
1443
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1444
+ :type=>:Float},
1445
+ :chop_side=>
1446
+ {:should_include=>"true",
1447
+ :description=>"Rarely needed. Forces asymmetry into initial condition.",
1448
+ :help=>"Rarely needed. Forces asymmetry into initial condition.",
1449
+ :tests=>["Tst::FORTRAN_BOOL"],
1450
+ :code_name=>:chop_side,
1451
+ :must_pass=>
1452
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
1453
+ :explanation=>
1454
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
1455
+ :type=>:Fortran_Bool},
1456
+ :restart_file=>
1457
+ {:should_include=>"true",
1458
+ :description=>"Base of filenames with restart data.",
1459
+ :help=>"Base of filenames with restart data.",
1460
+ :tests=>["Tst::STRING"],
1461
+ :code_name=>:restart_file,
1462
+ :must_pass=>
1463
+ [{:test=>"kind_of? String",
1464
+ :explanation=>"This variable must be a string."}],
1465
+ :type=>:String},
1466
+ :restart_dir=>
1467
+ {:should_include=>"true",
1468
+ :description=>nil,
1469
+ :help=>nil,
1470
+ :tests=>["Tst::STRING"],
1471
+ :code_name=>:restart_dir,
1472
+ :must_pass=>
1473
+ [{:test=>"kind_of? String",
1474
+ :explanation=>"This variable must be a string."}],
1475
+ :type=>:String},
1476
+ :left=>
1477
+ {:should_include=>"true",
1478
+ :description=>nil,
1479
+ :help=>" Chop out left side in theta. \n",
1480
+ :tests=>["Tst::FORTRAN_BOOL"],
1481
+ :code_name=>:left,
1482
+ :must_pass=>
1483
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
1484
+ :explanation=>
1485
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
1486
+ :type=>:Fortran_Bool},
1487
+ :ikk=>
1488
+ {:should_include=>"true",
1489
+ :description=>nil,
1490
+ :help=>" Used only for secondary/tertiary calculations.\n",
1491
+ :tests=>["Tst::INT"],
1492
+ :code_name=>:ikk,
1493
+ :must_pass=>
1494
+ [{:test=>"kind_of? Integer",
1495
+ :explanation=>"This variable must be an integer."}],
1496
+ :type=>:Integer},
1497
+ :itt=>
1498
+ {:should_include=>"true",
1499
+ :description=>nil,
1500
+ :help=>" Used only for secondary/tertiary calculations.\n",
1501
+ :tests=>["Tst::INT"],
1502
+ :code_name=>:itt,
1503
+ :must_pass=>
1504
+ [{:test=>"kind_of? Integer",
1505
+ :explanation=>"This variable must be an integer."}],
1506
+ :type=>:Integer},
1507
+ :scale=>
1508
+ {:should_include=>"true",
1509
+ :description=>nil,
1510
+ :help=>" Allows rescaling of amplitudes for restarts.\n",
1511
+ :tests=>["Tst::FLOAT"],
1512
+ :code_name=>:scale,
1513
+ :must_pass=>
1514
+ [{:test=>"kind_of? Numeric",
1515
+ :explanation=>
1516
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1517
+ :type=>:Float},
1518
+ :tstart=>
1519
+ {:should_include=>"true",
1520
+ :description=>nil,
1521
+ :help=>" Force t=tstart at beginning of run.\n",
1522
+ :tests=>["Tst::FLOAT"],
1523
+ :code_name=>:tstart,
1524
+ :must_pass=>
1525
+ [{:test=>"kind_of? Numeric",
1526
+ :explanation=>
1527
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1528
+ :type=>:Float},
1529
+ :zf_init=>
1530
+ {:should_include=>"true",
1531
+ :description=>nil,
1532
+ :help=>
1533
+ " Amplitude of initial zonal flow perturbations relative to other modes\n",
1534
+ :tests=>["Tst::FLOAT"],
1535
+ :code_name=>:zf_init,
1536
+ :must_pass=>
1537
+ [{:test=>"kind_of? Numeric",
1538
+ :explanation=>
1539
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1540
+ :type=>:Float},
1541
+ :den0=>
1542
+ {:should_include=>"true",
1543
+ :description=>"Parameters for setting up special initial conditions.",
1544
+ :help=>"Parameters for setting up special initial conditions.",
1545
+ :tests=>["Tst::FLOAT"],
1546
+ :code_name=>:den0,
1547
+ :must_pass=>
1548
+ [{:test=>"kind_of? Numeric",
1549
+ :explanation=>
1550
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1551
+ :type=>:Float},
1552
+ :upar0=>
1553
+ {:should_include=>"true",
1554
+ :description=>"Parameters for setting up special initial conditions.",
1555
+ :help=>"Parameters for setting up special initial conditions.",
1556
+ :tests=>["Tst::FLOAT"],
1557
+ :code_name=>:upar0,
1558
+ :must_pass=>
1559
+ [{:test=>"kind_of? Numeric",
1560
+ :explanation=>
1561
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1562
+ :type=>:Float},
1563
+ :tpar0=>
1564
+ {:should_include=>"true",
1565
+ :description=>nil,
1566
+ :help=>" Parameters for setting up special initial conditions.\n",
1567
+ :tests=>["Tst::FLOAT"],
1568
+ :code_name=>:tpar0,
1569
+ :must_pass=>
1570
+ [{:test=>"kind_of? Numeric",
1571
+ :explanation=>
1572
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1573
+ :type=>:Float},
1574
+ :tperp0=>
1575
+ {:should_include=>"true",
1576
+ :description=>nil,
1577
+ :help=>" Parameters for setting up special initial conditions.\n",
1578
+ :tests=>["Tst::FLOAT"],
1579
+ :code_name=>:tperp0,
1580
+ :must_pass=>
1581
+ [{:test=>"kind_of? Numeric",
1582
+ :explanation=>
1583
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1584
+ :type=>:Float},
1585
+ :imfac=>
1586
+ {:should_include=>"true",
1587
+ :description=>"Used in rare cases.",
1588
+ :help=>"Used in rare cases.",
1589
+ :tests=>["Tst::FLOAT"],
1590
+ :code_name=>:imfac,
1591
+ :must_pass=>
1592
+ [{:test=>"kind_of? Numeric",
1593
+ :explanation=>
1594
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1595
+ :type=>:Float},
1596
+ :refac=>
1597
+ {:should_include=>"true",
1598
+ :description=>"Used in rare cases.",
1599
+ :help=>"Used in rare cases.",
1600
+ :tests=>["Tst::FLOAT"],
1601
+ :code_name=>:refac,
1602
+ :must_pass=>
1603
+ [{:test=>"kind_of? Numeric",
1604
+ :explanation=>
1605
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1606
+ :type=>:Float},
1607
+ :even_df=>
1608
+ {:should_include=>"true",
1609
+ :description=>nil,
1610
+ :help=>nil,
1611
+ :tests=>["Tst::FORTRAN_BOOL"],
1612
+ :code_name=>:even,
1613
+ :must_pass=>
1614
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
1615
+ :explanation=>
1616
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
1617
+ :type=>:Fortran_Bool},
1618
+ :den1=>
1619
+ {:should_include=>"true",
1620
+ :description=>"Parameters for setting up special initial conditions.",
1621
+ :help=>"Parameters for setting up special initial conditions.",
1622
+ :tests=>["Tst::FLOAT"],
1623
+ :code_name=>:den1,
1624
+ :must_pass=>
1625
+ [{:test=>"kind_of? Numeric",
1626
+ :explanation=>
1627
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1628
+ :type=>:Float},
1629
+ :upar1=>
1630
+ {:should_include=>"true",
1631
+ :description=>"Parameters for setting up special initial conditions.",
1632
+ :help=>"Parameters for setting up special initial conditions.",
1633
+ :tests=>["Tst::FLOAT"],
1634
+ :code_name=>:upar1,
1635
+ :must_pass=>
1636
+ [{:test=>"kind_of? Numeric",
1637
+ :explanation=>
1638
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1639
+ :type=>:Float},
1640
+ :tpar1=>
1641
+ {:should_include=>"true",
1642
+ :description=>nil,
1643
+ :help=>" Parameters for setting up special initial conditions.\n",
1644
+ :tests=>["Tst::FLOAT"],
1645
+ :code_name=>:tpar1,
1646
+ :must_pass=>
1647
+ [{:test=>"kind_of? Numeric",
1648
+ :explanation=>
1649
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1650
+ :type=>:Float},
1651
+ :tperp1=>
1652
+ {:should_include=>"true",
1653
+ :description=>nil,
1654
+ :help=>" Parameters for setting up special initial conditions.\n",
1655
+ :tests=>["Tst::FLOAT"],
1656
+ :code_name=>:tperp1,
1657
+ :must_pass=>
1658
+ [{:test=>"kind_of? Numeric",
1659
+ :explanation=>
1660
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1661
+ :type=>:Float},
1662
+ :den2=>
1663
+ {:should_include=>"true",
1664
+ :description=>nil,
1665
+ :help=>" Parameters for setting up special initial conditions.\n",
1666
+ :tests=>["Tst::FLOAT"],
1667
+ :code_name=>:den2,
1668
+ :must_pass=>
1669
+ [{:test=>"kind_of? Numeric",
1670
+ :explanation=>
1671
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1672
+ :type=>:Float},
1673
+ :upar2=>
1674
+ {:should_include=>"true",
1675
+ :description=>nil,
1676
+ :help=>" Parameters for setting up special initial conditions.\n",
1677
+ :tests=>["Tst::FLOAT"],
1678
+ :code_name=>:upar2,
1679
+ :must_pass=>
1680
+ [{:test=>"kind_of? Numeric",
1681
+ :explanation=>
1682
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1683
+ :type=>:Float},
1684
+ :tpar2=>
1685
+ {:should_include=>"true",
1686
+ :description=>nil,
1687
+ :help=>" Parameters for setting up special initial conditions.\n",
1688
+ :tests=>["Tst::FLOAT"],
1689
+ :code_name=>:tpar2,
1690
+ :must_pass=>
1691
+ [{:test=>"kind_of? Numeric",
1692
+ :explanation=>
1693
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1694
+ :type=>:Float},
1695
+ :tperp2=>
1696
+ {:should_include=>"true",
1697
+ :description=>nil,
1698
+ :help=>" Parameters for setting up special initial conditions.\n",
1699
+ :tests=>["Tst::FLOAT"],
1700
+ :code_name=>:tperp2,
1701
+ :must_pass=>
1702
+ [{:test=>"kind_of? Numeric",
1703
+ :explanation=>
1704
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1705
+ :type=>:Float},
1706
+ :dphiinit=>
1707
+ {:should_include=>"true",
1708
+ :description=>nil,
1709
+ :help=>nil,
1710
+ :tests=>["Tst::FLOAT"],
1711
+ :code_name=>:dphiinit,
1712
+ :must_pass=>
1713
+ [{:test=>"kind_of? Numeric",
1714
+ :explanation=>
1715
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1716
+ :type=>:Float},
1717
+ :apar0=>
1718
+ {:should_include=>"true",
1719
+ :description=>nil,
1720
+ :help=>nil,
1721
+ :tests=>["Tst::FLOAT"],
1722
+ :code_name=>:apar0,
1723
+ :must_pass=>
1724
+ [{:test=>"kind_of? Numeric",
1725
+ :explanation=>
1726
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1727
+ :type=>:Float},
1728
+ :ikkk=>
1729
+ {:should_include=>"true",
1730
+ :description=>nil,
1731
+ :help=>nil,
1732
+ :tests=>["Tst::INT"],
1733
+ :code_name=>:ikkk,
1734
+ :must_pass=>
1735
+ [{:test=>"kind_of? Integer",
1736
+ :explanation=>"This variable must be an integer."}],
1737
+ :type=>:Integer},
1738
+ :ittt=>
1739
+ {:should_include=>"true",
1740
+ :description=>nil,
1741
+ :help=>nil,
1742
+ :tests=>["Tst::INT"],
1743
+ :code_name=>:ittt,
1744
+ :must_pass=>
1745
+ [{:test=>"kind_of? Integer",
1746
+ :explanation=>"This variable must be an integer."}],
1747
+ :type=>:Integer},
1748
+ :phiamp=>
1749
+ {:should_include=>"true",
1750
+ :description=>nil,
1751
+ :help=>nil,
1752
+ :tests=>["true"],
1753
+ :code_name=>:phiamp,
1754
+ :must_pass=>
1755
+ [{:test=>"kind_of? Complex",
1756
+ :explanation=>"This variable must be a complex number."}],
1757
+ :type=>:Complex},
1758
+ :aparamp=>
1759
+ {:should_include=>"true",
1760
+ :description=>nil,
1761
+ :help=>nil,
1762
+ :tests=>["true"],
1763
+ :code_name=>:aparamp,
1764
+ :must_pass=>
1765
+ [{:test=>"kind_of? Complex",
1766
+ :explanation=>"This variable must be a complex number."}],
1767
+ :type=>:Complex},
1768
+ :phiinit0=>
1769
+ {:should_include=>"true",
1770
+ :description=>nil,
1771
+ :help=>nil,
1772
+ :tests=>["Tst::FLOAT"],
1773
+ :code_name=>:phiinit0,
1774
+ :must_pass=>
1775
+ [{:test=>"kind_of? Numeric",
1776
+ :explanation=>
1777
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1778
+ :type=>:Float},
1779
+ :a0=>
1780
+ {:should_include=>"true",
1781
+ :description=>nil,
1782
+ :help=>nil,
1783
+ :tests=>["Tst::FLOAT"],
1784
+ :code_name=>:a0,
1785
+ :must_pass=>
1786
+ [{:test=>"kind_of? Numeric",
1787
+ :explanation=>
1788
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1789
+ :type=>:Float},
1790
+ :b0=>
1791
+ {:should_include=>"true",
1792
+ :description=>nil,
1793
+ :help=>nil,
1794
+ :tests=>["Tst::FLOAT"],
1795
+ :code_name=>:b0,
1796
+ :must_pass=>
1797
+ [{:test=>"kind_of? Numeric",
1798
+ :explanation=>
1799
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1800
+ :type=>:Float},
1801
+ :null_phi=>
1802
+ {:should_include=>"true",
1803
+ :description=>nil,
1804
+ :help=>nil,
1805
+ :tests=>["Tst::FORTRAN_BOOL"],
1806
+ :code_name=>:null_phi,
1807
+ :must_pass=>
1808
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
1809
+ :explanation=>
1810
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
1811
+ :type=>:Fortran_Bool},
1812
+ :null_bpar=>
1813
+ {:should_include=>"true",
1814
+ :description=>nil,
1815
+ :help=>nil,
1816
+ :tests=>["Tst::FORTRAN_BOOL"],
1817
+ :code_name=>:null_bpar,
1818
+ :must_pass=>
1819
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
1820
+ :explanation=>
1821
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
1822
+ :type=>:Fortran_Bool},
1823
+ :null_apar=>
1824
+ {:should_include=>"true",
1825
+ :description=>nil,
1826
+ :help=>nil,
1827
+ :tests=>["Tst::FORTRAN_BOOL"],
1828
+ :code_name=>:null_apar,
1829
+ :must_pass=>
1830
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
1831
+ :explanation=>
1832
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
1833
+ :type=>:Fortran_Bool},
1834
+ :adj_spec=>
1835
+ {:should_include=>"true",
1836
+ :description=>nil,
1837
+ :help=>nil,
1838
+ :tests=>["Tst::INT"],
1839
+ :code_name=>:adj_spec,
1840
+ :must_pass=>
1841
+ [{:test=>"kind_of? Integer",
1842
+ :explanation=>"This variable must be an integer."}],
1843
+ :type=>:Integer},
1844
+ :eq_type=>
1845
+ {:should_include=>"true",
1846
+ :description=>nil,
1847
+ :help=>nil,
1848
+ :tests=>["Tst::STRING"],
1849
+ :code_name=>:eq_type,
1850
+ :must_pass=>
1851
+ [{:test=>"kind_of? String",
1852
+ :explanation=>"This variable must be a string."}],
1853
+ :type=>:String},
1854
+ :prof_width=>
1855
+ {:should_include=>"true",
1856
+ :description=>nil,
1857
+ :help=>nil,
1858
+ :tests=>["Tst::FLOAT"],
1859
+ :code_name=>:prof_width,
1860
+ :must_pass=>
1861
+ [{:test=>"kind_of? Numeric",
1862
+ :explanation=>
1863
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1864
+ :type=>:Float},
1865
+ :eq_mode_u=>
1866
+ {:should_include=>"true",
1867
+ :description=>nil,
1868
+ :help=>nil,
1869
+ :tests=>["Tst::INT"],
1870
+ :code_name=>:eq_mode_u,
1871
+ :must_pass=>
1872
+ [{:test=>"kind_of? Integer",
1873
+ :explanation=>"This variable must be an integer."}],
1874
+ :type=>:Integer},
1875
+ :eq_mode_n=>
1876
+ {:should_include=>"true",
1877
+ :description=>nil,
1878
+ :help=>nil,
1879
+ :tests=>["Tst::INT"],
1880
+ :code_name=>:eq_mode_n,
1881
+ :must_pass=>
1882
+ [{:test=>"kind_of? Integer",
1883
+ :explanation=>"This variable must be an integer."}],
1884
+ :type=>:Integer},
1885
+ :nkxy_pt=>
1886
+ {:should_include=>"true",
1887
+ :description=>nil,
1888
+ :help=>nil,
1889
+ :tests=>["true"],
1890
+ :code_name=>:nkxy_pt,
1891
+ :must_pass=>
1892
+ [{:test=>"kind_of? Complex",
1893
+ :explanation=>"This variable must be a complex number."}],
1894
+ :type=>:Complex},
1895
+ :ukxy_pt=>
1896
+ {:should_include=>"true",
1897
+ :description=>nil,
1898
+ :help=>nil,
1899
+ :tests=>["true"],
1900
+ :code_name=>:ukxy_pt,
1901
+ :must_pass=>
1902
+ [{:test=>"kind_of? Complex",
1903
+ :explanation=>"This variable must be a complex number."}],
1904
+ :type=>:Complex},
1905
+ :nl_option=>
1906
+ {:should_include=>"true",
1907
+ :description=>nil,
1908
+ :help=>nil,
1909
+ :tests=>["Tst::STRING"],
1910
+ :code_name=>:nl_option,
1911
+ :must_pass=>
1912
+ [{:test=>"kind_of? String",
1913
+ :explanation=>"This variable must be a string."}],
1914
+ :type=>:String},
1915
+ :ndigits=>
1916
+ {:should_include=>"true",
1917
+ :description=>nil,
1918
+ :help=>nil,
1919
+ :tests=>["Tst::INT"],
1920
+ :code_name=>:ndigits,
1921
+ :must_pass=>
1922
+ [{:test=>"kind_of? Integer",
1923
+ :explanation=>"This variable must be an integer."}],
1924
+ :type=>:Integer},
1925
+ :separate_em_in=>
1926
+ {:should_include=>"true",
1927
+ :description=>nil,
1928
+ :help=>nil,
1929
+ :tests=>["Tst::FORTRAN_BOOL"],
1930
+ :code_name=>:separate_em_in,
1931
+ :must_pass=>
1932
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
1933
+ :explanation=>
1934
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
1935
+ :type=>:Fortran_Bool},
1936
+ :separate_em_out=>
1937
+ {:should_include=>"true",
1938
+ :description=>nil,
1939
+ :help=>nil,
1940
+ :tests=>["Tst::FORTRAN_BOOL"],
1941
+ :code_name=>:separate_em_out,
1942
+ :must_pass=>
1943
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
1944
+ :explanation=>
1945
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
1946
+ :type=>:Fortran_Bool},
1947
+ :k1=>
1948
+ {:should_include=>"true",
1949
+ :description=>nil,
1950
+ :help=>nil,
1951
+ :tests=>["Tst::FLOAT"],
1952
+ :code_name=>:k1,
1953
+ :must_pass=>
1954
+ [{:test=>"kind_of? Numeric",
1955
+ :explanation=>
1956
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1957
+ :type=>:Float},
1958
+ :kw1=>
1959
+ {:should_include=>"true",
1960
+ :description=>nil,
1961
+ :help=>nil,
1962
+ :tests=>["Tst::FLOAT"],
1963
+ :code_name=>:kw1,
1964
+ :must_pass=>
1965
+ [{:test=>"kind_of? Numeric",
1966
+ :explanation=>
1967
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1968
+ :type=>:Float},
1969
+ :p1=>
1970
+ {:should_include=>"true",
1971
+ :description=>nil,
1972
+ :help=>nil,
1973
+ :tests=>["Tst::FLOAT"],
1974
+ :code_name=>:p1,
1975
+ :must_pass=>
1976
+ [{:test=>"kind_of? Numeric",
1977
+ :explanation=>
1978
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1979
+ :type=>:Float},
1980
+ :pw1=>
1981
+ {:should_include=>"true",
1982
+ :description=>nil,
1983
+ :help=>nil,
1984
+ :tests=>["Tst::FLOAT"],
1985
+ :code_name=>:pw1,
1986
+ :must_pass=>
1987
+ [{:test=>"kind_of? Numeric",
1988
+ :explanation=>
1989
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1990
+ :type=>:Float},
1991
+ :diag2bath=>
1992
+ {:should_include=>"true",
1993
+ :description=>nil,
1994
+ :help=>nil,
1995
+ :tests=>["Tst::FLOAT"],
1996
+ :code_name=>:diag2bath,
1997
+ :must_pass=>
1998
+ [{:test=>"kind_of? Numeric",
1999
+ :explanation=>
2000
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2001
+ :type=>:Float},
2002
+ :phiinit_rand=>
2003
+ {:should_include=>"true",
2004
+ :description=>nil,
2005
+ :help=>nil,
2006
+ :tests=>["Tst::FLOAT"],
2007
+ :code_name=>:phiinit_rand,
2008
+ :must_pass=>
2009
+ [{:test=>"kind_of? Numeric",
2010
+ :explanation=>
2011
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2012
+ :type=>:Float},
2013
+ :ikpar_init=>
2014
+ {:should_include=>"true",
2015
+ :description=>nil,
2016
+ :help=>nil,
2017
+ :tests=>["Tst::INT"],
2018
+ :code_name=>:ikpar_init,
2019
+ :must_pass=>
2020
+ [{:test=>"kind_of? Integer",
2021
+ :explanation=>"This variable must be an integer."}],
2022
+ :type=>:Integer},
2023
+ :ikx_init=>
2024
+ {:should_include=>"true",
2025
+ :description=>nil,
2026
+ :help=>nil,
2027
+ :tests=>["Tst::INT"],
2028
+ :code_name=>:ikx_init,
2029
+ :must_pass=>
2030
+ [{:test=>"kind_of? Integer",
2031
+ :explanation=>"This variable must be an integer."}],
2032
+ :type=>:Integer},
2033
+ :force_single_kpar=>
2034
+ {:should_include=>"true",
2035
+ :description=>
2036
+ "At every timestep set all other kpars to zero except ikpar_init.",
2037
+ :help=>
2038
+ "If a run is initialised with only a single parallel wavenumber, set all other parallel amplitudes to zero at every timestep.",
2039
+ :tests=>["Tst::FORTRAN_BOOL"],
2040
+ :code_name=>:force_single_kpar,
2041
+ :must_pass=>
2042
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
2043
+ :explanation=>
2044
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
2045
+ :type=>:Fortran_Bool}}},
2046
+ :kgrids=>
2047
+ {:description=>"",
2048
+ :should_include=>"true",
2049
+ :variables=>
2050
+ {:grid_option=>
2051
+ {:should_include=>"true",
2052
+ :description=>nil,
2053
+ :help=>nil,
2054
+ :tests=>["Tst::STRING"],
2055
+ :code_name=>:grid_option,
2056
+ :must_pass=>
2057
+ [{:test=>"kind_of? String",
2058
+ :explanation=>"This variable must be a string."}],
2059
+ :type=>:String},
2060
+ :akperp=>
2061
+ {:should_include=>"true",
2062
+ :description=>nil,
2063
+ :help=>nil,
2064
+ :tests=>["Tst::FLOAT"],
2065
+ :code_name=>:akperp,
2066
+ :must_pass=>
2067
+ [{:test=>"kind_of? Numeric",
2068
+ :explanation=>
2069
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2070
+ :type=>:Float},
2071
+ :x0=>
2072
+ {:should_include=>"true",
2073
+ :description=>nil,
2074
+ :help=>nil,
2075
+ :tests=>["Tst::FLOAT"],
2076
+ :code_name=>:x0,
2077
+ :must_pass=>
2078
+ [{:test=>"kind_of? Numeric",
2079
+ :explanation=>
2080
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2081
+ :type=>:Float},
2082
+ :y0=>
2083
+ {:should_include=>"true",
2084
+ :description=>nil,
2085
+ :help=>nil,
2086
+ :tests=>["Tst::FLOAT"],
2087
+ :code_name=>:y0,
2088
+ :must_pass=>
2089
+ [{:test=>"kind_of? Numeric",
2090
+ :explanation=>
2091
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2092
+ :type=>:Float},
2093
+ :nx=>
2094
+ {:should_include=>"true",
2095
+ :description=>nil,
2096
+ :help=>nil,
2097
+ :tests=>["Tst::INT"],
2098
+ :code_name=>:nx,
2099
+ :must_pass=>
2100
+ [{:test=>"kind_of? Integer",
2101
+ :explanation=>"This variable must be an integer."}],
2102
+ :type=>:Integer},
2103
+ :ny=>
2104
+ {:should_include=>"true",
2105
+ :description=>"Number of grid points in the y direction.",
2106
+ :help=>"Number of grid points in the y direction.",
2107
+ :tests=>["Tst::INT"],
2108
+ :code_name=>:ny,
2109
+ :must_pass=>
2110
+ [{:test=>"kind_of? Integer",
2111
+ :explanation=>"This variable must be an integer."}],
2112
+ :type=>:Integer},
2113
+ :nkpolar=>
2114
+ {:should_include=>"true",
2115
+ :description=>nil,
2116
+ :help=>nil,
2117
+ :tests=>["Tst::INT"],
2118
+ :code_name=>:nkpolar,
2119
+ :must_pass=>
2120
+ [{:test=>"kind_of? Integer",
2121
+ :explanation=>"This variable must be an integer."}],
2122
+ :type=>:Integer},
2123
+ :aky_min=>
2124
+ {:should_include=>"true",
2125
+ :description=>"Sets the minimum ky in box mode (default is zero).",
2126
+ :help=>
2127
+ "Sets the minimum ky in box mode (default is zero).\n** <tt> aky(ik) = ky_min + (ik-1)/y0",
2128
+ :tests=>["Tst::FLOAT"],
2129
+ :code_name=>:aky_min,
2130
+ :must_pass=>
2131
+ [{:test=>"kind_of? Numeric",
2132
+ :explanation=>
2133
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2134
+ :type=>:Float}}},
2135
+ :le_grids_knobs=>
2136
+ {:description=>"",
2137
+ :should_include=>"true",
2138
+ :variables=>
2139
+ {:ngauss=>
2140
+ {:should_include=>"true",
2141
+ :description=>
2142
+ "Number of untrapped pitch-angles moving in one direction along field line.",
2143
+ :help=>
2144
+ "Number of untrapped pitch-angles moving in one direction along field line.",
2145
+ :tests=>["Tst::FLOAT"],
2146
+ :code_name=>:ngauss,
2147
+ :must_pass=>
2148
+ [{:test=>"kind_of? Numeric",
2149
+ :explanation=>
2150
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2151
+ :type=>:Float},
2152
+ :negrid=>
2153
+ {:should_include=>"true",
2154
+ :description=>"Total number of energy grid points",
2155
+ :help=>"Total number of energy grid points",
2156
+ :tests=>["Tst::INT"],
2157
+ :code_name=>:negrid,
2158
+ :must_pass=>
2159
+ [{:test=>"kind_of? Integer",
2160
+ :explanation=>"This variable must be an integer."}],
2161
+ :type=>:Integer},
2162
+ :ecut=>
2163
+ {:should_include=>"true",
2164
+ :description=>nil,
2165
+ :help=>
2166
+ " If advanced_egrid=T: Maximum energy resolved\n** Otherwise: Break between discretizations of energy grid.\n",
2167
+ :tests=>["Tst::FLOAT"],
2168
+ :code_name=>:ecut,
2169
+ :must_pass=>
2170
+ [{:test=>"kind_of? Numeric",
2171
+ :explanation=>
2172
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2173
+ :type=>:Float},
2174
+ :test_legrids=>
2175
+ {:should_include=>"true",
2176
+ :description=>nil,
2177
+ :help=>nil,
2178
+ :tests=>["Tst::FORTRAN_BOOL"],
2179
+ :code_name=>:test,
2180
+ :must_pass=>
2181
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
2182
+ :explanation=>
2183
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
2184
+ :type=>:Fortran_Bool},
2185
+ :testfac=>
2186
+ {:should_include=>"true",
2187
+ :description=>nil,
2188
+ :help=>nil,
2189
+ :tests=>["Tst::INT"],
2190
+ :code_name=>:testfac,
2191
+ :must_pass=>
2192
+ [{:test=>"kind_of? Integer",
2193
+ :explanation=>"This variable must be an integer."}],
2194
+ :type=>:Integer},
2195
+ :nmax=>
2196
+ {:should_include=>"true",
2197
+ :description=>nil,
2198
+ :help=>nil,
2199
+ :tests=>["Tst::INT"],
2200
+ :code_name=>:nmax,
2201
+ :must_pass=>
2202
+ [{:test=>"kind_of? Integer",
2203
+ :explanation=>"This variable must be an integer."}],
2204
+ :type=>:Integer},
2205
+ :wgt_fac=>
2206
+ {:should_include=>"true",
2207
+ :description=>nil,
2208
+ :help=>nil,
2209
+ :tests=>["Tst::FLOAT"],
2210
+ :code_name=>:wgt_fac,
2211
+ :must_pass=>
2212
+ [{:test=>"kind_of? Numeric",
2213
+ :explanation=>
2214
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2215
+ :type=>:Float},
2216
+ :vgrid=>
2217
+ {:should_include=>"true",
2218
+ :description=>nil,
2219
+ :help=>nil,
2220
+ :tests=>["Tst::FORTRAN_BOOL"],
2221
+ :code_name=>:vgrid,
2222
+ :must_pass=>
2223
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
2224
+ :explanation=>
2225
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
2226
+ :type=>:Fortran_Bool},
2227
+ :vcut=>
2228
+ {:should_include=>"true",
2229
+ :description=>
2230
+ "No. of standard deviations from the standard Maxwellian beyond which the distribution function will be set to 0",
2231
+ :help=>
2232
+ "No. of standard deviations from the standard Maxwellian beyond which the distribution function will be set to 0",
2233
+ :tests=>["Tst::FLOAT"],
2234
+ :code_name=>:vcut,
2235
+ :must_pass=>
2236
+ [{:test=>"kind_of? Numeric",
2237
+ :explanation=>
2238
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2239
+ :type=>:Float},
2240
+ :nesub=>
2241
+ {:should_include=>"true",
2242
+ :description=>nil,
2243
+ :help=>
2244
+ " Only used if advanced_egrid = F; sets number of energy grid points below ecut\n",
2245
+ :tests=>["Tst::INT"],
2246
+ :code_name=>:nesub,
2247
+ :must_pass=>
2248
+ [{:test=>"kind_of? Integer",
2249
+ :explanation=>"This variable must be an integer."}],
2250
+ :type=>:Integer},
2251
+ :nesuper=>
2252
+ {:should_include=>"true",
2253
+ :description=>nil,
2254
+ :help=>
2255
+ " Only used if advanced_egrid = F; sets number of energy grid points above ecut\n",
2256
+ :tests=>["Tst::INT"],
2257
+ :code_name=>:nesuper,
2258
+ :must_pass=>
2259
+ [{:test=>"kind_of? Integer",
2260
+ :explanation=>"This variable must be an integer."}],
2261
+ :type=>:Integer}}},
2262
+ :nonlinear_terms_knobs=>
2263
+ {:description=>"",
2264
+ :should_include=>"true",
2265
+ :variables=>
2266
+ {:nonlinear_mode=>
2267
+ {:should_include=>"true",
2268
+ :description=>"Include nonlinear terms? ('on','off')",
2269
+ :help=>
2270
+ "Should the nonlinear terms be calculated?\n \n** 'none', 'default', 'off': Do not include nonlinear terms, i.e. run a linear calculation.\n** 'on' Include nonlinear terms.",
2271
+ :tests=>["Tst::STRING"],
2272
+ :code_name=>:nonlinear_mode,
2273
+ :must_pass=>
2274
+ [{:test=>"kind_of? String",
2275
+ :explanation=>"This variable must be a string."}],
2276
+ :type=>:String},
2277
+ :cfl=>
2278
+ {:should_include=>"true",
2279
+ :description=>"The maximum delt < cfl * min(Delta_perp/v_perp)",
2280
+ :help=>"The maximum delt < cfl * min(Delta_perp/v_perp)",
2281
+ :tests=>["Tst::FLOAT"],
2282
+ :code_name=>:cfl,
2283
+ :must_pass=>
2284
+ [{:test=>"kind_of? Numeric",
2285
+ :explanation=>
2286
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2287
+ :type=>:Float},
2288
+ :zip=>
2289
+ {:should_include=>"true",
2290
+ :description=>nil,
2291
+ :help=>" Experts only (for secondary/tertiary calculations). \n",
2292
+ :tests=>["Tst::FORTRAN_BOOL"],
2293
+ :code_name=>:zip,
2294
+ :must_pass=>
2295
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
2296
+ :explanation=>
2297
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
2298
+ :type=>:Fortran_Bool}}},
2299
+ :parameters=>
2300
+ {:description=>"",
2301
+ :should_include=>"true",
2302
+ :variables=>
2303
+ {:beta=>
2304
+ {:should_include=>"true",
2305
+ :description=>
2306
+ "Ratio of particle to magnetic pressure (reference Beta, not total beta): beta=n_0 T_0 /( B^2 / (8 pi))",
2307
+ :help=>
2308
+ "In general, <math>\\beta</math> is the ratio of kinetic to magnetic energy. In GS2, the parameter <math>\\beta</math> affects only the dynamics, not the equilibrium. \n**For electromagnetic runs, the contribution of each species to the total parallel current is weighted by a factor of <math>w_s = 2 \\beta Z_s n_s \\sqrt{T_s/m_s}</math>.\n**For electromagnetic runs that include <math>\\delta B_\\parallel</math>, this field is proportional to <math>\\beta</math>.\n**The contribution of <math>(\\delta B)^2</math> to the total gyrokinetic energy is inversely proportional to this input parameter.\n**If an antenna is set up to drive Alfven waves, then <math>\\beta</math> is used to calculate the Alfven frequency. \n**For some collision operator models, <math>\\beta</math> is used to calculate the resistivity. \n**For some rarely-used initial conditions, <math>\\beta</math> appears explicitly. \n**Important: <math>\\beta</math> is <b>not</b> automatically set to be consistent with the value of <math>\\beta</math> used to calculate properties of a given magnetic equilibrium. The user is responsible for choosing the gradients, densities, and temperatures of all species to be consistent with the values of <math>\\beta</math> and <math>\\beta'</math> which appear here and elsewhere.",
2309
+ :tests=>["Tst::FLOAT"],
2310
+ :code_name=>:beta,
2311
+ :must_pass=>
2312
+ [{:test=>"kind_of? Numeric",
2313
+ :explanation=>
2314
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2315
+ :type=>:Float},
2316
+ :zeff=>
2317
+ {:should_include=>"true",
2318
+ :description=>"Effective ionic charge.",
2319
+ :help=>
2320
+ "Effective ionic charge. The parameter <math>Z_{\\rm eff}</math> appears only in the electron collision frequency, and is not automatically set to be consistent with the mix of species specified in the species namelists.",
2321
+ :tests=>["Tst::FLOAT"],
2322
+ :code_name=>:zeff,
2323
+ :must_pass=>
2324
+ [{:test=>"kind_of? Numeric",
2325
+ :explanation=>
2326
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2327
+ :type=>:Float},
2328
+ :tite=>
2329
+ {:should_include=>"true",
2330
+ :description=>"Ratio of ion to electron temperatures.",
2331
+ :help=>
2332
+ "Ratio of ion to electron temperatures. This parameter is used only when there is no species called \"electron\" included.",
2333
+ :tests=>["Tst::FLOAT"],
2334
+ :code_name=>:tite,
2335
+ :must_pass=>
2336
+ [{:test=>"kind_of? Numeric",
2337
+ :explanation=>
2338
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2339
+ :type=>:Float},
2340
+ :aant=>
2341
+ {:should_include=>"true",
2342
+ :description=>nil,
2343
+ :help=>nil,
2344
+ :tests=>["Tst::FORTRAN_BOOL"],
2345
+ :code_name=>:aant,
2346
+ :must_pass=>
2347
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
2348
+ :explanation=>
2349
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
2350
+ :type=>:Fortran_Bool}}},
2351
+ :knobs=>
2352
+ {:description=>"",
2353
+ :should_include=>"true",
2354
+ :variables=>
2355
+ {:delt=>
2356
+ {:should_include=>"true",
2357
+ :description=>"Time step",
2358
+ :help=>
2359
+ "Timestep, in units of <math>a/v_{t0}</math>. For linear runs, this value does not change. For nonlinear runs, the timestep used by the code will not be allowed to exceed this value.",
2360
+ :tests=>["Tst::FLOAT"],
2361
+ :code_name=>:delt,
2362
+ :must_pass=>
2363
+ [{:test=>"kind_of? Numeric",
2364
+ :explanation=>
2365
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2366
+ :type=>:Float},
2367
+ :nstep=>
2368
+ {:should_include=>"true",
2369
+ :description=>"Maximum number of timesteps",
2370
+ :help=>
2371
+ "Number of timesteps that will be taken, unless the code stops for some (usually user-specified) reason.",
2372
+ :tests=>["Tst::INT"],
2373
+ :code_name=>:nstep,
2374
+ :must_pass=>
2375
+ [{:test=>"kind_of? Integer",
2376
+ :explanation=>"This variable must be an integer."}],
2377
+ :type=>:Integer},
2378
+ :eqzip_option=>
2379
+ {:should_include=>"true",
2380
+ :description=>nil,
2381
+ :help=>nil,
2382
+ :tests=>["Tst::STRING"],
2383
+ :code_name=>:eqzip_option,
2384
+ :must_pass=>
2385
+ [{:test=>"kind_of? String",
2386
+ :explanation=>"This variable must be a string."}],
2387
+ :type=>:String},
2388
+ :eqzip=>
2389
+ {:should_include=>"true",
2390
+ :description=>
2391
+ "True only for secondary/tertiary instability calculations.",
2392
+ :help=>
2393
+ "Default = .false. Do not evolve certain <math>k</math> modes in time. Set this to true only if you know what you are doing. True only for secondary/tertiary instability calculations.",
2394
+ :tests=>["Tst::FORTRAN_BOOL"],
2395
+ :code_name=>:eqzip,
2396
+ :must_pass=>
2397
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
2398
+ :explanation=>
2399
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
2400
+ :type=>:Fortran_Bool},
2401
+ :secondary=>
2402
+ {:should_include=>"true",
2403
+ :description=>nil,
2404
+ :help=>
2405
+ "Default = .false. Do not set to true unless you know what you are doing.",
2406
+ :tests=>["Tst::FORTRAN_BOOL"],
2407
+ :code_name=>:secondary,
2408
+ :must_pass=>
2409
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
2410
+ :explanation=>
2411
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
2412
+ :type=>:Fortran_Bool},
2413
+ :tertiary=>
2414
+ {:should_include=>"true",
2415
+ :description=>nil,
2416
+ :help=>
2417
+ "Default = .false. Do not set to true unless you know what you are doing.",
2418
+ :tests=>["Tst::FORTRAN_BOOL"],
2419
+ :code_name=>:tertiary,
2420
+ :must_pass=>
2421
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
2422
+ :explanation=>
2423
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
2424
+ :type=>:Fortran_Bool},
2425
+ :kill_full_eq_evol=>
2426
+ {:should_include=>"true",
2427
+ :description=>nil,
2428
+ :help=>nil,
2429
+ :tests=>["Tst::FORTRAN_BOOL"],
2430
+ :code_name=>:kill_full_eq_evol,
2431
+ :must_pass=>
2432
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
2433
+ :explanation=>
2434
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
2435
+ :type=>:Fortran_Bool},
2436
+ :avail_cpu_time=>
2437
+ {:should_include=>"true",
2438
+ :description=>
2439
+ "Specify the available wall clock time in seconds. GS2 will exit before this time.",
2440
+ :help=>
2441
+ "Specify the available wall clock time in seconds. GS2 will exit before this time. This ensures that all the output files are written correctly. CodeRunner automatically sets this quantity unless it is given the value false.",
2442
+ :tests=>["Tst::FLOAT"],
2443
+ :code_name=>:avail_cpu_time,
2444
+ :must_pass=>
2445
+ [{:test=>"kind_of? Numeric",
2446
+ :explanation=>
2447
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2448
+ :type=>:Float},
2449
+ :store_eq=>
2450
+ {:should_include=>"true",
2451
+ :description=>nil,
2452
+ :help=>nil,
2453
+ :tests=>["Tst::FORTRAN_BOOL"],
2454
+ :code_name=>:store_eq,
2455
+ :must_pass=>
2456
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
2457
+ :explanation=>
2458
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
2459
+ :type=>:Fortran_Bool},
2460
+ :delt_option=>
2461
+ {:should_include=>"true",
2462
+ :description=>"Deprecated.",
2463
+ :help=>
2464
+ "Deprecated. Do not use. (Use 'check_restart' to get initial timestep from restart file, 'default' otherwise.)",
2465
+ :tests=>["Tst::STRING"],
2466
+ :code_name=>:delt_option,
2467
+ :must_pass=>
2468
+ [{:test=>"kind_of? String",
2469
+ :explanation=>"This variable must be a string."}],
2470
+ :type=>:String},
2471
+ :use_Phi=>
2472
+ {:should_include=>"true",
2473
+ :description=>nil,
2474
+ :help=>nil,
2475
+ :tests=>["Tst::FORTRAN_BOOL"],
2476
+ :code_name=>:use_Phi,
2477
+ :must_pass=>
2478
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
2479
+ :explanation=>
2480
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
2481
+ :type=>:Fortran_Bool},
2482
+ :use_Apar=>
2483
+ {:should_include=>"true",
2484
+ :description=>nil,
2485
+ :help=>nil,
2486
+ :tests=>["Tst::FORTRAN_BOOL"],
2487
+ :code_name=>:use_Apar,
2488
+ :must_pass=>
2489
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
2490
+ :explanation=>
2491
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
2492
+ :type=>:Fortran_Bool},
2493
+ :use_Bpar=>
2494
+ {:should_include=>"true",
2495
+ :description=>nil,
2496
+ :help=>nil,
2497
+ :tests=>["Tst::FORTRAN_BOOL"],
2498
+ :code_name=>:use_Bpar,
2499
+ :must_pass=>
2500
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
2501
+ :explanation=>
2502
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
2503
+ :type=>:Fortran_Bool}}},
2504
+ :species_knobs=>
2505
+ {:description=>"",
2506
+ :should_include=>"true",
2507
+ :variables=>
2508
+ {:nspec=>
2509
+ {:should_include=>"true",
2510
+ :description=>"Number of kinetic species evolved.",
2511
+ :help=>"Number of kinetic species evolved.",
2512
+ :tests=>["Tst::INT"],
2513
+ :code_name=>:nspec,
2514
+ :must_pass=>
2515
+ [{:test=>"kind_of? Integer",
2516
+ :explanation=>"This variable must be an integer."}],
2517
+ :type=>:Integer}}},
2518
+ :species_parameters=>
2519
+ {:description=>"",
2520
+ :should_include=>"true",
2521
+ :enumerator=>{:name=>:nspec, :estimated_value=>5},
2522
+ :variables=>
2523
+ {:z=>
2524
+ {:should_include=>"true",
2525
+ :description=>"Charge",
2526
+ :help=>"Charge",
2527
+ :tests=>["Tst::FLOAT"],
2528
+ :code_name=>:z,
2529
+ :must_pass=>
2530
+ [{:test=>"kind_of? Numeric",
2531
+ :explanation=>
2532
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2533
+ :type=>:Float},
2534
+ :mass=>
2535
+ {:should_include=>"true",
2536
+ :description=>"Mass",
2537
+ :help=>"Mass",
2538
+ :tests=>["Tst::FLOAT"],
2539
+ :code_name=>:mass,
2540
+ :must_pass=>
2541
+ [{:test=>"kind_of? Numeric",
2542
+ :explanation=>
2543
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2544
+ :type=>:Float},
2545
+ :dens=>
2546
+ {:should_include=>"true",
2547
+ :description=>"Density\t",
2548
+ :help=>"Density\t",
2549
+ :tests=>["Tst::FLOAT"],
2550
+ :code_name=>:dens,
2551
+ :must_pass=>
2552
+ [{:test=>"kind_of? Numeric",
2553
+ :explanation=>
2554
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2555
+ :type=>:Float},
2556
+ :dens0=>
2557
+ {:should_include=>"true",
2558
+ :description=>nil,
2559
+ :help=>nil,
2560
+ :tests=>["Tst::FLOAT"],
2561
+ :code_name=>:dens0,
2562
+ :must_pass=>
2563
+ [{:test=>"kind_of? Numeric",
2564
+ :explanation=>
2565
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2566
+ :type=>:Float},
2567
+ :u0=>
2568
+ {:should_include=>"true",
2569
+ :description=>nil,
2570
+ :help=>nil,
2571
+ :tests=>["Tst::FLOAT"],
2572
+ :code_name=>:u0,
2573
+ :must_pass=>
2574
+ [{:test=>"kind_of? Numeric",
2575
+ :explanation=>
2576
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2577
+ :type=>:Float},
2578
+ :tpar0_species=>
2579
+ {:should_include=>"true",
2580
+ :description=>nil,
2581
+ :help=>nil,
2582
+ :tests=>["Tst::FLOAT"],
2583
+ :code_name=>:tpar0,
2584
+ :must_pass=>
2585
+ [{:test=>"kind_of? Numeric",
2586
+ :explanation=>
2587
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2588
+ :type=>:Float},
2589
+ :tperp0_species=>
2590
+ {:should_include=>"true",
2591
+ :description=>nil,
2592
+ :help=>nil,
2593
+ :tests=>["Tst::FLOAT"],
2594
+ :code_name=>:tperp0,
2595
+ :must_pass=>
2596
+ [{:test=>"kind_of? Numeric",
2597
+ :explanation=>
2598
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2599
+ :type=>:Float},
2600
+ :temp=>
2601
+ {:should_include=>"true",
2602
+ :description=>"Temperature",
2603
+ :help=>"Temperature",
2604
+ :tests=>["Tst::FLOAT"],
2605
+ :code_name=>:temp,
2606
+ :must_pass=>
2607
+ [{:test=>"kind_of? Numeric",
2608
+ :explanation=>
2609
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2610
+ :type=>:Float},
2611
+ :tprim=>
2612
+ {:should_include=>"true",
2613
+ :description=>"-1/T (dT/drho)",
2614
+ :help=>
2615
+ "Normalised inverse temperature gradient: <math>-1/T (dT/d\\rho)</math>",
2616
+ :tests=>["Tst::FLOAT"],
2617
+ :code_name=>:tprim,
2618
+ :must_pass=>
2619
+ [{:test=>"kind_of? Numeric",
2620
+ :explanation=>
2621
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2622
+ :type=>:Float},
2623
+ :fprim=>
2624
+ {:should_include=>"true",
2625
+ :description=>"-1/n (dn/drho)",
2626
+ :help=>
2627
+ "Normalised inverse density gradient: <math>-1/n (dn/d\\rho)</math>",
2628
+ :tests=>["Tst::FLOAT"],
2629
+ :code_name=>:fprim,
2630
+ :must_pass=>
2631
+ [{:test=>"kind_of? Numeric",
2632
+ :explanation=>
2633
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2634
+ :type=>:Float},
2635
+ :uprim=>
2636
+ {:should_include=>"true",
2637
+ :description=>"?",
2638
+ :help=>"?",
2639
+ :tests=>["Tst::FLOAT"],
2640
+ :code_name=>:uprim,
2641
+ :must_pass=>
2642
+ [{:test=>"kind_of? Numeric",
2643
+ :explanation=>
2644
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2645
+ :type=>:Float},
2646
+ :type=>
2647
+ {:should_include=>"true",
2648
+ :description=>"Type of species, e.g. 'ion', 'electron', 'beam'",
2649
+ :help=>
2650
+ "Type of species:\n** 'ion' Thermal ion species\n** 'default' Same as 'ion'\n** 'electron' Thermal electron species\n** 'e' Same as 'electron'\n** 'beam' Slowing down distribution (Requires advanced_egrid = F)\n** 'slowing_down' Same as 'beam'\n** 'fast' Same as 'beam'\n** 'alpha' Same as 'beam'",
2651
+ :tests=>["Tst::INT"],
2652
+ :code_name=>:type,
2653
+ :must_pass=>
2654
+ [{:test=>"kind_of? String",
2655
+ :explanation=>"This variable must be a string."}],
2656
+ :type=>:Integer},
2657
+ :nu=>
2658
+ {:should_include=>"true",
2659
+ :description=>nil,
2660
+ :help=>nil,
2661
+ :tests=>["Tst::INT"],
2662
+ :code_name=>:nu,
2663
+ :must_pass=>
2664
+ [{:test=>"kind_of? Float or kind_of? Integer",
2665
+ :explanation=>"This variable must be a float (integers ok)."}],
2666
+ :type=>:Integer},
2667
+ :nu_h=>
2668
+ {:should_include=>"true",
2669
+ :description=>nil,
2670
+ :help=>nil,
2671
+ :tests=>["Tst::FLOAT"],
2672
+ :code_name=>:nu_h,
2673
+ :must_pass=>
2674
+ [{:test=>"kind_of? Numeric",
2675
+ :explanation=>
2676
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2677
+ :type=>:Float},
2678
+ :nexp_h=>
2679
+ {:should_include=>"true",
2680
+ :description=>nil,
2681
+ :help=>nil,
2682
+ :tests=>["Tst::FLOAT"],
2683
+ :code_name=>:nexp_h,
2684
+ :must_pass=>
2685
+ [{:test=>"kind_of? Numeric",
2686
+ :explanation=>
2687
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2688
+ :type=>:Float},
2689
+ :adapt_hc=>
2690
+ {:should_include=>"true",
2691
+ :description=>nil,
2692
+ :help=>nil,
2693
+ :tests=>["Tst::FORTRAN_BOOL"],
2694
+ :code_name=>:adapt_hc,
2695
+ :must_pass=>
2696
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
2697
+ :explanation=>
2698
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
2699
+ :type=>:Fortran_Bool},
2700
+ :kp_hc=>
2701
+ {:should_include=>"true",
2702
+ :description=>nil,
2703
+ :help=>nil,
2704
+ :tests=>["Tst::FLOAT"],
2705
+ :code_name=>:kp_hc,
2706
+ :must_pass=>
2707
+ [{:test=>"kind_of? Numeric",
2708
+ :explanation=>
2709
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2710
+ :type=>:Float},
2711
+ :dkp_hc=>
2712
+ {:should_include=>"true",
2713
+ :description=>nil,
2714
+ :help=>nil,
2715
+ :tests=>["Tst::FLOAT"],
2716
+ :code_name=>:dkp_hc,
2717
+ :must_pass=>
2718
+ [{:test=>"kind_of? Numeric",
2719
+ :explanation=>
2720
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2721
+ :type=>:Float},
2722
+ :gw_hc=>
2723
+ {:should_include=>"true",
2724
+ :description=>nil,
2725
+ :help=>nil,
2726
+ :tests=>["Tst::FLOAT"],
2727
+ :code_name=>:gw_hc,
2728
+ :must_pass=>
2729
+ [{:test=>"kind_of? Numeric",
2730
+ :explanation=>
2731
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2732
+ :type=>:Float},
2733
+ :gw_frac=>
2734
+ {:should_include=>"true",
2735
+ :description=>nil,
2736
+ :help=>nil,
2737
+ :tests=>["Tst::FLOAT"],
2738
+ :code_name=>:gw_frac,
2739
+ :must_pass=>
2740
+ [{:test=>"kind_of? Numeric",
2741
+ :explanation=>
2742
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2743
+ :type=>:Float},
2744
+ :min_nuh=>
2745
+ {:should_include=>"true",
2746
+ :description=>nil,
2747
+ :help=>nil,
2748
+ :tests=>["Tst::FLOAT"],
2749
+ :code_name=>:min_nuh,
2750
+ :must_pass=>
2751
+ [{:test=>"kind_of? Numeric",
2752
+ :explanation=>
2753
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2754
+ :type=>:Float},
2755
+ :max_nuh=>
2756
+ {:should_include=>"true",
2757
+ :description=>nil,
2758
+ :help=>nil,
2759
+ :tests=>["Tst::FLOAT"],
2760
+ :code_name=>:max_nuh,
2761
+ :must_pass=>
2762
+ [{:test=>"kind_of? Numeric",
2763
+ :explanation=>
2764
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2765
+ :type=>:Float}}},
2766
+ :theta_grid=>
2767
+ {:description=>"",
2768
+ :should_include=>"true",
2769
+ :variables=>
2770
+ {:z0=>
2771
+ {:should_include=>"true",
2772
+ :description=>nil,
2773
+ :help=>nil,
2774
+ :tests=>["Tst::FLOAT"],
2775
+ :code_name=>:z0,
2776
+ :must_pass=>
2777
+ [{:test=>"kind_of? Numeric",
2778
+ :explanation=>
2779
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
2780
+ :type=>:Float},
2781
+ :ntheta=>
2782
+ {:should_include=>"true",
2783
+ :description=>nil,
2784
+ :help=>nil,
2785
+ :tests=>["Tst::INT"],
2786
+ :code_name=>:ntheta,
2787
+ :must_pass=>
2788
+ [{:test=>"kind_of? Integer",
2789
+ :explanation=>"This variable must be an integer."}],
2790
+ :type=>:Integer},
2791
+ :nperiod=>
2792
+ {:should_include=>"true",
2793
+ :description=>nil,
2794
+ :help=>nil,
2795
+ :tests=>["Tst::INT"],
2796
+ :code_name=>:nperiod,
2797
+ :must_pass=>
2798
+ [{:test=>"kind_of? Integer",
2799
+ :explanation=>"This variable must be an integer."}],
2800
+ :type=>:Integer}}}}