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,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}}