trinitycrmod 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.document +5 -0
- data/Gemfile +14 -0
- data/LICENSE.txt +20 -0
- data/README.rdoc +19 -0
- data/Rakefile +60 -0
- data/VERSION +1 -0
- data/lib/trinitycrmod/deleted_variables.rb +1 -0
- data/lib/trinitycrmod/namelists.rb +1262 -0
- data/lib/trinitycrmod/output_files.rb +18 -0
- data/lib/trinitycrmod/trinity.rb +216 -0
- data/lib/trinitycrmod.rb +1 -0
- data/sync_variables/helper.rb +18 -0
- data/sync_variables/sync_variables.rb +6 -0
- data/test/helper.rb +18 -0
- data/test/ifspppl/test.trin +57 -0
- data/test/ifspppl_results/v/id_1.tgz +0 -0
- data/test/test_trinitycrmod.rb +46 -0
- metadata +165 -0
@@ -0,0 +1,1262 @@
|
|
1
|
+
{:geometry=>
|
2
|
+
{:description=>"",
|
3
|
+
:should_include=>"true",
|
4
|
+
:variables=>
|
5
|
+
{:geo_option=>
|
6
|
+
{:should_include=>"true",
|
7
|
+
:description=>" construct geo profiles from following parameters",
|
8
|
+
:help=>" construct geo profiles from following parameters",
|
9
|
+
:code_name=>:geo_option,
|
10
|
+
:must_pass=>
|
11
|
+
[{:test=>"kind_of? String",
|
12
|
+
:explanation=>"This variable must be a string."}],
|
13
|
+
:type=>:String,
|
14
|
+
:autoscanned_defaults=>["default"]},
|
15
|
+
:geo_file=>
|
16
|
+
{:should_include=>"true",
|
17
|
+
:description=>" file with input data",
|
18
|
+
:help=>" file with input data",
|
19
|
+
:code_name=>:geo_file,
|
20
|
+
:must_pass=>
|
21
|
+
[{:test=>"kind_of? String",
|
22
|
+
:explanation=>"This variable must be a string."}],
|
23
|
+
:type=>:String,
|
24
|
+
:autoscanned_defaults=>["pr08_jet_42982_2d.dat"]},
|
25
|
+
:geo_time=>
|
26
|
+
{:should_include=>"true",
|
27
|
+
:description=>" target time to sample experimental data (in seconds)",
|
28
|
+
:help=>" target time to sample experimental data (in seconds)",
|
29
|
+
:code_name=>:geo_time,
|
30
|
+
:must_pass=>
|
31
|
+
[{:test=>"kind_of? Numeric",
|
32
|
+
:explanation=>
|
33
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
34
|
+
:type=>:Float,
|
35
|
+
:autoscanned_defaults=>[14.0]},
|
36
|
+
:rad_out=>
|
37
|
+
{:should_include=>"true",
|
38
|
+
:description=>" outer radial boundary",
|
39
|
+
:help=>" outer radial boundary",
|
40
|
+
:code_name=>:rad_out,
|
41
|
+
:must_pass=>
|
42
|
+
[{:test=>"kind_of? Numeric",
|
43
|
+
:explanation=>
|
44
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
45
|
+
:type=>:Float,
|
46
|
+
:autoscanned_defaults=>[0.95]},
|
47
|
+
:nrad=>
|
48
|
+
{:should_include=>"true",
|
49
|
+
:description=>" number of radial grid points",
|
50
|
+
:help=>" number of radial grid points",
|
51
|
+
:code_name=>:nrad,
|
52
|
+
:must_pass=>
|
53
|
+
[{:test=>"kind_of? Integer",
|
54
|
+
:explanation=>"This variable must be an integer."}],
|
55
|
+
:type=>:Integer,
|
56
|
+
:autoscanned_defaults=>[9]},
|
57
|
+
:bt_in=>
|
58
|
+
{:should_include=>"true",
|
59
|
+
:description=>
|
60
|
+
" if bt_in > 0.0 and overwrite_db_input=T, set bmag = bt_in (B-field strength in Tesla)",
|
61
|
+
:help=>
|
62
|
+
" if bt_in > 0.0 and overwrite_db_input=T, set bmag = bt_in (B-field strength in Tesla)",
|
63
|
+
:code_name=>:bt_in,
|
64
|
+
:must_pass=>
|
65
|
+
[{:test=>"kind_of? Numeric",
|
66
|
+
:explanation=>
|
67
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
68
|
+
:type=>:Float,
|
69
|
+
:autoscanned_defaults=>[0.0]},
|
70
|
+
:amin_in=>
|
71
|
+
{:should_include=>"true",
|
72
|
+
:description=>" geometric minor radius at LCFS (in meters)",
|
73
|
+
:help=>" geometric minor radius at LCFS (in meters)",
|
74
|
+
:code_name=>:amin_in,
|
75
|
+
:must_pass=>
|
76
|
+
[{:test=>"kind_of? Numeric",
|
77
|
+
:explanation=>
|
78
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
79
|
+
:type=>:Float,
|
80
|
+
:autoscanned_defaults=>[0.0]},
|
81
|
+
:rgeo_in=>
|
82
|
+
{:should_include=>"true",
|
83
|
+
:description=>" geometric major radius at LCFS (in meters)",
|
84
|
+
:help=>" geometric major radius at LCFS (in meters)",
|
85
|
+
:code_name=>:rgeo_in,
|
86
|
+
:must_pass=>
|
87
|
+
[{:test=>"kind_of? Numeric",
|
88
|
+
:explanation=>
|
89
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
90
|
+
:type=>:Float,
|
91
|
+
:autoscanned_defaults=>[0.0]},
|
92
|
+
:q0=>
|
93
|
+
{:should_include=>"true",
|
94
|
+
:description=>" value of q at core of profile",
|
95
|
+
:help=>" value of q at core of profile",
|
96
|
+
:code_name=>:q0,
|
97
|
+
:must_pass=>
|
98
|
+
[{:test=>"kind_of? Numeric",
|
99
|
+
:explanation=>
|
100
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
101
|
+
:type=>:Float,
|
102
|
+
:autoscanned_defaults=>[1.1]},
|
103
|
+
:qa=>
|
104
|
+
{:should_include=>"true",
|
105
|
+
:description=>" value of q at edge of plasma",
|
106
|
+
:help=>" value of q at edge of plasma",
|
107
|
+
:code_name=>:qa,
|
108
|
+
:must_pass=>
|
109
|
+
[{:test=>"kind_of? Numeric",
|
110
|
+
:explanation=>
|
111
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
112
|
+
:type=>:Float,
|
113
|
+
:autoscanned_defaults=>[2.73]},
|
114
|
+
:alph_q=>
|
115
|
+
{:should_include=>"true",
|
116
|
+
:description=>" controls flatness of q profile",
|
117
|
+
:help=>" controls flatness of q profile",
|
118
|
+
:code_name=>:alph_q,
|
119
|
+
:must_pass=>
|
120
|
+
[{:test=>"kind_of? Numeric",
|
121
|
+
:explanation=>
|
122
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
123
|
+
:type=>:Float,
|
124
|
+
:autoscanned_defaults=>[0.6]},
|
125
|
+
:sh0=>
|
126
|
+
{:should_include=>"true",
|
127
|
+
:description=>
|
128
|
+
" sh0 > 0.0 makes shat increase sharply from zero near rad=0",
|
129
|
+
:help=>" sh0 > 0.0 makes shat increase sharply from zero near rad=0",
|
130
|
+
:code_name=>:sh0,
|
131
|
+
:must_pass=>
|
132
|
+
[{:test=>"kind_of? Numeric",
|
133
|
+
:explanation=>
|
134
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
135
|
+
:type=>:Float,
|
136
|
+
:autoscanned_defaults=>[1.0]},
|
137
|
+
:kap0=>
|
138
|
+
{:should_include=>"true",
|
139
|
+
:description=>" value of kappa (elongation) at core of plasma",
|
140
|
+
:help=>" value of kappa (elongation) at core of plasma",
|
141
|
+
:code_name=>:kap0,
|
142
|
+
:must_pass=>
|
143
|
+
[{:test=>"kind_of? Numeric",
|
144
|
+
:explanation=>
|
145
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
146
|
+
:type=>:Float,
|
147
|
+
:autoscanned_defaults=>[1.35]},
|
148
|
+
:ka=>
|
149
|
+
{:should_include=>"true",
|
150
|
+
:description=>" value of kappa at edge of plasma (r/a=1)",
|
151
|
+
:help=>" value of kappa at edge of plasma (r/a=1)",
|
152
|
+
:code_name=>:ka,
|
153
|
+
:must_pass=>
|
154
|
+
[{:test=>"kind_of? Numeric",
|
155
|
+
:explanation=>
|
156
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
157
|
+
:type=>:Float,
|
158
|
+
:autoscanned_defaults=>[1.65]},
|
159
|
+
:alph_k=>
|
160
|
+
{:should_include=>"true",
|
161
|
+
:description=>" controls flatness of kappa profile",
|
162
|
+
:help=>" controls flatness of kappa profile",
|
163
|
+
:code_name=>:alph_k,
|
164
|
+
:must_pass=>
|
165
|
+
[{:test=>"kind_of? Numeric",
|
166
|
+
:explanation=>
|
167
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
168
|
+
:type=>:Float,
|
169
|
+
:autoscanned_defaults=>[0.8]},
|
170
|
+
:fluxlabel_option=>
|
171
|
+
{:should_include=>"true",
|
172
|
+
:description=>" sets choice of normalized flux label",
|
173
|
+
:help=>" sets choice of normalized flux label",
|
174
|
+
:code_name=>:fluxlabel_option,
|
175
|
+
:must_pass=>
|
176
|
+
[{:test=>"kind_of? String",
|
177
|
+
:explanation=>"This variable must be a string."}],
|
178
|
+
:type=>:String,
|
179
|
+
:autoscanned_defaults=>["default"]},
|
180
|
+
:phia_in=>
|
181
|
+
{:should_include=>"true",
|
182
|
+
:description=>
|
183
|
+
" if phia_in > 0.0 and overwrite_db_input=T, set phia = phia_in (phia is sqrt(tor flux) at separatrix)",
|
184
|
+
:help=>
|
185
|
+
" if phia_in > 0.0 and overwrite_db_input=T, set phia = phia_in (phia is sqrt(tor flux) at separatrix)",
|
186
|
+
:code_name=>:phia_in,
|
187
|
+
:must_pass=>
|
188
|
+
[{:test=>"kind_of? Numeric",
|
189
|
+
:explanation=>
|
190
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
191
|
+
:type=>:Float,
|
192
|
+
:autoscanned_defaults=>[0.0]},
|
193
|
+
:use_external_geo=>
|
194
|
+
{:should_include=>"true",
|
195
|
+
:description=>
|
196
|
+
" true if specifying geometry for flux code externally (e.g. in gs2 input files)",
|
197
|
+
:help=>
|
198
|
+
" true if specifying geometry for flux code externally (e.g. in gs2 input files)",
|
199
|
+
:code_name=>:use_external_geo,
|
200
|
+
:must_pass=>
|
201
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
202
|
+
:explanation=>
|
203
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
204
|
+
:type=>:Fortran_Bool,
|
205
|
+
:autoscanned_defaults=>[".false."]},
|
206
|
+
:write_dbinfo=>
|
207
|
+
{:should_include=>"true",
|
208
|
+
:description=>
|
209
|
+
" set true to write un-interpolated ITER DB info to screen",
|
210
|
+
:help=>" set true to write un-interpolated ITER DB info to screen",
|
211
|
+
:code_name=>:write_dbinfo,
|
212
|
+
:must_pass=>
|
213
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
214
|
+
:explanation=>
|
215
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
216
|
+
:type=>:Fortran_Bool,
|
217
|
+
:autoscanned_defaults=>[".false."]},
|
218
|
+
:overwrite_db_input=>
|
219
|
+
{:should_include=>"true",
|
220
|
+
:description=>
|
221
|
+
" true if user wants to overwrite 1D variable(s) with input file values",
|
222
|
+
:help=>
|
223
|
+
" true if user wants to overwrite 1D variable(s) with input file values",
|
224
|
+
:code_name=>:overwrite_db_input,
|
225
|
+
:must_pass=>
|
226
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
227
|
+
:explanation=>
|
228
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
229
|
+
:type=>:Fortran_Bool,
|
230
|
+
:autoscanned_defaults=>[".false."]}}},
|
231
|
+
:species=>
|
232
|
+
{:description=>"",
|
233
|
+
:should_include=>"true",
|
234
|
+
:variables=>
|
235
|
+
{:species_option=>
|
236
|
+
{:should_include=>"true",
|
237
|
+
:description=>" construct species profiles from following parameters",
|
238
|
+
:help=>" construct species profiles from following parameters",
|
239
|
+
:code_name=>:species_option,
|
240
|
+
:must_pass=>
|
241
|
+
[{:test=>"kind_of? String",
|
242
|
+
:explanation=>"This variable must be a string."}],
|
243
|
+
:type=>:String,
|
244
|
+
:autoscanned_defaults=>["default"]},
|
245
|
+
:species_file=>
|
246
|
+
{:should_include=>"true",
|
247
|
+
:description=>" file with input data",
|
248
|
+
:help=>" file with input data",
|
249
|
+
:code_name=>:species_file,
|
250
|
+
:must_pass=>
|
251
|
+
[{:test=>"kind_of? String",
|
252
|
+
:explanation=>"This variable must be a string."}],
|
253
|
+
:type=>:String,
|
254
|
+
:autoscanned_defaults=>["geo_file"]},
|
255
|
+
:species_time=>
|
256
|
+
{:should_include=>"true",
|
257
|
+
:description=>" target time to sample experimental data (in seconds)",
|
258
|
+
:help=>" target time to sample experimental data (in seconds)",
|
259
|
+
:code_name=>:species_time,
|
260
|
+
:must_pass=>
|
261
|
+
[{:test=>"kind_of? Numeric",
|
262
|
+
:explanation=>
|
263
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
264
|
+
:type=>:Float,
|
265
|
+
:autoscanned_defaults=>["geo_time"]},
|
266
|
+
:ntspec=>
|
267
|
+
{:should_include=>"true",
|
268
|
+
:description=>" number of species to evolve (profiles)",
|
269
|
+
:help=>" number of species to evolve (profiles)",
|
270
|
+
:code_name=>:ntspec,
|
271
|
+
:must_pass=>
|
272
|
+
[{:test=>"kind_of? Integer",
|
273
|
+
:explanation=>"This variable must be an integer."}],
|
274
|
+
:type=>:Integer,
|
275
|
+
:autoscanned_defaults=>[2]},
|
276
|
+
:qi=>
|
277
|
+
{:should_include=>"true",
|
278
|
+
:description=>
|
279
|
+
" simulated ion species charge (in units of fundamental charge)",
|
280
|
+
:help=>" simulated ion species charge (in units of fundamental charge)",
|
281
|
+
:code_name=>:qi,
|
282
|
+
:must_pass=>
|
283
|
+
[{:test=>"kind_of? Numeric",
|
284
|
+
:explanation=>
|
285
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
286
|
+
:type=>:Float,
|
287
|
+
:autoscanned_defaults=>[1.0]},
|
288
|
+
:mi=>
|
289
|
+
{:should_include=>"true",
|
290
|
+
:description=>" ion mass (in units of proton mass)",
|
291
|
+
:help=>" ion mass (in units of proton mass)",
|
292
|
+
:code_name=>:mi,
|
293
|
+
:must_pass=>
|
294
|
+
[{:test=>"kind_of? Numeric",
|
295
|
+
:explanation=>
|
296
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
297
|
+
:type=>:Float,
|
298
|
+
:autoscanned_defaults=>[2.0]},
|
299
|
+
:zeff_in=>
|
300
|
+
{:should_include=>"true",
|
301
|
+
:description=>" effective charge",
|
302
|
+
:help=>" effective charge",
|
303
|
+
:code_name=>:zeff_in,
|
304
|
+
:must_pass=>
|
305
|
+
[{:test=>"kind_of? Numeric",
|
306
|
+
:explanation=>
|
307
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
308
|
+
:type=>:Float,
|
309
|
+
:autoscanned_defaults=>[0.0]},
|
310
|
+
:deuterium=>
|
311
|
+
{:should_include=>"true",
|
312
|
+
:description=>
|
313
|
+
" x-label in iter profile database to look for main ion density (\"NMx\")",
|
314
|
+
:help=>
|
315
|
+
" x-label in iter profile database to look for main ion density (\"NMx\")",
|
316
|
+
:code_name=>:deuterium,
|
317
|
+
:must_pass=>
|
318
|
+
[{:test=>"kind_of? Integer",
|
319
|
+
:explanation=>"This variable must be an integer."}],
|
320
|
+
:type=>:Integer,
|
321
|
+
:autoscanned_defaults=>[1]},
|
322
|
+
:tritium=>
|
323
|
+
{:should_include=>"true",
|
324
|
+
:description=>
|
325
|
+
" x-label in iter profile database to look for secondary ion density (\"NMx\")",
|
326
|
+
:help=>
|
327
|
+
" x-label in iter profile database to look for secondary ion density (\"NMx\")",
|
328
|
+
:code_name=>:tritium,
|
329
|
+
:must_pass=>
|
330
|
+
[{:test=>"kind_of? Integer",
|
331
|
+
:explanation=>"This variable must be an integer."}],
|
332
|
+
:type=>:Integer,
|
333
|
+
:autoscanned_defaults=>[2]},
|
334
|
+
:impurity=>
|
335
|
+
{:should_include=>"true",
|
336
|
+
:description=>
|
337
|
+
" x-label in iter profile database to look for impurity density (\"NMx\")",
|
338
|
+
:help=>
|
339
|
+
" x-label in iter profile database to look for impurity density (\"NMx\")",
|
340
|
+
:code_name=>:impurity,
|
341
|
+
:must_pass=>
|
342
|
+
[{:test=>"kind_of? Integer",
|
343
|
+
:explanation=>"This variable must be an integer."}],
|
344
|
+
:type=>:Integer,
|
345
|
+
:autoscanned_defaults=>[3]},
|
346
|
+
:mimp=>
|
347
|
+
{:should_include=>"true",
|
348
|
+
:description=>" main impurity mass (in units of proton mass)",
|
349
|
+
:help=>" main impurity mass (in units of proton mass)",
|
350
|
+
:code_name=>:mimp,
|
351
|
+
:must_pass=>
|
352
|
+
[{:test=>"kind_of? Numeric",
|
353
|
+
:explanation=>
|
354
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
355
|
+
:type=>:Float,
|
356
|
+
:autoscanned_defaults=>[12.0]},
|
357
|
+
:zimp=>
|
358
|
+
{:should_include=>"true",
|
359
|
+
:description=>" main impurity charge number",
|
360
|
+
:help=>" main impurity charge number",
|
361
|
+
:code_name=>:zimp,
|
362
|
+
:must_pass=>
|
363
|
+
[{:test=>"kind_of? Numeric",
|
364
|
+
:explanation=>
|
365
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
366
|
+
:type=>:Float,
|
367
|
+
:autoscanned_defaults=>[6.0]}}},
|
368
|
+
:time=>
|
369
|
+
{:description=>"",
|
370
|
+
:should_include=>"true",
|
371
|
+
:variables=>
|
372
|
+
{:ntstep=>
|
373
|
+
{:should_include=>"true",
|
374
|
+
:description=>" number of transport time steps",
|
375
|
+
:help=>" number of transport time steps",
|
376
|
+
:code_name=>:ntstep,
|
377
|
+
:must_pass=>
|
378
|
+
[{:test=>"kind_of? Integer",
|
379
|
+
:explanation=>"This variable must be an integer."}],
|
380
|
+
:type=>:Integer,
|
381
|
+
:autoscanned_defaults=>[20]},
|
382
|
+
:niter=>
|
383
|
+
{:should_include=>"true",
|
384
|
+
:description=>" max number of newton iterations per time step",
|
385
|
+
:help=>" max number of newton iterations per time step",
|
386
|
+
:code_name=>:niter,
|
387
|
+
:must_pass=>
|
388
|
+
[{:test=>"kind_of? Integer",
|
389
|
+
:explanation=>"This variable must be an integer."}],
|
390
|
+
:type=>:Integer,
|
391
|
+
:autoscanned_defaults=>[2]},
|
392
|
+
:ntdelt=>
|
393
|
+
{:should_include=>"true",
|
394
|
+
:description=>" initial size of transport time step",
|
395
|
+
:help=>" initial size of transport time step",
|
396
|
+
:code_name=>:ntdelt,
|
397
|
+
:must_pass=>
|
398
|
+
[{:test=>"kind_of? Numeric",
|
399
|
+
:explanation=>
|
400
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
401
|
+
:type=>:Float,
|
402
|
+
:autoscanned_defaults=>[0.01]},
|
403
|
+
:ntdelt_max=>
|
404
|
+
{:should_include=>"true",
|
405
|
+
:description=>" maximum size of transport time step",
|
406
|
+
:help=>" maximum size of transport time step",
|
407
|
+
:code_name=>:ntdelt_max,
|
408
|
+
:must_pass=>
|
409
|
+
[{:test=>"kind_of? Numeric",
|
410
|
+
:explanation=>
|
411
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
412
|
+
:type=>:Float,
|
413
|
+
:autoscanned_defaults=>[0.1]},
|
414
|
+
:impfac=>
|
415
|
+
{:should_include=>"true",
|
416
|
+
:description=>" time centering (1=implicit, 0=explicit)",
|
417
|
+
:help=>" time centering (1=implicit, 0=explicit)",
|
418
|
+
:code_name=>:impfac,
|
419
|
+
:must_pass=>
|
420
|
+
[{:test=>"kind_of? Numeric",
|
421
|
+
:explanation=>
|
422
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
423
|
+
:type=>:Float,
|
424
|
+
:autoscanned_defaults=>[1.0]},
|
425
|
+
:errtol=>
|
426
|
+
{:should_include=>"true",
|
427
|
+
:description=>
|
428
|
+
" maximum allowed relative error upon end of newton iteration",
|
429
|
+
:help=>" maximum allowed relative error upon end of newton iteration",
|
430
|
+
:code_name=>:errtol,
|
431
|
+
:must_pass=>
|
432
|
+
[{:test=>"kind_of? Numeric",
|
433
|
+
:explanation=>
|
434
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
435
|
+
:type=>:Float,
|
436
|
+
:autoscanned_defaults=>[0.2]},
|
437
|
+
:errflr=>
|
438
|
+
{:should_include=>"true",
|
439
|
+
:description=>" relative error below which we stop iterating",
|
440
|
+
:help=>" relative error below which we stop iterating",
|
441
|
+
:code_name=>:errflr,
|
442
|
+
:must_pass=>
|
443
|
+
[{:test=>"kind_of? Numeric",
|
444
|
+
:explanation=>
|
445
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
446
|
+
:type=>:Float,
|
447
|
+
:autoscanned_defaults=>[0.005]},
|
448
|
+
:flrfac=>
|
449
|
+
{:should_include=>"true",
|
450
|
+
:description=>
|
451
|
+
" if relative error below errflr/flrfac, decrease ntdelt by factor of 2",
|
452
|
+
:help=>
|
453
|
+
" if relative error below errflr/flrfac, decrease ntdelt by factor of 2",
|
454
|
+
:code_name=>:flrfac,
|
455
|
+
:must_pass=>
|
456
|
+
[{:test=>"kind_of? Numeric",
|
457
|
+
:explanation=>
|
458
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
459
|
+
:type=>:Float,
|
460
|
+
:autoscanned_defaults=>[2.0]},
|
461
|
+
:nensembles=>
|
462
|
+
{:should_include=>"true",
|
463
|
+
:description=>
|
464
|
+
" # of ensembles to use in ensemble (time) average of fluxes",
|
465
|
+
:help=>" # of ensembles to use in ensemble (time) average of fluxes",
|
466
|
+
:code_name=>:nensembles,
|
467
|
+
:must_pass=>
|
468
|
+
[{:test=>"kind_of? Integer",
|
469
|
+
:explanation=>"This variable must be an integer."}],
|
470
|
+
:type=>:Integer,
|
471
|
+
:autoscanned_defaults=>[1]}}},
|
472
|
+
:fluxes=>
|
473
|
+
{:description=>"",
|
474
|
+
:should_include=>"true",
|
475
|
+
:variables=>
|
476
|
+
{:flux_option=>
|
477
|
+
{:should_include=>"true",
|
478
|
+
:description=>" determines flux model (default is gs2)",
|
479
|
+
:help=>" determines flux model (default is gs2)",
|
480
|
+
:code_name=>:flux_option,
|
481
|
+
:must_pass=>
|
482
|
+
[{:test=>"kind_of? String",
|
483
|
+
:explanation=>"This variable must be a string."}],
|
484
|
+
:type=>:String,
|
485
|
+
:autoscanned_defaults=>["default"]},
|
486
|
+
:flxmult=>
|
487
|
+
{:should_include=>"true",
|
488
|
+
:description=>" coefficient multiplying fluxes (for testing)",
|
489
|
+
:help=>" coefficient multiplying fluxes (for testing)",
|
490
|
+
:code_name=>:flxmult,
|
491
|
+
:must_pass=>
|
492
|
+
[{:test=>"kind_of? Numeric",
|
493
|
+
:explanation=>
|
494
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
495
|
+
:type=>:Float,
|
496
|
+
:autoscanned_defaults=>[1.0]},
|
497
|
+
:pflx_min=>
|
498
|
+
{:should_include=>"true",
|
499
|
+
:description=>" minimum particle flux (for below stability threshold)",
|
500
|
+
:help=>" minimum particle flux (for below stability threshold)",
|
501
|
+
:code_name=>:pflx_min,
|
502
|
+
:must_pass=>
|
503
|
+
[{:test=>"kind_of? Numeric",
|
504
|
+
:explanation=>
|
505
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
506
|
+
:type=>:Float,
|
507
|
+
:autoscanned_defaults=>[1.0e-05]},
|
508
|
+
:qflx_min=>
|
509
|
+
{:should_include=>"true",
|
510
|
+
:description=>" minimum heat flux (for below stability threshold)",
|
511
|
+
:help=>" minimum heat flux (for below stability threshold)",
|
512
|
+
:code_name=>:qflx_min,
|
513
|
+
:must_pass=>
|
514
|
+
[{:test=>"kind_of? Numeric",
|
515
|
+
:explanation=>
|
516
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
517
|
+
:type=>:Float,
|
518
|
+
:autoscanned_defaults=>[0.0005]},
|
519
|
+
:heat_min=>
|
520
|
+
{:should_include=>"true",
|
521
|
+
:description=>" minimum local heating",
|
522
|
+
:help=>" minimum local heating",
|
523
|
+
:code_name=>:heat_min,
|
524
|
+
:must_pass=>
|
525
|
+
[{:test=>"kind_of? Numeric",
|
526
|
+
:explanation=>
|
527
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
528
|
+
:type=>:Float,
|
529
|
+
:autoscanned_defaults=>[0.0]},
|
530
|
+
:lflx_min=>
|
531
|
+
{:should_include=>"true",
|
532
|
+
:description=>" minimum momentum flux (for below stability threshold)",
|
533
|
+
:help=>" minimum momentum flux (for below stability threshold)",
|
534
|
+
:code_name=>:lflx_min,
|
535
|
+
:must_pass=>
|
536
|
+
[{:test=>"kind_of? Numeric",
|
537
|
+
:explanation=>
|
538
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
539
|
+
:type=>:Float,
|
540
|
+
:autoscanned_defaults=>[0.0]},
|
541
|
+
:dfac=>
|
542
|
+
{:should_include=>"true",
|
543
|
+
:description=>" diffusion coefficient for testing",
|
544
|
+
:help=>" diffusion coefficient for testing",
|
545
|
+
:code_name=>:dfac,
|
546
|
+
:must_pass=>
|
547
|
+
[{:test=>"kind_of? Numeric",
|
548
|
+
:explanation=>
|
549
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
550
|
+
:type=>:Float,
|
551
|
+
:autoscanned_defaults=>[0.1]},
|
552
|
+
:grad_option=>
|
553
|
+
{:should_include=>"true",
|
554
|
+
:description=>" option determining which equilibrium gradients to vary",
|
555
|
+
:help=>" option determining which equilibrium gradients to vary",
|
556
|
+
:code_name=>:grad_option,
|
557
|
+
:must_pass=>
|
558
|
+
[{:test=>"kind_of? String",
|
559
|
+
:explanation=>"This variable must be a string."}],
|
560
|
+
:type=>:String,
|
561
|
+
:autoscanned_defaults=>["default"]},
|
562
|
+
:dfprim=>
|
563
|
+
{:should_include=>"true",
|
564
|
+
:description=>" step size for R/Ln is -R/Ln * dfprim",
|
565
|
+
:help=>" step size for R/Ln is -R/Ln * dfprim",
|
566
|
+
:code_name=>:dfprim,
|
567
|
+
:must_pass=>
|
568
|
+
[{:test=>"kind_of? Numeric",
|
569
|
+
:explanation=>
|
570
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
571
|
+
:type=>:Float,
|
572
|
+
:autoscanned_defaults=>[0.1]},
|
573
|
+
:dtprim=>
|
574
|
+
{:should_include=>"true",
|
575
|
+
:description=>" step size for R/LT is R/LT * dtprim",
|
576
|
+
:help=>" step size for R/LT is R/LT * dtprim",
|
577
|
+
:code_name=>:dtprim,
|
578
|
+
:must_pass=>
|
579
|
+
[{:test=>"kind_of? Numeric",
|
580
|
+
:explanation=>
|
581
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
582
|
+
:type=>:Float,
|
583
|
+
:autoscanned_defaults=>[0.1]},
|
584
|
+
:dgexb=>
|
585
|
+
{:should_include=>"true",
|
586
|
+
:description=>" step size for gexb is gexb * dgexb",
|
587
|
+
:help=>" step size for gexb is gexb * dgexb",
|
588
|
+
:code_name=>:dgexb,
|
589
|
+
:must_pass=>
|
590
|
+
[{:test=>"kind_of? Numeric",
|
591
|
+
:explanation=>
|
592
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
593
|
+
:type=>:Float,
|
594
|
+
:autoscanned_defaults=>[0.2]},
|
595
|
+
:fork_flag=>
|
596
|
+
{:should_include=>"true",
|
597
|
+
:description=>" false for running serially",
|
598
|
+
:help=>" false for running serially",
|
599
|
+
:code_name=>:fork_flag,
|
600
|
+
:must_pass=>
|
601
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
602
|
+
:explanation=>
|
603
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
604
|
+
:type=>:Fortran_Bool,
|
605
|
+
:autoscanned_defaults=>[".true."]},
|
606
|
+
:check_flux_converge=>
|
607
|
+
{:should_include=>"true",
|
608
|
+
:description=>" if true, use auto-convergence tests in flux solver",
|
609
|
+
:help=>" if true, use auto-convergence tests in flux solver",
|
610
|
+
:code_name=>:check_flux_converge,
|
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
|
+
:autoscanned_defaults=>[".false."]},
|
617
|
+
:testing=>
|
618
|
+
{:should_include=>"true",
|
619
|
+
:description=>" if testing, set area, grho = 1",
|
620
|
+
:help=>" if testing, set area, grho = 1",
|
621
|
+
:code_name=>:testing,
|
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
|
+
:autoscanned_defaults=>[".false."]},
|
628
|
+
:dflx_stencil=>
|
629
|
+
{:should_include=>"true",
|
630
|
+
:description=>" number of fluxes to use for flux derivatives",
|
631
|
+
:help=>" number of fluxes to use for flux derivatives",
|
632
|
+
:code_name=>:dflx_stencil,
|
633
|
+
:must_pass=>
|
634
|
+
[{:test=>"kind_of? Integer",
|
635
|
+
:explanation=>"This variable must be an integer."}],
|
636
|
+
:type=>:Integer,
|
637
|
+
:autoscanned_defaults=>[2, 3]},
|
638
|
+
:dprimfac=>
|
639
|
+
{:should_include=>"true",
|
640
|
+
:description=>
|
641
|
+
" if dflx_stencil > 2, multiply dprim values that are negative by this",
|
642
|
+
:help=>
|
643
|
+
" if dflx_stencil > 2, multiply dprim values that are negative by this",
|
644
|
+
:code_name=>:dprimfac,
|
645
|
+
:must_pass=>
|
646
|
+
[{:test=>"kind_of? Numeric",
|
647
|
+
:explanation=>
|
648
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
649
|
+
:type=>:Float,
|
650
|
+
:autoscanned_defaults=>[1.0]},
|
651
|
+
:pflx_nfac=>
|
652
|
+
{:should_include=>"true",
|
653
|
+
:description=>" add to ifs-pppl a particle flux of form pflx_nfac*dens",
|
654
|
+
:help=>" add to ifs-pppl a particle flux of form pflx_nfac*dens",
|
655
|
+
:code_name=>:pflx_nfac,
|
656
|
+
:must_pass=>
|
657
|
+
[{:test=>"kind_of? Numeric",
|
658
|
+
:explanation=>
|
659
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
660
|
+
:type=>:Float,
|
661
|
+
:autoscanned_defaults=>[-0.05]},
|
662
|
+
:pflx_rlnfac=>
|
663
|
+
{:should_include=>"true",
|
664
|
+
:description=>" + pflx_rlnfac*rln",
|
665
|
+
:help=>" + pflx_rlnfac*rln",
|
666
|
+
:code_name=>:pflx_rlnfac,
|
667
|
+
:must_pass=>
|
668
|
+
[{:test=>"kind_of? Numeric",
|
669
|
+
:explanation=>
|
670
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
671
|
+
:type=>:Float,
|
672
|
+
:autoscanned_defaults=>[0.01]},
|
673
|
+
:pflx_rltfac=>
|
674
|
+
{:should_include=>"true",
|
675
|
+
:description=>" + pflx_rltfac*rlte",
|
676
|
+
:help=>" + pflx_rltfac*rlte",
|
677
|
+
:code_name=>:pflx_rltfac,
|
678
|
+
:must_pass=>
|
679
|
+
[{:test=>"kind_of? Numeric",
|
680
|
+
:explanation=>
|
681
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
682
|
+
:type=>:Float,
|
683
|
+
:autoscanned_defaults=>[0.01]},
|
684
|
+
:vtfac=>
|
685
|
+
{:should_include=>"true",
|
686
|
+
:description=>
|
687
|
+
" v_t=sqrt(vtfac*T/m). should be consistent with definition from flux code",
|
688
|
+
:help=>
|
689
|
+
" v_t=sqrt(vtfac*T/m). should be consistent with definition from flux code",
|
690
|
+
:code_name=>:vtfac,
|
691
|
+
:must_pass=>
|
692
|
+
[{:test=>"kind_of? Numeric",
|
693
|
+
:explanation=>
|
694
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
695
|
+
:type=>:Float,
|
696
|
+
:autoscanned_defaults=>[2.0]},
|
697
|
+
:ddens=>
|
698
|
+
{:should_include=>"true",
|
699
|
+
:description=>" step size for density is -density * ddens",
|
700
|
+
:help=>" step size for density is -density * ddens",
|
701
|
+
:code_name=>:ddens,
|
702
|
+
:must_pass=>
|
703
|
+
[{:test=>"kind_of? Numeric",
|
704
|
+
:explanation=>
|
705
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
706
|
+
:type=>:Float,
|
707
|
+
:autoscanned_defaults=>[0.2]},
|
708
|
+
:dti=>
|
709
|
+
{:should_include=>"true",
|
710
|
+
:description=>" step size for Ti is Ti * dti",
|
711
|
+
:help=>" step size for Ti is Ti * dti",
|
712
|
+
:code_name=>:dti,
|
713
|
+
:must_pass=>
|
714
|
+
[{:test=>"kind_of? Numeric",
|
715
|
+
:explanation=>
|
716
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
717
|
+
:type=>:Float,
|
718
|
+
:autoscanned_defaults=>[0.2]},
|
719
|
+
:dte=>
|
720
|
+
{:should_include=>"true",
|
721
|
+
:description=>" step size for Te is Te * dte",
|
722
|
+
:help=>" step size for Te is Te * dte",
|
723
|
+
:code_name=>:dte,
|
724
|
+
:must_pass=>
|
725
|
+
[{:test=>"kind_of? Numeric",
|
726
|
+
:explanation=>
|
727
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
728
|
+
:type=>:Float,
|
729
|
+
:autoscanned_defaults=>[0.2]},
|
730
|
+
:dom=>
|
731
|
+
{:should_include=>"true",
|
732
|
+
:description=>
|
733
|
+
" step size for toroidal rotation frequency, omega, is omega * dom",
|
734
|
+
:help=>
|
735
|
+
" step size for toroidal rotation frequency, omega, is omega * dom",
|
736
|
+
:code_name=>:dom,
|
737
|
+
:must_pass=>
|
738
|
+
[{:test=>"kind_of? Numeric",
|
739
|
+
:explanation=>
|
740
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
741
|
+
:type=>:Float,
|
742
|
+
:autoscanned_defaults=>[0.2]},
|
743
|
+
:nglobalrad=>
|
744
|
+
{:should_include=>"true",
|
745
|
+
:description=>
|
746
|
+
" number of radial points in global gene simulation (1 for local gene)",
|
747
|
+
:help=>
|
748
|
+
" number of radial points in global gene simulation (1 for local gene)",
|
749
|
+
:code_name=>:nglobalrad,
|
750
|
+
:must_pass=>
|
751
|
+
[{:test=>"kind_of? Integer",
|
752
|
+
:explanation=>"This variable must be an integer."}],
|
753
|
+
:type=>:Integer,
|
754
|
+
:autoscanned_defaults=>[1]},
|
755
|
+
:alph1=>
|
756
|
+
{:should_include=>"true",
|
757
|
+
:description=>" constant factor multiplying gexb for pb flux option",
|
758
|
+
:help=>" constant factor multiplying gexb for pb flux option",
|
759
|
+
:code_name=>:alph1,
|
760
|
+
:must_pass=>
|
761
|
+
[{:test=>"kind_of? Numeric",
|
762
|
+
:explanation=>
|
763
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
764
|
+
:type=>:Float,
|
765
|
+
:autoscanned_defaults=>[13.0]},
|
766
|
+
:tp0=>
|
767
|
+
{:should_include=>"true",
|
768
|
+
:description=>" critical tprim at zero flow shear for pb flux option",
|
769
|
+
:help=>" critical tprim at zero flow shear for pb flux option",
|
770
|
+
:code_name=>:tp0,
|
771
|
+
:must_pass=>
|
772
|
+
[{:test=>"kind_of? Numeric",
|
773
|
+
:explanation=>
|
774
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
775
|
+
:type=>:Float,
|
776
|
+
:autoscanned_defaults=>[4.3]},
|
777
|
+
:chi0=>
|
778
|
+
{:should_include=>"true",
|
779
|
+
:description=>
|
780
|
+
" constant factor multiplying turbulent chii for pb flux option",
|
781
|
+
:help=>" constant factor multiplying turbulent chii for pb flux option",
|
782
|
+
:code_name=>:chi0,
|
783
|
+
:must_pass=>
|
784
|
+
[{:test=>"kind_of? Numeric",
|
785
|
+
:explanation=>
|
786
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
787
|
+
:type=>:Float,
|
788
|
+
:autoscanned_defaults=>[20.0]},
|
789
|
+
:prandtl=>
|
790
|
+
{:should_include=>"true",
|
791
|
+
:description=>" turbulent prandtl number for pb flux option",
|
792
|
+
:help=>" turbulent prandtl number for pb flux option",
|
793
|
+
:code_name=>:prandtl,
|
794
|
+
:must_pass=>
|
795
|
+
[{:test=>"kind_of? Numeric",
|
796
|
+
:explanation=>
|
797
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
798
|
+
:type=>:Float,
|
799
|
+
:autoscanned_defaults=>[1.0]},
|
800
|
+
:prandtl_neo=>
|
801
|
+
{:should_include=>"true",
|
802
|
+
:description=>" neoclassical prandtl number",
|
803
|
+
:help=>" neoclassical prandtl number",
|
804
|
+
:code_name=>:prandtl_neo,
|
805
|
+
:must_pass=>
|
806
|
+
[{:test=>"kind_of? Numeric",
|
807
|
+
:explanation=>
|
808
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
809
|
+
:type=>:Float,
|
810
|
+
:autoscanned_defaults=>["prandtl*0.01"]},
|
811
|
+
:evolve_grads_only=>
|
812
|
+
{:should_include=>"true",
|
813
|
+
:description=>
|
814
|
+
" if true, calculate only dependence on grads (not profiles themselves) in jacobian",
|
815
|
+
:help=>
|
816
|
+
" if true, calculate only dependence on grads (not profiles themselves) in jacobian",
|
817
|
+
:code_name=>:evolve_grads_only,
|
818
|
+
:must_pass=>
|
819
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
820
|
+
:explanation=>
|
821
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
822
|
+
:type=>:Fortran_Bool,
|
823
|
+
:autoscanned_defaults=>[".true."]}}},
|
824
|
+
:init=>
|
825
|
+
{:description=>"",
|
826
|
+
:should_include=>"true",
|
827
|
+
:variables=>
|
828
|
+
{:init_option=>
|
829
|
+
{:should_include=>"true",
|
830
|
+
:description=>" construct initial profiles from following parameters",
|
831
|
+
:help=>" construct initial profiles from following parameters",
|
832
|
+
:code_name=>:init_option,
|
833
|
+
:must_pass=>
|
834
|
+
[{:test=>"kind_of? String",
|
835
|
+
:explanation=>"This variable must be a string."}],
|
836
|
+
:type=>:String,
|
837
|
+
:autoscanned_defaults=>["default"]},
|
838
|
+
:init_file=>
|
839
|
+
{:should_include=>"true",
|
840
|
+
:description=>" file with input data",
|
841
|
+
:help=>" file with input data",
|
842
|
+
:code_name=>:init_file,
|
843
|
+
:must_pass=>
|
844
|
+
[{:test=>"kind_of? String",
|
845
|
+
:explanation=>"This variable must be a string."}],
|
846
|
+
:type=>:String,
|
847
|
+
:autoscanned_defaults=>["geo_file"]},
|
848
|
+
:init_time=>
|
849
|
+
{:should_include=>"true",
|
850
|
+
:description=>" target time to sample experimental data (in seconds)",
|
851
|
+
:help=>" target time to sample experimental data (in seconds)",
|
852
|
+
:code_name=>:init_time,
|
853
|
+
:must_pass=>
|
854
|
+
[{:test=>"kind_of? Numeric",
|
855
|
+
:explanation=>
|
856
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
857
|
+
:type=>:Float,
|
858
|
+
:autoscanned_defaults=>["geo_time"]},
|
859
|
+
:rln=>
|
860
|
+
{:should_include=>"true",
|
861
|
+
:description=>" initial R/Ln",
|
862
|
+
:help=>" initial R/Ln",
|
863
|
+
:code_name=>:rln,
|
864
|
+
:must_pass=>
|
865
|
+
[{:test=>"kind_of? Numeric",
|
866
|
+
:explanation=>
|
867
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
868
|
+
:type=>:Float,
|
869
|
+
:autoscanned_defaults=>[0.0, 1.0]},
|
870
|
+
:rlti=>
|
871
|
+
{:should_include=>"true",
|
872
|
+
:description=>" initial R/LTi",
|
873
|
+
:help=>" initial R/LTi",
|
874
|
+
:code_name=>:rlti,
|
875
|
+
:must_pass=>
|
876
|
+
[{:test=>"kind_of? Numeric",
|
877
|
+
:explanation=>
|
878
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
879
|
+
:type=>:Float,
|
880
|
+
:autoscanned_defaults=>[4.0]},
|
881
|
+
:rlte=>
|
882
|
+
{:should_include=>"true",
|
883
|
+
:description=>" initial R/LTe",
|
884
|
+
:help=>" initial R/LTe",
|
885
|
+
:code_name=>:rlte,
|
886
|
+
:must_pass=>
|
887
|
+
[{:test=>"kind_of? Numeric",
|
888
|
+
:explanation=>
|
889
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
890
|
+
:type=>:Float,
|
891
|
+
:autoscanned_defaults=>[0.0, 4.0]},
|
892
|
+
:nedge=>
|
893
|
+
{:should_include=>"true",
|
894
|
+
:description=>
|
895
|
+
" initial density offset. if positive, override init_option for dens",
|
896
|
+
:help=>
|
897
|
+
" initial density offset. if positive, override init_option for dens",
|
898
|
+
:code_name=>:nedge,
|
899
|
+
:must_pass=>
|
900
|
+
[{:test=>"kind_of? Numeric",
|
901
|
+
:explanation=>
|
902
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
903
|
+
:type=>:Float,
|
904
|
+
:autoscanned_defaults=>[-1.0]},
|
905
|
+
:tiedge=>
|
906
|
+
{:should_include=>"true",
|
907
|
+
:description=>
|
908
|
+
" initial Ti offset. if positive, override init_option for Ti",
|
909
|
+
:help=>" initial Ti offset. if positive, override init_option for Ti",
|
910
|
+
:code_name=>:tiedge,
|
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
|
+
:autoscanned_defaults=>[-1.0]},
|
917
|
+
:teedge=>
|
918
|
+
{:should_include=>"true",
|
919
|
+
:description=>
|
920
|
+
" initial Te offset. if positive, override init_option for Te",
|
921
|
+
:help=>" initial Te offset. if positive, override init_option for Te",
|
922
|
+
:code_name=>:teedge,
|
923
|
+
:must_pass=>
|
924
|
+
[{:test=>"kind_of? Numeric",
|
925
|
+
:explanation=>
|
926
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
927
|
+
:type=>:Float,
|
928
|
+
:autoscanned_defaults=>[-1.0]},
|
929
|
+
:densfac=>
|
930
|
+
{:should_include=>"true",
|
931
|
+
:description=>" factor multiplying ITER DB density",
|
932
|
+
:help=>" factor multiplying ITER DB density",
|
933
|
+
:code_name=>:densfac,
|
934
|
+
:must_pass=>
|
935
|
+
[{:test=>"kind_of? Numeric",
|
936
|
+
:explanation=>
|
937
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
938
|
+
:type=>:Float,
|
939
|
+
:autoscanned_defaults=>[1.0]},
|
940
|
+
:tifac=>
|
941
|
+
{:should_include=>"true",
|
942
|
+
:description=>" factor multiplying ITER DB ion temperature",
|
943
|
+
:help=>" factor multiplying ITER DB ion temperature",
|
944
|
+
:code_name=>:tifac,
|
945
|
+
:must_pass=>
|
946
|
+
[{:test=>"kind_of? Numeric",
|
947
|
+
:explanation=>
|
948
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
949
|
+
:type=>:Float,
|
950
|
+
:autoscanned_defaults=>[1.0]},
|
951
|
+
:tefac=>
|
952
|
+
{:should_include=>"true",
|
953
|
+
:description=>" factor multiplying ITER DB electron temperature",
|
954
|
+
:help=>" factor multiplying ITER DB electron temperature",
|
955
|
+
:code_name=>:tefac,
|
956
|
+
:must_pass=>
|
957
|
+
[{:test=>"kind_of? Numeric",
|
958
|
+
:explanation=>
|
959
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
960
|
+
:type=>:Float,
|
961
|
+
:autoscanned_defaults=>[1.0]},
|
962
|
+
:ledge=>
|
963
|
+
{:should_include=>"true",
|
964
|
+
:description=>
|
965
|
+
" initial L offset. if positive, override init_option for L",
|
966
|
+
:help=>" initial L offset. if positive, override init_option for L",
|
967
|
+
:code_name=>:ledge,
|
968
|
+
:must_pass=>
|
969
|
+
[{:test=>"kind_of? Numeric",
|
970
|
+
:explanation=>
|
971
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
972
|
+
:type=>:Float,
|
973
|
+
:autoscanned_defaults=>[-1.0]},
|
974
|
+
:rll=>
|
975
|
+
{:should_include=>"true",
|
976
|
+
:description=>nil,
|
977
|
+
:help=>nil,
|
978
|
+
:code_name=>:rll,
|
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
|
+
:autoscanned_defaults=>[]},
|
985
|
+
:iternt_file=>
|
986
|
+
{:should_include=>"true",
|
987
|
+
:description=>
|
988
|
+
" file with old profile data for restarts in the middle of a timestep",
|
989
|
+
:help=>
|
990
|
+
" file with old profile data for restarts in the middle of a timestep",
|
991
|
+
:code_name=>:iternt_file,
|
992
|
+
:must_pass=>
|
993
|
+
[{:test=>"kind_of? String",
|
994
|
+
:explanation=>"This variable must be a string."}],
|
995
|
+
:type=>:String,
|
996
|
+
:autoscanned_defaults=>["restart.iternt"]},
|
997
|
+
:iterflx_file=>
|
998
|
+
{:should_include=>"true",
|
999
|
+
:description=>
|
1000
|
+
" file with old flx date for restarts in the middle of a timestep",
|
1001
|
+
:help=>
|
1002
|
+
" file with old flx date for restarts in the middle of a timestep",
|
1003
|
+
:code_name=>:iterflx_file,
|
1004
|
+
:must_pass=>
|
1005
|
+
[{:test=>"kind_of? String",
|
1006
|
+
:explanation=>"This variable must be a string."}],
|
1007
|
+
:type=>:String,
|
1008
|
+
:autoscanned_defaults=>["restart.iterflx"]},
|
1009
|
+
:load_balance=>
|
1010
|
+
{:should_include=>"true",
|
1011
|
+
:description=>
|
1012
|
+
" set to true to run with unequal number of procs per flux tube",
|
1013
|
+
:help=>" set to true to run with unequal number of procs per flux tube",
|
1014
|
+
:code_name=>:load_balance,
|
1015
|
+
:must_pass=>
|
1016
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
1017
|
+
:explanation=>
|
1018
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1019
|
+
:type=>:Fortran_Bool,
|
1020
|
+
:autoscanned_defaults=>[".false."]},
|
1021
|
+
:flux_groups=>
|
1022
|
+
{:should_include=>"true",
|
1023
|
+
:description=>" The number of processors for each flux calculation",
|
1024
|
+
:help=>" The number of processors for each flux calculation",
|
1025
|
+
:code_name=>:flux_groups,
|
1026
|
+
:must_pass=>
|
1027
|
+
[{:test=>"kind_of? Integer",
|
1028
|
+
:explanation=>"This variable must be an integer."}],
|
1029
|
+
:type=>:Integer,
|
1030
|
+
:autoscanned_defaults=>["nproc/njobs"]}}},
|
1031
|
+
:sources=>
|
1032
|
+
{:description=>"",
|
1033
|
+
:should_include=>"true",
|
1034
|
+
:variables=>
|
1035
|
+
{:source_option=>
|
1036
|
+
{:should_include=>"true",
|
1037
|
+
:description=>" construct source profiles from following parameters",
|
1038
|
+
:help=>" construct source profiles from following parameters",
|
1039
|
+
:code_name=>:source_option,
|
1040
|
+
:must_pass=>
|
1041
|
+
[{:test=>"kind_of? String",
|
1042
|
+
:explanation=>"This variable must be a string."}],
|
1043
|
+
:type=>:String,
|
1044
|
+
:autoscanned_defaults=>["default"]},
|
1045
|
+
:source_file=>
|
1046
|
+
{:should_include=>"true",
|
1047
|
+
:description=>" file with input data",
|
1048
|
+
:help=>" file with input data",
|
1049
|
+
:code_name=>:source_file,
|
1050
|
+
:must_pass=>
|
1051
|
+
[{:test=>"kind_of? String",
|
1052
|
+
:explanation=>"This variable must be a string."}],
|
1053
|
+
:type=>:String,
|
1054
|
+
:autoscanned_defaults=>["geo_file"]},
|
1055
|
+
:source_time=>
|
1056
|
+
{:should_include=>"true",
|
1057
|
+
:description=>" target time to sample experimental data (in seconds)",
|
1058
|
+
:help=>" target time to sample experimental data (in seconds)",
|
1059
|
+
:code_name=>:source_time,
|
1060
|
+
:must_pass=>
|
1061
|
+
[{:test=>"kind_of? Numeric",
|
1062
|
+
:explanation=>
|
1063
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
1064
|
+
:type=>:Float,
|
1065
|
+
:autoscanned_defaults=>["geo_time"]},
|
1066
|
+
:powerin=>
|
1067
|
+
{:should_include=>"true",
|
1068
|
+
:description=>" external power input (in MW)",
|
1069
|
+
:help=>" external power input (in MW)",
|
1070
|
+
:code_name=>:powerin,
|
1071
|
+
:must_pass=>
|
1072
|
+
[{:test=>"kind_of? Numeric",
|
1073
|
+
:explanation=>
|
1074
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
1075
|
+
:type=>:Float,
|
1076
|
+
:autoscanned_defaults=>[50.0]},
|
1077
|
+
:psig=>
|
1078
|
+
{:should_include=>"true",
|
1079
|
+
:description=>
|
1080
|
+
" width of power input profile (in units of minor radius)",
|
1081
|
+
:help=>" width of power input profile (in units of minor radius)",
|
1082
|
+
:code_name=>:psig,
|
1083
|
+
:must_pass=>
|
1084
|
+
[{:test=>"kind_of? Numeric",
|
1085
|
+
:explanation=>
|
1086
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
1087
|
+
:type=>:Float,
|
1088
|
+
:autoscanned_defaults=>[0.1]},
|
1089
|
+
:radin=>
|
1090
|
+
{:should_include=>"true",
|
1091
|
+
:description=>" spatial mean of gaussian power deposition profile",
|
1092
|
+
:help=>" spatial mean of gaussian power deposition profile",
|
1093
|
+
:code_name=>:radin,
|
1094
|
+
:must_pass=>
|
1095
|
+
[{:test=>"kind_of? Numeric",
|
1096
|
+
:explanation=>
|
1097
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
1098
|
+
:type=>:Float,
|
1099
|
+
:autoscanned_defaults=>[0.0]},
|
1100
|
+
:src_ratio=>
|
1101
|
+
{:should_include=>"true",
|
1102
|
+
:description=>" fraction of external power going to ions",
|
1103
|
+
:help=>" fraction of external power going to ions",
|
1104
|
+
:code_name=>:src_ratio,
|
1105
|
+
:must_pass=>
|
1106
|
+
[{:test=>"kind_of? Numeric",
|
1107
|
+
:explanation=>
|
1108
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
1109
|
+
:type=>:Float,
|
1110
|
+
:autoscanned_defaults=>[0.5]},
|
1111
|
+
:densin=>
|
1112
|
+
{:should_include=>"true",
|
1113
|
+
:description=>" external density input",
|
1114
|
+
:help=>" external density input",
|
1115
|
+
:code_name=>:densin,
|
1116
|
+
:must_pass=>
|
1117
|
+
[{:test=>"kind_of? Numeric",
|
1118
|
+
:explanation=>
|
1119
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
1120
|
+
:type=>:Float,
|
1121
|
+
:autoscanned_defaults=>[0.0]},
|
1122
|
+
:nsig=>
|
1123
|
+
{:should_include=>"true",
|
1124
|
+
:description=>
|
1125
|
+
" width of density input profile (in units of minor radius)",
|
1126
|
+
:help=>" width of density input profile (in units of minor radius)",
|
1127
|
+
:code_name=>:nsig,
|
1128
|
+
:must_pass=>
|
1129
|
+
[{:test=>"kind_of? Numeric",
|
1130
|
+
:explanation=>
|
1131
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
1132
|
+
:type=>:Float,
|
1133
|
+
:autoscanned_defaults=>[0.1]},
|
1134
|
+
:write_pwr_profs=>
|
1135
|
+
{:should_include=>"true",
|
1136
|
+
:description=>" true writes out radial power density profiles",
|
1137
|
+
:help=>" true writes out radial power density profiles",
|
1138
|
+
:code_name=>:write_pwr_profs,
|
1139
|
+
:must_pass=>
|
1140
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
1141
|
+
:explanation=>
|
1142
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1143
|
+
:type=>:Fortran_Bool,
|
1144
|
+
:autoscanned_defaults=>[".false."]},
|
1145
|
+
:include_alphas=>
|
1146
|
+
{:should_include=>"true",
|
1147
|
+
:description=>" include alpha heating source",
|
1148
|
+
:help=>" include alpha heating source",
|
1149
|
+
:code_name=>:include_alphas,
|
1150
|
+
:must_pass=>
|
1151
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
1152
|
+
:explanation=>
|
1153
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1154
|
+
:type=>:Fortran_Bool,
|
1155
|
+
:autoscanned_defaults=>[".true."]},
|
1156
|
+
:include_radiation=>
|
1157
|
+
{:should_include=>"true",
|
1158
|
+
:description=>" include bremstrahlung radiation",
|
1159
|
+
:help=>" include bremstrahlung radiation",
|
1160
|
+
:code_name=>:include_radiation,
|
1161
|
+
:must_pass=>
|
1162
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
1163
|
+
:explanation=>
|
1164
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1165
|
+
:type=>:Fortran_Bool,
|
1166
|
+
:autoscanned_defaults=>[".true."]},
|
1167
|
+
:pioq=>
|
1168
|
+
{:should_include=>"true",
|
1169
|
+
:description=>" ratio of momentum to heat input",
|
1170
|
+
:help=>" ratio of momentum to heat input",
|
1171
|
+
:code_name=>:pioq,
|
1172
|
+
:must_pass=>
|
1173
|
+
[{:test=>"kind_of? Numeric",
|
1174
|
+
:explanation=>
|
1175
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
1176
|
+
:type=>:Float,
|
1177
|
+
:autoscanned_defaults=>[0.1]},
|
1178
|
+
:write_balance=>
|
1179
|
+
{:should_include=>"true",
|
1180
|
+
:description=>
|
1181
|
+
" true writes out various terms in transport equation each time step",
|
1182
|
+
:help=>
|
1183
|
+
" true writes out various terms in transport equation each time step",
|
1184
|
+
:code_name=>:write_balance,
|
1185
|
+
:must_pass=>
|
1186
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
1187
|
+
:explanation=>
|
1188
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1189
|
+
:type=>:Fortran_Bool,
|
1190
|
+
:autoscanned_defaults=>[".false."]},
|
1191
|
+
:write_smooth=>
|
1192
|
+
{:should_include=>"true",
|
1193
|
+
:description=>" true writes out smoothed profiles",
|
1194
|
+
:help=>" true writes out smoothed profiles",
|
1195
|
+
:code_name=>:write_smooth,
|
1196
|
+
:must_pass=>
|
1197
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
1198
|
+
:explanation=>
|
1199
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1200
|
+
:type=>:Fortran_Bool,
|
1201
|
+
:autoscanned_defaults=>[".false."]}}},
|
1202
|
+
:physics=>
|
1203
|
+
{:description=>"",
|
1204
|
+
:should_include=>"true",
|
1205
|
+
:variables=>
|
1206
|
+
{:include_neo=>
|
1207
|
+
{:should_include=>"true",
|
1208
|
+
:description=>
|
1209
|
+
" true includes chang-hinton estimate for neoclassical ion heat flux",
|
1210
|
+
:help=>
|
1211
|
+
" true includes chang-hinton estimate for neoclassical ion heat flux",
|
1212
|
+
:code_name=>:include_neo,
|
1213
|
+
:must_pass=>
|
1214
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
1215
|
+
:explanation=>
|
1216
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1217
|
+
:type=>:Fortran_Bool,
|
1218
|
+
:autoscanned_defaults=>[".true."]},
|
1219
|
+
:temp_equil=>
|
1220
|
+
{:should_include=>"true",
|
1221
|
+
:description=>" set to false to neglect temperature equilibration",
|
1222
|
+
:help=>" set to false to neglect temperature equilibration",
|
1223
|
+
:code_name=>:temp_equil,
|
1224
|
+
:must_pass=>
|
1225
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
1226
|
+
:explanation=>
|
1227
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1228
|
+
:type=>:Fortran_Bool,
|
1229
|
+
:autoscanned_defaults=>[".true."]},
|
1230
|
+
:turb_heat=>
|
1231
|
+
{:should_include=>"true",
|
1232
|
+
:description=>" set to false to neglect turbulent heating",
|
1233
|
+
:help=>" set to false to neglect turbulent heating",
|
1234
|
+
:code_name=>:turb_heat,
|
1235
|
+
:must_pass=>
|
1236
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
1237
|
+
:explanation=>
|
1238
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1239
|
+
:type=>:Fortran_Bool,
|
1240
|
+
:autoscanned_defaults=>[".true."]},
|
1241
|
+
:numult=>
|
1242
|
+
{:should_include=>"true",
|
1243
|
+
:description=>" multiplier of collision frequency for testing",
|
1244
|
+
:help=>" multiplier of collision frequency for testing",
|
1245
|
+
:code_name=>:numult,
|
1246
|
+
:must_pass=>
|
1247
|
+
[{:test=>"kind_of? Numeric",
|
1248
|
+
:explanation=>
|
1249
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
1250
|
+
:type=>:Float,
|
1251
|
+
:autoscanned_defaults=>[1.0]},
|
1252
|
+
:electrostatic=>
|
1253
|
+
{:should_include=>"true",
|
1254
|
+
:description=>" if true, set beta to zero (or very small)",
|
1255
|
+
:help=>" if true, set beta to zero (or very small)",
|
1256
|
+
:code_name=>:electrostatic,
|
1257
|
+
:must_pass=>
|
1258
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
1259
|
+
:explanation=>
|
1260
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1261
|
+
:type=>:Fortran_Bool,
|
1262
|
+
:autoscanned_defaults=>[".true."]}}}}
|