gs2crmod 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,916 @@
1
+ {:norm_option=>
2
+ {:help=>
3
+ "The definition of <math>v_{th}</math>\n** 'with_root_2', 'default', and 'mtk' are equivalent ways of choosing v_t = sqrt(2T/m)</I>.\n** 'no_root_2', 'bd', and 't_over_m' are equivalent ways of choosing v_t = sqrt(T/m). Recommended \n\n\n <big>Note: In the input file, only one of the following sections need to be included, depending on the value of [[grid_option]].</big>",
4
+ :should_include=>"true",
5
+ :description=>"The definition of v_th",
6
+ :tests=>["Tst::STRING"],
7
+ :autoscanned_defaults=>["default"],
8
+ :must_pass=>
9
+ [{:test=>"kind_of? String",
10
+ :explanation=>"This variable must be a string."}],
11
+ :type=>:String,
12
+ :text_options=>
13
+ ["default", "with_root_2", "mtk", "no_root_2", "bd", "t_over_m"]},
14
+ :vmom_eq=>
15
+ {:help=>" Use VMOMS equilibrium (VMOMS, old TRANSP)\n",
16
+ :should_include=>"true",
17
+ :description=>nil,
18
+ :tests=>["Tst::FORTRAN_BOOL"],
19
+ :autoscanned_defaults=>[".false."],
20
+ :must_pass=>
21
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
22
+ :explanation=>
23
+ "This variable must be a Fortran boolean. (In Ruby this is represented as a string: e.g. '.true.') "}],
24
+ :type=>:Fortran_Bool},
25
+ :ismooth=>
26
+ {:should_include=>"true",
27
+ :description=>nil,
28
+ :help=>
29
+ " \n** 0: Recommended \n** 1: Artificially smooth metric coefficients\n",
30
+ :tests=>["Tst::INT"],
31
+ :gs2_name=>:ismooth,
32
+ :must_pass=>
33
+ [{:test=>"kind_of? Integer",
34
+ :explanation=>"This variable must be an integer."}],
35
+ :autoscanned_defaults=>[0],
36
+ :type=>:Integer,
37
+ :code_name=>:ismooth},
38
+ :ak0=>
39
+ {:should_include=>"true",
40
+ :description=>nil,
41
+ :help=>" Smoothing parameter. Rarely used.\n",
42
+ :tests=>["Tst::FLOAT"],
43
+ :gs2_name=>:ak0,
44
+ :must_pass=>
45
+ [{:test=>"kind_of? Float or kind_of? Integer",
46
+ :explanation=>
47
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
48
+ :autoscanned_defaults=>[1.0],
49
+ :type=>:Float,
50
+ :code_name=>:ak0},
51
+ :k1=>
52
+ {:should_include=>"true",
53
+ :description=>nil,
54
+ :help=>" Smoothing parameter. Rarely used.\n",
55
+ :tests=>["Tst::INT"],
56
+ :gs2_name=>:k1,
57
+ :must_pass=>
58
+ [{:test=>"kind_of? Integer",
59
+ :explanation=>"This variable must be an integer."}],
60
+ :autoscanned_defaults=>[-30],
61
+ :type=>:Integer,
62
+ :code_name=>:k1},
63
+ :k2=>
64
+ {:should_include=>"true",
65
+ :description=>nil,
66
+ :help=>" Smoothing parameter. Rarely used.\n",
67
+ :tests=>["Tst::INT"],
68
+ :gs2_name=>:k2,
69
+ :must_pass=>
70
+ [{:test=>"kind_of? Integer",
71
+ :explanation=>"This variable must be an integer."}],
72
+ :autoscanned_defaults=>[-15],
73
+ :type=>:Integer,
74
+ :code_name=>:k2},
75
+ :advanced_egrid=>
76
+ {:help=>
77
+ " T: Use Candy-Waltz energy grid Recommended \n** F: Use Kotschenreuther energy grid\n",
78
+ :should_include=>"true",
79
+ :description=>nil,
80
+ :tests=>["Tst::FORTRAN_BOOL"],
81
+ :autoscanned_defaults=>[],
82
+ :must_pass=>
83
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
84
+ :explanation=>
85
+ "This variable must be a Fortran boolean. (In Ruby this is represented as a string: e.g. '.true.') "}],
86
+ :type=>:Fortran_Bool},
87
+ :vgrid=>
88
+ {:help=>nil,
89
+ :should_include=>"true",
90
+ :description=>nil,
91
+ :tests=>["Tst::STRING"],
92
+ :autoscanned_defaults=>[],
93
+ :must_pass=>
94
+ [{:test=>"kind_of? String",
95
+ :explanation=>"This variable must be a string."}],
96
+ :type=>:String},
97
+ :testfac=>
98
+ {:should_include=>"true",
99
+ :description=>nil,
100
+ :help=>nil,
101
+ :tests=>["Tst::INT"],
102
+ :gs2_name=>:testfac,
103
+ :must_pass=>
104
+ [{:test=>"kind_of? Integer",
105
+ :explanation=>"This variable must be an integer."}],
106
+ :autoscanned_defaults=>[],
107
+ :type=>:Integer,
108
+ :code_name=>:testfac},
109
+ :ecut=>
110
+ {:help=>
111
+ " If advanced_egrid=T: Maximum energy resolved\n** Otherwise: Break between discretizations of energy grid.\n",
112
+ :should_include=>"true",
113
+ :description=>nil,
114
+ :tests=>["Tst::FLOAT"],
115
+ :autoscanned_defaults=>[],
116
+ :must_pass=>
117
+ [{:test=>"kind_of? Float or kind_of? Integer",
118
+ :explanation=>
119
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
120
+ :type=>:Float},
121
+ :nperiod_guard=>
122
+ {:should_include=>"true",
123
+ :description=>nil,
124
+ :help=>" Obsolete\n",
125
+ :tests=>["Tst::INT"],
126
+ :gs2_name=>:nperiod_guard,
127
+ :must_pass=>
128
+ [{:test=>"kind_of? Integer",
129
+ :explanation=>"This variable must be an integer."}],
130
+ :autoscanned_defaults=>[0],
131
+ :type=>:Integer,
132
+ :code_name=>:nperiod_guard},
133
+ :save_n=>
134
+ {:should_include=>"true",
135
+ :description=>nil,
136
+ :help=>" Used only for debugging.\n",
137
+ :tests=>["Tst::FORTRAN_BOOL"],
138
+ :gs2_name=>:save_n,
139
+ :must_pass=>
140
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
141
+ :explanation=>
142
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
143
+ :autoscanned_defaults=>[".true."],
144
+ :type=>:Fortran_Bool,
145
+ :code_name=>:save_n},
146
+ :noise=>
147
+ {:should_include=>"true",
148
+ :description=>nil,
149
+ :help=>" Used only for debugging. noise < 0 turns off this feature. \n",
150
+ :tests=>["Tst::FLOAT"],
151
+ :gs2_name=>:noise,
152
+ :must_pass=>
153
+ [{:test=>"kind_of? Float or kind_of? Integer",
154
+ :explanation=>
155
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
156
+ :autoscanned_defaults=>[-1.0],
157
+ :type=>:Float,
158
+ :code_name=>:noise},
159
+ :kill_grid=>
160
+ {:should_include=>"true",
161
+ :description=>nil,
162
+ :help=>nil,
163
+ :tests=>["Tst::FORTRAN_BOOL"],
164
+ :gs2_name=>:kill_grid,
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
+ :autoscanned_defaults=>[".false."],
170
+ :type=>:Fortran_Bool,
171
+ :code_name=>:kill_grid},
172
+ :h_kill=>
173
+ {:should_include=>"true",
174
+ :description=>nil,
175
+ :help=>nil,
176
+ :tests=>["Tst::FORTRAN_BOOL"],
177
+ :gs2_name=>:h_kill,
178
+ :must_pass=>
179
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
180
+ :explanation=>
181
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
182
+ :autoscanned_defaults=>[".true."],
183
+ :type=>:Fortran_Bool,
184
+ :code_name=>:h_kill},
185
+ :neoflux=>
186
+ {:should_include=>"true",
187
+ :description=>nil,
188
+ :help=>nil,
189
+ :tests=>["Tst::FORTRAN_BOOL"],
190
+ :gs2_name=>:neoflux,
191
+ :must_pass=>
192
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
193
+ :explanation=>
194
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
195
+ :autoscanned_defaults=>[".false."],
196
+ :type=>:Fortran_Bool,
197
+ :code_name=>:neoflux},
198
+ :g_pvg=>
199
+ {:should_include=>"true",
200
+ :description=>nil,
201
+ :help=>nil,
202
+ :tests=>["Tst::FLOAT"],
203
+ :code_name=>:g_pvg,
204
+ :must_pass=>
205
+ [{:test=>"kind_of? Numeric",
206
+ :explanation=>
207
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
208
+ :type=>:Float},
209
+ :d_kill=>
210
+ {:should_include=>"true",
211
+ :description=>nil,
212
+ :help=>" Experimental. D_kill < 0 turns off this feature.\n",
213
+ :tests=>["Tst::FLOAT"],
214
+ :gs2_name=>:D_kill,
215
+ :must_pass=>
216
+ [{:test=>"kind_of? Float or kind_of? Integer",
217
+ :explanation=>
218
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
219
+ :autoscanned_defaults=>[-10.0],
220
+ :type=>:Float,
221
+ :code_name=>:D_kill},
222
+ :vncoef=>
223
+ {:should_include=>"true",
224
+ :description=>nil,
225
+ :help=>" Parameter in Krook operator. \n",
226
+ :tests=>["Tst::FLOAT"],
227
+ :code_name=>:vncoef,
228
+ :must_pass=>
229
+ [{:test=>"kind_of? Numeric",
230
+ :explanation=>
231
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
232
+ :type=>:Float},
233
+ :absom=>
234
+ {:should_include=>"true",
235
+ :description=>nil,
236
+ :help=>" Parameter in Krook operator. \n",
237
+ :tests=>["Tst::FLOAT"],
238
+ :code_name=>:absom,
239
+ :must_pass=>
240
+ [{:test=>"kind_of? Numeric",
241
+ :explanation=>
242
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
243
+ :type=>:Float},
244
+ :ivnew=>
245
+ {:should_include=>"true",
246
+ :description=>nil,
247
+ :help=>" Parameter in Krook operator. \n",
248
+ :tests=>["Tst::INT"],
249
+ :code_name=>:ivnew,
250
+ :must_pass=>
251
+ [{:test=>"kind_of? Integer",
252
+ :explanation=>"This variable must be an integer."}],
253
+ :type=>:Integer},
254
+ :conserve_number=>
255
+ {:should_include=>"true",
256
+ :description=>nil,
257
+ :help=>" Applicable only for Krook operator\n",
258
+ :tests=>["Tst::FORTRAN_BOOL"],
259
+ :code_name=>:conserve_number,
260
+ :must_pass=>
261
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
262
+ :explanation=>
263
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
264
+ :type=>:Fortran_Bool},
265
+ :conserve_momentum=>
266
+ {:should_include=>"true",
267
+ :description=>nil,
268
+ :help=>" Conserve parallel momentum. Recommend F at this time.\n",
269
+ :tests=>["Tst::FORTRAN_BOOL"],
270
+ :code_name=>:conserve_momentum,
271
+ :must_pass=>
272
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
273
+ :explanation=>
274
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
275
+ :type=>:Fortran_Bool},
276
+ :k0=>
277
+ {:should_include=>"true",
278
+ :description=>"Advanced. Rarely used.",
279
+ :help=>
280
+ "Available for highly specialized initial conditions. Do not use unless you know what you are doing. Rarely used.",
281
+ :tests=>["Tst::FLOAT"],
282
+ :gs2_name=>:k0,
283
+ :must_pass=>
284
+ [{:test=>"kind_of? Float or kind_of? Integer",
285
+ :explanation=>
286
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
287
+ :autoscanned_defaults=>[1.0],
288
+ :type=>:Float,
289
+ :code_name=>:k0},
290
+ :write_phi=>
291
+ {:help=>"No longer used.",
292
+ :should_include=>"true",
293
+ :description=>"No longer used.",
294
+ :tests=>["Tst::FORTRAN_BOOL"],
295
+ :autoscanned_defaults=>[".true."],
296
+ :must_pass=>
297
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
298
+ :explanation=>
299
+ "This variable must be a Fortran boolean. (In Ruby this is represented as a string: e.g. '.true.') "}],
300
+ :type=>:Fortran_Bool},
301
+ :write_qheat=>
302
+ {:help=>"No longer used.",
303
+ :should_include=>"true",
304
+ :description=>"No longer used.",
305
+ :tests=>["Tst::FORTRAN_BOOL"],
306
+ :autoscanned_defaults=>[],
307
+ :must_pass=>
308
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
309
+ :explanation=>
310
+ "This variable must be a Fortran boolean. (In Ruby this is represented as a string: e.g. '.true.') "}],
311
+ :type=>:Fortran_Bool},
312
+ :write_dmix=>
313
+ {:help=>"If (write_ascii = T) write D_ML to output file.",
314
+ :should_include=>"true",
315
+ :description=>"If (write_ascii = T) write D_ML to output file.",
316
+ :tests=>["Tst::FORTRAN_BOOL"],
317
+ :autoscanned_defaults=>[".false."],
318
+ :must_pass=>
319
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
320
+ :explanation=>
321
+ "This variable must be a Fortran boolean. (In Ruby this is represented as a string: e.g. '.true.') "}],
322
+ :type=>:Fortran_Bool},
323
+ :write_stress=>
324
+ {:help=>
325
+ "Klaus Hallacek's diagnostic for toroidal stress... see his (unpublished) paper",
326
+ :should_include=>"true",
327
+ :description=>
328
+ "Klaus Hallacek's diagnostic for toroidal stress... see his (unpublished) paper",
329
+ :tests=>["Tst::FORTRAN_BOOL"],
330
+ :autoscanned_defaults=>[".false."],
331
+ :must_pass=>
332
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
333
+ :explanation=>
334
+ "This variable must be a Fortran boolean. (In Ruby this is represented as a string: e.g. '.true.') "}],
335
+ :type=>:Fortran_Bool},
336
+ :write_lamavg=>
337
+ {:help=>
338
+ "Time averaged turbulent fluxes as a function of lambda (= mu/E). Write particle flux vs. pitch angle (lambda) to runname.lam and energy flux vs. lambda to runname.lame",
339
+ :should_include=>"true",
340
+ :description=>
341
+ "Time averaged turbulent fluxes as a function of lambda (= mu/E).",
342
+ :tests=>["Tst::FORTRAN_BOOL"],
343
+ :autoscanned_defaults=>[".false."],
344
+ :must_pass=>
345
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
346
+ :explanation=>
347
+ "This variable must be a Fortran boolean. (In Ruby this is represented as a string: e.g. '.true.') "}],
348
+ :type=>:Fortran_Bool},
349
+ :write_tavg=>
350
+ {:help=>
351
+ "Write time averaged turbulent fluxes as a function of theta. Write particle flux vs. theta to runname.theta and energy flux vs. theta to runname.thetae",
352
+ :should_include=>"true",
353
+ :description=>
354
+ "Write time averaged turbulent fluxes as a function of theta.",
355
+ :tests=>["Tst::FORTRAN_BOOL"],
356
+ :autoscanned_defaults=>[".false."],
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
+ :write_eavg=>
363
+ {:help=>
364
+ "Time averaged turbulent fluxes as a function of energy (E). Write particle flux vs. energy to runname.energy and energy flux vs. energy to runname.energye",
365
+ :should_include=>"true",
366
+ :description=>"Time averaged turbulent fluxes as a function of energy (E).",
367
+ :tests=>["Tst::FORTRAN_BOOL"],
368
+ :autoscanned_defaults=>[".false."],
369
+ :must_pass=>
370
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
371
+ :explanation=>
372
+ "This variable must be a Fortran boolean. (In Ruby this is represented as a string: e.g. '.true.') "}],
373
+ :type=>:Fortran_Bool},
374
+ :write_apar=>
375
+ {:help=>"Deprecated",
376
+ :should_include=>"true",
377
+ :description=>"Deprecated",
378
+ :tests=>["Tst::FORTRAN_BOOL"],
379
+ :autoscanned_defaults=>[".true."],
380
+ :must_pass=>
381
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
382
+ :explanation=>
383
+ "This variable must be a Fortran boolean. (In Ruby this is represented as a string: e.g. '.true.') "}],
384
+ :type=>:Fortran_Bool},
385
+ :write_aperp=>
386
+ {:help=>"Deprecated",
387
+ :should_include=>"true",
388
+ :description=>"Deprecated",
389
+ :tests=>["Tst::FORTRAN_BOOL"],
390
+ :autoscanned_defaults=>[".true."],
391
+ :must_pass=>
392
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
393
+ :explanation=>
394
+ "This variable must be a Fortran boolean. (In Ruby this is represented as a string: e.g. '.true.') "}],
395
+ :type=>:Fortran_Bool},
396
+ :test_conserve=>
397
+ {:help=>
398
+ "Plots zonal flow component (ie. ky=0,kz=0) of moments of h vs time into NetCDF file",
399
+ :should_include=>"true",
400
+ :description=>nil,
401
+ :tests=>["Tst::FORTRAN_BOOL"],
402
+ :autoscanned_defaults=>[".false."],
403
+ :must_pass=>
404
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
405
+ :explanation=>
406
+ "This variable must be a Fortran boolean. (In Ruby this is represented as a string: e.g. '.true.') "}],
407
+ :type=>:Fortran_Bool},
408
+ :print_old_units=>
409
+ {:help=>
410
+ "Deprecated. If false print internal code units. If true requencies on screen in (1/omega_* units, omega_*=(cT/eB)*ky/L_ref.)",
411
+ :should_include=>"true",
412
+ :description=>"Deprecated.",
413
+ :tests=>["Tst::FORTRAN_BOOL"],
414
+ :autoscanned_defaults=>[".false."],
415
+ :must_pass=>
416
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
417
+ :explanation=>
418
+ "This variable must be a Fortran boolean. (In Ruby this is represented as a string: e.g. '.true.') "}],
419
+ :type=>:Fortran_Bool},
420
+ :write_fieldline_avg_phi=>
421
+ {:help=>"Ignored",
422
+ :should_include=>"true",
423
+ :description=>"Ignored",
424
+ :tests=>["Tst::FORTRAN_BOOL"],
425
+ :autoscanned_defaults=>[".false."],
426
+ :must_pass=>
427
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
428
+ :explanation=>
429
+ "This variable must be a Fortran boolean. (In Ruby this is represented as a string: e.g. '.true.') "}],
430
+ :type=>:Fortran_Bool},
431
+ :write_bpar=>
432
+ {:should_include=>"true",
433
+ :description=>nil,
434
+ :help=>nil,
435
+ :tests=>["Tst::FORTRAN_BOOL"],
436
+ :gs2_name=>:write_bpar,
437
+ :must_pass=>
438
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
439
+ :explanation=>
440
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
441
+ :autoscanned_defaults=>[".true."],
442
+ :type=>:Fortran_Bool,
443
+ :code_name=>:write_bpar},
444
+ :write_pflux=>
445
+ {:should_include=>"true",
446
+ :description=>nil,
447
+ :help=>" No longer used.\n",
448
+ :tests=>["Tst::FORTRAN_BOOL"],
449
+ :gs2_name=>:write_pflux,
450
+ :must_pass=>
451
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
452
+ :explanation=>
453
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
454
+ :autoscanned_defaults=>[],
455
+ :type=>:Fortran_Bool,
456
+ :code_name=>:write_pflux},
457
+ :write_vflux=>
458
+ {:should_include=>"true",
459
+ :description=>nil,
460
+ :help=>" No longer used.\n",
461
+ :tests=>["Tst::FORTRAN_BOOL"],
462
+ :gs2_name=>:write_vflux,
463
+ :must_pass=>
464
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
465
+ :explanation=>
466
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
467
+ :autoscanned_defaults=>[],
468
+ :type=>:Fortran_Bool,
469
+ :code_name=>:write_vflux},
470
+ :write_qmheat=>
471
+ {:should_include=>"true",
472
+ :description=>nil,
473
+ :help=>" No longer used.\n",
474
+ :tests=>["Tst::FORTRAN_BOOL"],
475
+ :gs2_name=>:write_qmheat,
476
+ :must_pass=>
477
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
478
+ :explanation=>
479
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
480
+ :autoscanned_defaults=>[],
481
+ :type=>:Fortran_Bool,
482
+ :code_name=>:write_qmheat},
483
+ :write_pmflux=>
484
+ {:should_include=>"true",
485
+ :description=>nil,
486
+ :help=>" No longer used.\n",
487
+ :tests=>["Tst::FORTRAN_BOOL"],
488
+ :gs2_name=>:write_pmflux,
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
+ :autoscanned_defaults=>[],
494
+ :type=>:Fortran_Bool,
495
+ :code_name=>:write_pmflux},
496
+ :write_vmflux=>
497
+ {:should_include=>"true",
498
+ :description=>nil,
499
+ :help=>" No longer used.\n",
500
+ :tests=>["Tst::FORTRAN_BOOL"],
501
+ :gs2_name=>:write_vmflux,
502
+ :must_pass=>
503
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
504
+ :explanation=>
505
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
506
+ :autoscanned_defaults=>[],
507
+ :type=>:Fortran_Bool,
508
+ :code_name=>:write_vmflux},
509
+ :write_qbheat=>
510
+ {:should_include=>"true",
511
+ :description=>nil,
512
+ :help=>" No longer used.\n",
513
+ :tests=>["Tst::FORTRAN_BOOL"],
514
+ :gs2_name=>:write_qbheat,
515
+ :must_pass=>
516
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
517
+ :explanation=>
518
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
519
+ :autoscanned_defaults=>[],
520
+ :type=>:Fortran_Bool,
521
+ :code_name=>:write_qbheat},
522
+ :write_pbflux=>
523
+ {:should_include=>"true",
524
+ :description=>nil,
525
+ :help=>" No longer used.\n",
526
+ :tests=>["Tst::FORTRAN_BOOL"],
527
+ :gs2_name=>:write_pbflux,
528
+ :must_pass=>
529
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
530
+ :explanation=>
531
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
532
+ :autoscanned_defaults=>[],
533
+ :type=>:Fortran_Bool,
534
+ :code_name=>:write_pbflux},
535
+ :write_vbflux=>
536
+ {:should_include=>"true",
537
+ :description=>nil,
538
+ :help=>" No longer used.\n",
539
+ :tests=>["Tst::FORTRAN_BOOL"],
540
+ :gs2_name=>:write_vbflux,
541
+ :must_pass=>
542
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
543
+ :explanation=>
544
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
545
+ :autoscanned_defaults=>[],
546
+ :type=>:Fortran_Bool,
547
+ :code_name=>:write_vbflux},
548
+ :write_kperpnorm=>
549
+ {:should_include=>"true",
550
+ :description=>nil,
551
+ :help=>" Ignored\n",
552
+ :tests=>["Tst::FORTRAN_BOOL"],
553
+ :gs2_name=>:write_kperpnorm,
554
+ :must_pass=>
555
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
556
+ :explanation=>
557
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
558
+ :autoscanned_defaults=>[".false."],
559
+ :type=>:Fortran_Bool,
560
+ :code_name=>:write_kperpnorm},
561
+ :write_phitot=>
562
+ {:should_include=>"true",
563
+ :description=>nil,
564
+ :help=>" Ignored\n",
565
+ :tests=>["Tst::FORTRAN_BOOL"],
566
+ :gs2_name=>:write_phitot,
567
+ :must_pass=>
568
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
569
+ :explanation=>
570
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
571
+ :autoscanned_defaults=>[".true."],
572
+ :type=>:Fortran_Bool,
573
+ :code_name=>:write_phitot},
574
+ :write_epartot=>
575
+ {:should_include=>"true",
576
+ :description=>nil,
577
+ :help=>" Ignored\n",
578
+ :tests=>["Tst::FORTRAN_BOOL"],
579
+ :gs2_name=>:write_epartot,
580
+ :must_pass=>
581
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
582
+ :explanation=>
583
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
584
+ :autoscanned_defaults=>[".false."],
585
+ :type=>:Fortran_Bool,
586
+ :code_name=>:write_epartot},
587
+ :write_fcheck=>
588
+ {:should_include=>"true",
589
+ :description=>nil,
590
+ :help=>" Obscure\n",
591
+ :tests=>["Tst::FORTRAN_BOOL"],
592
+ :gs2_name=>:write_fcheck,
593
+ :must_pass=>
594
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
595
+ :explanation=>
596
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
597
+ :autoscanned_defaults=>[".false."],
598
+ :type=>:Fortran_Bool,
599
+ :code_name=>:write_fcheck},
600
+ :write_vortcheck=>
601
+ {:should_include=>"true",
602
+ :description=>nil,
603
+ :help=>" Obscure\n",
604
+ :tests=>["Tst::FORTRAN_BOOL"],
605
+ :gs2_name=>:write_vortcheck,
606
+ :must_pass=>
607
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
608
+ :explanation=>
609
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
610
+ :autoscanned_defaults=>[".false."],
611
+ :type=>:Fortran_Bool,
612
+ :code_name=>:write_vortcheck},
613
+ :write_fieldcheck=>
614
+ {:should_include=>"true",
615
+ :description=>nil,
616
+ :help=>" Obscure\n",
617
+ :tests=>["Tst::FORTRAN_BOOL"],
618
+ :gs2_name=>:write_fieldcheck,
619
+ :must_pass=>
620
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
621
+ :explanation=>
622
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
623
+ :autoscanned_defaults=>[".false."],
624
+ :type=>:Fortran_Bool,
625
+ :code_name=>:write_fieldcheck},
626
+ :write_neoclassical_flux=>
627
+ {:should_include=>"true",
628
+ :description=>nil,
629
+ :help=>
630
+ " Turns on neoclassical flux calculation but result is not written.\n",
631
+ :tests=>["Tst::FORTRAN_BOOL"],
632
+ :gs2_name=>:write_neoclassical_flux,
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
+ :autoscanned_defaults=>[".false."],
638
+ :type=>:Fortran_Bool,
639
+ :code_name=>:write_neoclassical_flux},
640
+ :dump_neoclassical_flux=>
641
+ {:should_include=>"true",
642
+ :description=>nil,
643
+ :help=>" Neoclassical fluxes written to dump.neoflux\n",
644
+ :tests=>["Tst::FORTRAN_BOOL"],
645
+ :gs2_name=>:dump_neoclassical_flux,
646
+ :must_pass=>
647
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
648
+ :explanation=>
649
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
650
+ :autoscanned_defaults=>[".false."],
651
+ :type=>:Fortran_Bool,
652
+ :code_name=>:dump_neoclassical_flux},
653
+ :dump_final_xfields=>
654
+ {:should_include=>"true",
655
+ :description=>nil,
656
+ :help=>" No longer maintained.\n",
657
+ :tests=>["Tst::FORTRAN_BOOL"],
658
+ :gs2_name=>:dump_final_xfields,
659
+ :must_pass=>
660
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
661
+ :explanation=>
662
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
663
+ :autoscanned_defaults=>[".false."],
664
+ :type=>:Fortran_Bool,
665
+ :code_name=>:dump_final_xfields},
666
+ :use_shmem_for_xfields=>
667
+ {:should_include=>"true",
668
+ :description=>nil,
669
+ :help=>" Obsolete\n",
670
+ :tests=>["Tst::FORTRAN_BOOL"],
671
+ :gs2_name=>:use_shmem_for_xfields,
672
+ :must_pass=>
673
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
674
+ :explanation=>
675
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
676
+ :autoscanned_defaults=>[".true."],
677
+ :type=>:Fortran_Bool,
678
+ :code_name=>:use_shmem_for_xfields},
679
+ :nperiod_output=>
680
+ {:should_include=>"true",
681
+ :description=>nil,
682
+ :help=>" Obsolete\n",
683
+ :tests=>["Tst::INT"],
684
+ :gs2_name=>:nperiod_output,
685
+ :must_pass=>
686
+ [{:test=>"kind_of? Integer",
687
+ :explanation=>"This variable must be an integer."}],
688
+ :autoscanned_defaults=>["min(nperiod,nperiod_output)"],
689
+ :type=>:Integer,
690
+ :code_name=>:nperiod_output},
691
+ :write_epolar=>
692
+ {:should_include=>"true",
693
+ :description=>nil,
694
+ :help=>nil,
695
+ :tests=>["Tst::FORTRAN_BOOL"],
696
+ :gs2_name=>:write_Epolar,
697
+ :must_pass=>
698
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
699
+ :explanation=>
700
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
701
+ :autoscanned_defaults=>[".false."],
702
+ :type=>:Fortran_Bool,
703
+ :code_name=>:write_Epolar},
704
+ :real=>
705
+ {:should_include=>"true",
706
+ :description=>nil,
707
+ :help=>nil,
708
+ :tests=>["Tst::FLOAT"],
709
+ :code_name=>:real,
710
+ :must_pass=>
711
+ [{:test=>"kind_of? Numeric",
712
+ :explanation=>
713
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
714
+ :type=>:Float},
715
+ :public=>
716
+ {:should_include=>"true",
717
+ :description=>nil,
718
+ :help=>nil,
719
+ :tests=>["Tst::INT"],
720
+ :code_name=>:public,
721
+ :must_pass=>
722
+ [{:test=>"kind_of? Integer",
723
+ :explanation=>"This variable must be an integer."}],
724
+ :type=>:Integer},
725
+ :thetas=>
726
+ {:should_include=>"true",
727
+ :description=>nil,
728
+ :help=>" ?\n",
729
+ :tests=>["Tst::FLOAT"],
730
+ :gs2_name=>:thetas,
731
+ :must_pass=>
732
+ [{:test=>"kind_of? Float or kind_of? Integer",
733
+ :explanation=>
734
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
735
+ :autoscanned_defaults=>[1.0],
736
+ :type=>:Float,
737
+ :code_name=>:thetas},
738
+ :a_ext=>
739
+ {:should_include=>"true",
740
+ :description=>nil,
741
+ :help=>" Ignored.\n",
742
+ :tests=>["Tst::FLOAT"],
743
+ :gs2_name=>:a_ext,
744
+ :must_pass=>
745
+ [{:test=>"kind_of? Float or kind_of? Integer",
746
+ :explanation=>
747
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
748
+ :autoscanned_defaults=>[0.0],
749
+ :type=>:Float,
750
+ :code_name=>:a_ext},
751
+ :aky_star=>
752
+ {:should_include=>"true",
753
+ :description=>nil,
754
+ :help=>" Ignored.\n",
755
+ :tests=>["Tst::FLOAT"],
756
+ :gs2_name=>:aky_star,
757
+ :must_pass=>
758
+ [{:test=>"kind_of? Float or kind_of? Integer",
759
+ :explanation=>
760
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
761
+ :autoscanned_defaults=>[0.0],
762
+ :type=>:Float,
763
+ :code_name=>:aky_star},
764
+ :akx_star=>
765
+ {:should_include=>"true",
766
+ :description=>nil,
767
+ :help=>" Ignored.\n",
768
+ :tests=>["Tst::FLOAT"],
769
+ :gs2_name=>:akx_star,
770
+ :must_pass=>
771
+ [{:test=>"kind_of? Float or kind_of? Integer",
772
+ :explanation=>
773
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
774
+ :autoscanned_defaults=>[0.0],
775
+ :type=>:Float,
776
+ :code_name=>:akx_star},
777
+ :ntheta0=>
778
+ {:should_include=>"true",
779
+ :description=>nil,
780
+ :help=>nil,
781
+ :tests=>["Tst::INT"],
782
+ :gs2_name=>:ntheta0,
783
+ :must_pass=>
784
+ [{:test=>"kind_of? Integer",
785
+ :explanation=>"This variable must be an integer."}],
786
+ :autoscanned_defaults=>[0, 1],
787
+ :type=>:Integer,
788
+ :code_name=>:ntheta0},
789
+ :lx=>
790
+ {:should_include=>"true",
791
+ :description=>nil,
792
+ :help=>nil,
793
+ :tests=>["Tst::FLOAT"],
794
+ :gs2_name=>:lx,
795
+ :must_pass=>
796
+ [{:test=>"kind_of? Float or kind_of? Integer",
797
+ :explanation=>
798
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
799
+ :autoscanned_defaults=>[1.0],
800
+ :type=>:Float,
801
+ :code_name=>:lx},
802
+ :aky=>
803
+ {:should_include=>"true",
804
+ :description=>nil,
805
+ :help=>nil,
806
+ :tests=>["Tst::FLOAT"],
807
+ :gs2_name=>:aky,
808
+ :must_pass=>
809
+ [{:test=>"kind_of? Float or kind_of? Integer",
810
+ :explanation=>
811
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
812
+ :autoscanned_defaults=>[0.2, 0.4],
813
+ :type=>:Float,
814
+ :code_name=>:aky},
815
+ :nx=>
816
+ {:should_include=>"true",
817
+ :description=>nil,
818
+ :help=>nil,
819
+ :tests=>["Tst::INT"],
820
+ :gs2_name=>:nx,
821
+ :must_pass=>
822
+ [{:test=>"kind_of? Integer",
823
+ :explanation=>"This variable must be an integer."}],
824
+ :autoscanned_defaults=>[0],
825
+ :type=>:Integer,
826
+ :code_name=>:nx},
827
+ :nflux=>
828
+ {:should_include=>"true",
829
+ :description=>nil,
830
+ :help=>nil,
831
+ :tests=>["Tst::INT"],
832
+ :gs2_name=>:nflux,
833
+ :must_pass=>
834
+ [{:test=>"kind_of? Integer",
835
+ :explanation=>"This variable must be an integer."}],
836
+ :autoscanned_defaults=>[50],
837
+ :type=>:Integer,
838
+ :code_name=>:nflux},
839
+ :flux_option=>
840
+ {:should_include=>"true",
841
+ :description=>nil,
842
+ :help=>nil,
843
+ :tests=>["Tst::STRING"],
844
+ :gs2_name=>:flux_option,
845
+ :must_pass=>
846
+ [{:test=>"kind_of? String",
847
+ :explanation=>"This variable must be a string."}],
848
+ :autoscanned_defaults=>["default"],
849
+ :type=>:String,
850
+ :text_options=>["default", "adjust"],
851
+ :code_name=>:flux_option},
852
+ :delta=>
853
+ {:should_include=>"true",
854
+ :description=>nil,
855
+ :help=>nil,
856
+ :tests=>["Tst::FLOAT"],
857
+ :gs2_name=>:delta,
858
+ :must_pass=>
859
+ [{:test=>"kind_of? Float or kind_of? Integer",
860
+ :explanation=>
861
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
862
+ :autoscanned_defaults=>[0.1],
863
+ :type=>:Float,
864
+ :code_name=>:delta},
865
+ :flux_eps=>
866
+ {:should_include=>"true",
867
+ :description=>nil,
868
+ :help=>nil,
869
+ :tests=>["Tst::FLOAT"],
870
+ :gs2_name=>:eps,
871
+ :must_pass=>
872
+ [{:test=>"kind_of? Float or kind_of? Integer",
873
+ :explanation=>
874
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
875
+ :autoscanned_defaults=>[0.3, 0.5],
876
+ :type=>:Float,
877
+ :code_name=>:eps},
878
+ :heat=>
879
+ {:should_include=>"true",
880
+ :description=>nil,
881
+ :help=>nil,
882
+ :tests=>["Tst::FLOAT"],
883
+ :gs2_name=>:heat,
884
+ :must_pass=>
885
+ [{:test=>"kind_of? Float or kind_of? Integer",
886
+ :explanation=>
887
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
888
+ :autoscanned_defaults=>[50.0],
889
+ :type=>:Float,
890
+ :code_name=>:heat},
891
+ :include_lowflow=>
892
+ {:should_include=>"true",
893
+ :description=>"Include low flow terms in the gyrokinetic equation.",
894
+ :help=>
895
+ "Include calculation of terms present in the low flow limit of gyrokinetics. Many new terms... will slow calculation... don't set true unless you know what you are doing.",
896
+ :tests=>["Tst::FORTRAN_BOOL"],
897
+ :code_name=>:include_lowflow,
898
+ :must_pass=>
899
+ [{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
900
+ :explanation=>
901
+ "This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
902
+ :type=>:Fortran_Bool,
903
+ :module=>:dist_fn},
904
+ :rhostar=>
905
+ {:should_include=>"true",
906
+ :description=>"Normalised gyro-radius.",
907
+ :help=>
908
+ "Normalised gyro-radius, <math>\\frac{\\rho}{a}</math>, needed for calculating the momentum flux in the low flow limit.",
909
+ :tests=>["Tst::FLOAT"],
910
+ :code_name=>:rhostar,
911
+ :must_pass=>
912
+ [{:test=>"kind_of? Numeric",
913
+ :explanation=>
914
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
915
+ :type=>:Float,
916
+ :module=>:dist_fn}}