trinitycrmod 0.7.11 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +2 -0
- data/VERSION +1 -1
- data/lib/trinitycrmod/deleted_variables.rb +162 -1
- data/lib/trinitycrmod/ecom.rb +35 -0
- data/lib/trinitycrmod/namelists.rb +313 -184
- data/lib/trinitycrmod/trinity.rb +9 -2
- data/trinitycrmod.gemspec +10 -3
- metadata +31 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ca33529443aefcf8440c298ac4e3aad6af609da3
|
4
|
+
data.tar.gz: 91b67e9abd7f032f7bc91d612af62934661f699a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a588adfdf31d8befeed75d8d8a73dbb95696c59648d5af735878c179e97822f5a758ef019d9b650acc8b9591f5ae2f40f4f6b532e2fe890bddeaa28eeec542e5
|
7
|
+
data.tar.gz: 9e4552700ec90fc617c084f7df3bc316bdfd0014f5e56ba74bb37326bef97472f6c0ee64852bc72f79694ee195cb3d83e91d38f8493813394e848bcf36ea266b
|
data/Gemfile
CHANGED
@@ -5,6 +5,8 @@ source "http://rubygems.org"
|
|
5
5
|
gem "text-data-tools", ">= 1.1.6"
|
6
6
|
gem "gs2crmod", ">=0.11.76"
|
7
7
|
gem "gryfxcrmod", ">=0.1.9"
|
8
|
+
gem "cheasecrmod", ">=0.1.0"
|
9
|
+
gem "ecomcrmod", ">=0.1.0"
|
8
10
|
|
9
11
|
# Add dependencies to develop your gem here.
|
10
12
|
# Include everything needed to run rake, tests, features, etc.
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.8.0
|
@@ -1 +1,162 @@
|
|
1
|
-
{
|
1
|
+
{:species_option=>
|
2
|
+
{:should_include=>"true",
|
3
|
+
:description=>nil,
|
4
|
+
:help=>nil,
|
5
|
+
:code_name=>:species_option,
|
6
|
+
:must_pass=>
|
7
|
+
[{:test=>"kind_of? String",
|
8
|
+
:explanation=>"This variable must be a string."}],
|
9
|
+
:type=>:String,
|
10
|
+
:autoscanned_defaults=>["analytic"]},
|
11
|
+
:species_file=>
|
12
|
+
{:should_include=>"true",
|
13
|
+
:description=>nil,
|
14
|
+
:help=>nil,
|
15
|
+
:code_name=>:species_file,
|
16
|
+
:must_pass=>
|
17
|
+
[{:test=>"kind_of? String",
|
18
|
+
:explanation=>"This variable must be a string."}],
|
19
|
+
:type=>:String,
|
20
|
+
:autoscanned_defaults=>[]},
|
21
|
+
:species_time=>
|
22
|
+
{:should_include=>"true",
|
23
|
+
:description=>nil,
|
24
|
+
:help=>nil,
|
25
|
+
:code_name=>:species_time,
|
26
|
+
:must_pass=>
|
27
|
+
[{:test=>"kind_of? Numeric",
|
28
|
+
:explanation=>
|
29
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
30
|
+
:type=>:Float,
|
31
|
+
:autoscanned_defaults=>[]},
|
32
|
+
:ntspec=>
|
33
|
+
{:should_include=>"true",
|
34
|
+
:description=>nil,
|
35
|
+
:help=>nil,
|
36
|
+
:code_name=>:ntspec,
|
37
|
+
:must_pass=>
|
38
|
+
[{:test=>"kind_of? Integer",
|
39
|
+
:explanation=>"This variable must be an integer."}],
|
40
|
+
:type=>:Integer,
|
41
|
+
:autoscanned_defaults=>[2]},
|
42
|
+
:convergetol=>
|
43
|
+
{:should_include=>"true",
|
44
|
+
:description=>nil,
|
45
|
+
:help=>nil,
|
46
|
+
:code_name=>:convergetol,
|
47
|
+
:must_pass=>
|
48
|
+
[{:test=>"kind_of? Numeric",
|
49
|
+
:explanation=>
|
50
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
51
|
+
:type=>:Float,
|
52
|
+
:autoscanned_defaults=>[]},
|
53
|
+
:grad_option=>
|
54
|
+
{:should_include=>"true",
|
55
|
+
:description=>nil,
|
56
|
+
:help=>nil,
|
57
|
+
:code_name=>:grad_option,
|
58
|
+
:must_pass=>
|
59
|
+
[{:test=>"kind_of? String",
|
60
|
+
:explanation=>"This variable must be a string."}],
|
61
|
+
:type=>:String,
|
62
|
+
:autoscanned_defaults=>["tgrads"]},
|
63
|
+
:dti=>
|
64
|
+
{:should_include=>"true",
|
65
|
+
:description=>nil,
|
66
|
+
:help=>nil,
|
67
|
+
:code_name=>:dti,
|
68
|
+
:must_pass=>
|
69
|
+
[{:test=>"kind_of? Numeric",
|
70
|
+
:explanation=>
|
71
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
72
|
+
:type=>:Float,
|
73
|
+
:autoscanned_defaults=>[]},
|
74
|
+
:dte=>
|
75
|
+
{:should_include=>"true",
|
76
|
+
:description=>nil,
|
77
|
+
:help=>nil,
|
78
|
+
:code_name=>:dte,
|
79
|
+
:must_pass=>
|
80
|
+
[{:test=>"kind_of? Numeric",
|
81
|
+
:explanation=>
|
82
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
83
|
+
:type=>:Float,
|
84
|
+
:autoscanned_defaults=>[]},
|
85
|
+
:tite=>
|
86
|
+
{:should_include=>"true",
|
87
|
+
:description=>nil,
|
88
|
+
:help=>nil,
|
89
|
+
:code_name=>:tite,
|
90
|
+
:must_pass=>
|
91
|
+
[{:test=>"kind_of? Numeric",
|
92
|
+
:explanation=>
|
93
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
94
|
+
:type=>:Float,
|
95
|
+
:autoscanned_defaults=>
|
96
|
+
["temp_perturb(idx:idx+ncc-1,1)/temp_perturb(idx:idx+ncc-1,2)", "ti/te"]},
|
97
|
+
:rln=>
|
98
|
+
{:should_include=>"true",
|
99
|
+
:description=>nil,
|
100
|
+
:help=>nil,
|
101
|
+
:code_name=>:rln,
|
102
|
+
:must_pass=>
|
103
|
+
[{:test=>"kind_of? Numeric",
|
104
|
+
:explanation=>
|
105
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
106
|
+
:type=>:Float,
|
107
|
+
:autoscanned_defaults=>[1.0]},
|
108
|
+
:nedge=>
|
109
|
+
{:should_include=>"true",
|
110
|
+
:description=>nil,
|
111
|
+
:help=>nil,
|
112
|
+
:code_name=>:nedge,
|
113
|
+
:must_pass=>
|
114
|
+
[{:test=>"kind_of? Numeric",
|
115
|
+
:explanation=>
|
116
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
117
|
+
:type=>:Float,
|
118
|
+
:autoscanned_defaults=>[]},
|
119
|
+
:density_boost=>
|
120
|
+
{:should_include=>"true",
|
121
|
+
:description=>nil,
|
122
|
+
:help=>nil,
|
123
|
+
:code_name=>:density_boost,
|
124
|
+
:must_pass=>
|
125
|
+
[{:test=>"kind_of? Numeric",
|
126
|
+
:explanation=>
|
127
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
128
|
+
:type=>:Float,
|
129
|
+
:autoscanned_defaults=>[]},
|
130
|
+
:powerin=>
|
131
|
+
{:should_include=>"true",
|
132
|
+
:description=>nil,
|
133
|
+
:help=>nil,
|
134
|
+
:code_name=>:powerin,
|
135
|
+
:must_pass=>
|
136
|
+
[{:test=>"kind_of? Numeric",
|
137
|
+
:explanation=>
|
138
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
139
|
+
:type=>:Float,
|
140
|
+
:autoscanned_defaults=>[0.0]},
|
141
|
+
:src_ratio=>
|
142
|
+
{:should_include=>"true",
|
143
|
+
:description=>nil,
|
144
|
+
:help=>nil,
|
145
|
+
:code_name=>:src_ratio,
|
146
|
+
:must_pass=>
|
147
|
+
[{:test=>"kind_of? Numeric",
|
148
|
+
:explanation=>
|
149
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
150
|
+
:type=>:Float,
|
151
|
+
:autoscanned_defaults=>[]},
|
152
|
+
:write_smooth=>
|
153
|
+
{:should_include=>"true",
|
154
|
+
:description=>nil,
|
155
|
+
:help=>nil,
|
156
|
+
:code_name=>:write_smooth,
|
157
|
+
:must_pass=>
|
158
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
159
|
+
:explanation=>
|
160
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
161
|
+
:type=>:Fortran_Bool,
|
162
|
+
:autoscanned_defaults=>[]}}
|
@@ -0,0 +1,35 @@
|
|
1
|
+
class CodeRunner::Trinity
|
2
|
+
def uses_ecom?
|
3
|
+
@geo_option == "ecom"
|
4
|
+
end
|
5
|
+
def ecom_run
|
6
|
+
CodeRunner.setup_run_class('ecom')
|
7
|
+
ecrun = CodeRunner::Ecom.new(@runner)
|
8
|
+
raise 'No ecom input file' unless FileTest.exist?(chfile=@directory + '/chease/ecom.in')
|
9
|
+
ecrun.instance_eval(CodeRunner::Ecom.defaults_file_text_from_input_file(chfile))
|
10
|
+
#puts ['ecrun1', ecrun.nsurf, self.class.defaults_file_text_from_input_file(chfile), chfile]
|
11
|
+
return ecrun
|
12
|
+
end
|
13
|
+
def setup_ecom
|
14
|
+
ep "Setting up ecom files..."
|
15
|
+
if evolve_geometry.fortran_true?
|
16
|
+
FileUtils.cp_r(@gs_folder, 'chease')
|
17
|
+
ecrun = ecom_run
|
18
|
+
ecrun.iptype = 2 # Use numerical pressure
|
19
|
+
ecrun.iptable = 2 # File contains rho_tor and pressure
|
20
|
+
ecrun.file_prof = 'Profile.dat' # Trinity always expects the file to be called this
|
21
|
+
#ecrun.neqdsk = 0 # Use EXPEQ
|
22
|
+
#ecrun.nsurf = 6
|
23
|
+
#puts ['ecrun2', ecrun.nsurf]
|
24
|
+
#ecrun.nppfun = 4 # Pres profile from EXPEQ
|
25
|
+
#ecrun.nfunc = 4 # Current func
|
26
|
+
#ecrun.nopt = -1 # Use prev soln for initial
|
27
|
+
Dir.chdir(@directory + '/chease/'){ecrun.write_input_file}
|
28
|
+
else
|
29
|
+
FileUtils.mkdir('chease') unless FileTest.exist? 'chease'
|
30
|
+
origfile = @runner.root_folder + '/ogyropsi.dat'
|
31
|
+
FileUtils.cp(origfile, 'chease/ogyropsi.dat') if FileTest.exist? origfile
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
@@ -11,7 +11,7 @@
|
|
11
11
|
[{:test=>"kind_of? String",
|
12
12
|
:explanation=>"This variable must be a string."}],
|
13
13
|
:type=>:String,
|
14
|
-
:autoscanned_defaults=>["default"]},
|
14
|
+
:autoscanned_defaults=>["analytic", "default"]},
|
15
15
|
:geo_file=>
|
16
16
|
{:should_include=>"true",
|
17
17
|
:description=>" file with input data",
|
@@ -43,7 +43,7 @@
|
|
43
43
|
:explanation=>
|
44
44
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
45
45
|
:type=>:Float,
|
46
|
-
:autoscanned_defaults=>[0.95]},
|
46
|
+
:autoscanned_defaults=>[0.8, 0.95]},
|
47
47
|
:nrad=>
|
48
48
|
{:should_include=>"true",
|
49
49
|
:description=>" number of radial grid points",
|
@@ -53,7 +53,7 @@
|
|
53
53
|
[{:test=>"kind_of? Integer",
|
54
54
|
:explanation=>"This variable must be an integer."}],
|
55
55
|
:type=>:Integer,
|
56
|
-
:autoscanned_defaults=>[9]},
|
56
|
+
:autoscanned_defaults=>[8, 9]},
|
57
57
|
:bt_in=>
|
58
58
|
{:should_include=>"true",
|
59
59
|
:description=>
|
@@ -77,7 +77,7 @@
|
|
77
77
|
:explanation=>
|
78
78
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
79
79
|
:type=>:Float,
|
80
|
-
:autoscanned_defaults=>[
|
80
|
+
:autoscanned_defaults=>[1.0]},
|
81
81
|
:rgeo_in=>
|
82
82
|
{:should_include=>"true",
|
83
83
|
:description=>" geometric major radius at LCFS (in meters)",
|
@@ -88,7 +88,7 @@
|
|
88
88
|
:explanation=>
|
89
89
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
90
90
|
:type=>:Float,
|
91
|
-
:autoscanned_defaults=>[
|
91
|
+
:autoscanned_defaults=>[3.0]},
|
92
92
|
:q0=>
|
93
93
|
{:should_include=>"true",
|
94
94
|
:description=>" value of q at core of profile",
|
@@ -176,7 +176,7 @@
|
|
176
176
|
[{:test=>"kind_of? String",
|
177
177
|
:explanation=>"This variable must be a string."}],
|
178
178
|
:type=>:String,
|
179
|
-
:autoscanned_defaults=>["default"]},
|
179
|
+
:autoscanned_defaults=>["aminor", "default"]},
|
180
180
|
:phia_in=>
|
181
181
|
{:should_include=>"true",
|
182
182
|
:description=>
|
@@ -240,75 +240,48 @@
|
|
240
240
|
:explanation=>
|
241
241
|
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
242
242
|
:type=>:Fortran_Bool,
|
243
|
-
:autoscanned_defaults=>[".false."]}
|
244
|
-
|
245
|
-
{:description=>"",
|
246
|
-
:should_include=>"true",
|
247
|
-
:variables=>
|
248
|
-
{:species_option=>
|
249
|
-
{:should_include=>"true",
|
250
|
-
:description=>" construct species profiles from following parameters",
|
251
|
-
:help=>" construct species profiles from following parameters",
|
252
|
-
:code_name=>:species_option,
|
253
|
-
:must_pass=>
|
254
|
-
[{:test=>"kind_of? String",
|
255
|
-
:explanation=>"This variable must be a string."}],
|
256
|
-
:type=>:String,
|
257
|
-
:autoscanned_defaults=>["default"]},
|
258
|
-
:species_file=>
|
259
|
-
{:should_include=>"true",
|
260
|
-
:description=>" file with input data",
|
261
|
-
:help=>" file with input data",
|
262
|
-
:code_name=>:species_file,
|
263
|
-
:must_pass=>
|
264
|
-
[{:test=>"kind_of? String",
|
265
|
-
:explanation=>"This variable must be a string."}],
|
266
|
-
:type=>:String,
|
267
|
-
:autoscanned_defaults=>["geo_file"]},
|
268
|
-
:species_time=>
|
243
|
+
:autoscanned_defaults=>[".false."]},
|
244
|
+
:grho_in=>
|
269
245
|
{:should_include=>"true",
|
270
|
-
:description=>"
|
271
|
-
:help=>"
|
272
|
-
:code_name=>:
|
246
|
+
:description=>" overrides the value of grho if > 0",
|
247
|
+
:help=>" overrides the value of grho if > 0",
|
248
|
+
:code_name=>:grho_in,
|
273
249
|
:must_pass=>
|
274
250
|
[{:test=>"kind_of? Numeric",
|
275
251
|
:explanation=>
|
276
252
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
277
253
|
:type=>:Float,
|
278
|
-
:autoscanned_defaults=>[
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
:must_pass=>
|
285
|
-
[{:test=>"kind_of? Integer",
|
286
|
-
:explanation=>"This variable must be an integer."}],
|
287
|
-
:type=>:Integer,
|
288
|
-
:autoscanned_defaults=>[2]},
|
289
|
-
:qi=>
|
254
|
+
:autoscanned_defaults=>[-1.0]}}},
|
255
|
+
:species=>
|
256
|
+
{:description=>"",
|
257
|
+
:should_include=>"true",
|
258
|
+
:variables=>
|
259
|
+
{:qi=>
|
290
260
|
{:should_include=>"true",
|
291
261
|
:description=>
|
292
|
-
"
|
293
|
-
:help=>
|
262
|
+
" outdated main ion charge (kept for backward compatibility) ",
|
263
|
+
:help=>
|
264
|
+
" outdated main ion charge (kept for backward compatibility) ",
|
294
265
|
:code_name=>:qi,
|
295
266
|
:must_pass=>
|
296
267
|
[{:test=>"kind_of? Numeric",
|
297
268
|
:explanation=>
|
298
269
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
299
270
|
:type=>:Float,
|
300
|
-
:autoscanned_defaults=>[1.0]},
|
271
|
+
:autoscanned_defaults=>[-1.0, 1.0]},
|
301
272
|
:mi=>
|
302
273
|
{:should_include=>"true",
|
303
|
-
:description=>
|
304
|
-
|
274
|
+
:description=>
|
275
|
+
" old variable for primary ion species mass (kept for backward compatibility)",
|
276
|
+
:help=>
|
277
|
+
" old variable for primary ion species mass (kept for backward compatibility)",
|
305
278
|
:code_name=>:mi,
|
306
279
|
:must_pass=>
|
307
280
|
[{:test=>"kind_of? Numeric",
|
308
281
|
:explanation=>
|
309
282
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
310
283
|
:type=>:Float,
|
311
|
-
:autoscanned_defaults=>[
|
284
|
+
:autoscanned_defaults=>[-1.0, 1.0]},
|
312
285
|
:zeff_in=>
|
313
286
|
{:should_include=>"true",
|
314
287
|
:description=>" effective charge",
|
@@ -331,7 +304,7 @@
|
|
331
304
|
[{:test=>"kind_of? Integer",
|
332
305
|
:explanation=>"This variable must be an integer."}],
|
333
306
|
:type=>:Integer,
|
334
|
-
:autoscanned_defaults=>[1]},
|
307
|
+
:autoscanned_defaults=>[-1]},
|
335
308
|
:tritium=>
|
336
309
|
{:should_include=>"true",
|
337
310
|
:description=>
|
@@ -343,7 +316,7 @@
|
|
343
316
|
[{:test=>"kind_of? Integer",
|
344
317
|
:explanation=>"This variable must be an integer."}],
|
345
318
|
:type=>:Integer,
|
346
|
-
:autoscanned_defaults=>[
|
319
|
+
:autoscanned_defaults=>[-1]},
|
347
320
|
:impurity=>
|
348
321
|
{:should_include=>"true",
|
349
322
|
:description=>
|
@@ -355,29 +328,122 @@
|
|
355
328
|
[{:test=>"kind_of? Integer",
|
356
329
|
:explanation=>"This variable must be an integer."}],
|
357
330
|
:type=>:Integer,
|
358
|
-
:autoscanned_defaults=>[
|
331
|
+
:autoscanned_defaults=>[-1]},
|
359
332
|
:mimp=>
|
360
333
|
{:should_include=>"true",
|
361
|
-
:description=>
|
362
|
-
|
334
|
+
:description=>
|
335
|
+
" old variable for main impurity mass (kept for backward compatibility)",
|
336
|
+
:help=>
|
337
|
+
" old variable for main impurity mass (kept for backward compatibility)",
|
363
338
|
:code_name=>:mimp,
|
364
339
|
:must_pass=>
|
365
340
|
[{:test=>"kind_of? Numeric",
|
366
341
|
:explanation=>
|
367
342
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
368
343
|
:type=>:Float,
|
369
|
-
:autoscanned_defaults=>[
|
344
|
+
:autoscanned_defaults=>[-1.0]},
|
370
345
|
:zimp=>
|
371
346
|
{:should_include=>"true",
|
372
|
-
:description=>
|
373
|
-
|
347
|
+
:description=>
|
348
|
+
" old variable for main impurity charge number (kept for backward compatibility)",
|
349
|
+
:help=>
|
350
|
+
" old variable for main impurity charge number (kept for backward compatibility)",
|
374
351
|
:code_name=>:zimp,
|
375
352
|
:must_pass=>
|
376
353
|
[{:test=>"kind_of? Numeric",
|
377
354
|
:explanation=>
|
378
355
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
379
356
|
:type=>:Float,
|
380
|
-
:autoscanned_defaults=>[
|
357
|
+
:autoscanned_defaults=>[-1.0]},
|
358
|
+
:n_ion_spec=>
|
359
|
+
{:should_include=>"true",
|
360
|
+
:description=>" number of ion species to evolve",
|
361
|
+
:help=>" number of ion species to evolve",
|
362
|
+
:code_name=>:n_ion_spec,
|
363
|
+
:must_pass=>
|
364
|
+
[{:test=>"kind_of? Integer",
|
365
|
+
:explanation=>"This variable must be an integer."}],
|
366
|
+
:type=>:Integer,
|
367
|
+
:autoscanned_defaults=>[1]},
|
368
|
+
:z_ion_1=>
|
369
|
+
{:should_include=>"true",
|
370
|
+
:description=>
|
371
|
+
" simulated primary ion species charge (in units of fundamental charge)",
|
372
|
+
:help=>
|
373
|
+
" simulated primary ion species charge (in units of fundamental charge)",
|
374
|
+
:code_name=>:z_ion_1,
|
375
|
+
:must_pass=>
|
376
|
+
[{:test=>"kind_of? Integer",
|
377
|
+
:explanation=>"This variable must be an integer."}],
|
378
|
+
:type=>:Integer,
|
379
|
+
:autoscanned_defaults=>[-1]},
|
380
|
+
:z_ion_2=>
|
381
|
+
{:should_include=>"true",
|
382
|
+
:description=>
|
383
|
+
" simulated secondary ion species charge (in units of fundamental charge)",
|
384
|
+
:help=>
|
385
|
+
" simulated secondary ion species charge (in units of fundamental charge)",
|
386
|
+
:code_name=>:z_ion_2,
|
387
|
+
:must_pass=>
|
388
|
+
[{:test=>"kind_of? Integer",
|
389
|
+
:explanation=>"This variable must be an integer."}],
|
390
|
+
:type=>:Integer,
|
391
|
+
:autoscanned_defaults=>[-1]},
|
392
|
+
:z_ion_3=>
|
393
|
+
{:should_include=>"true",
|
394
|
+
:description=>
|
395
|
+
" simulated tertiary ion species charge (in units of fundamental charge)",
|
396
|
+
:help=>
|
397
|
+
" simulated tertiary ion species charge (in units of fundamental charge)",
|
398
|
+
:code_name=>:z_ion_3,
|
399
|
+
:must_pass=>
|
400
|
+
[{:test=>"kind_of? Integer",
|
401
|
+
:explanation=>"This variable must be an integer."}],
|
402
|
+
:type=>:Integer,
|
403
|
+
:autoscanned_defaults=>[-1]},
|
404
|
+
:m_ion_1=>
|
405
|
+
{:should_include=>"true",
|
406
|
+
:description=>" simulated primary ion mass (in units of proton mass)",
|
407
|
+
:help=>" simulated primary ion mass (in units of proton mass)",
|
408
|
+
:code_name=>:m_ion_1,
|
409
|
+
:must_pass=>
|
410
|
+
[{:test=>"kind_of? Numeric",
|
411
|
+
:explanation=>
|
412
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
413
|
+
:type=>:Float,
|
414
|
+
:autoscanned_defaults=>[-1.0]},
|
415
|
+
:m_ion_2=>
|
416
|
+
{:should_include=>"true",
|
417
|
+
:description=>" simulated secondary ion mass (in units of proton mass)",
|
418
|
+
:help=>" simulated secondary ion mass (in units of proton mass)",
|
419
|
+
:code_name=>:m_ion_2,
|
420
|
+
:must_pass=>
|
421
|
+
[{:test=>"kind_of? Numeric",
|
422
|
+
:explanation=>
|
423
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
424
|
+
:type=>:Float,
|
425
|
+
:autoscanned_defaults=>[-1.0]},
|
426
|
+
:m_ion_3=>
|
427
|
+
{:should_include=>"true",
|
428
|
+
:description=>" simulated tertiary ion mass (in units of proton mass)",
|
429
|
+
:help=>" simulated tertiary ion mass (in units of proton mass)",
|
430
|
+
:code_name=>:m_ion_3,
|
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=>[-1.0]},
|
437
|
+
:is_ref=>
|
438
|
+
{:should_include=>"true",
|
439
|
+
:description=>" index of reference species in flux calculation",
|
440
|
+
:help=>" index of reference species in flux calculation",
|
441
|
+
:code_name=>:is_ref,
|
442
|
+
:must_pass=>
|
443
|
+
[{:test=>"kind_of? Integer",
|
444
|
+
:explanation=>"This variable must be an integer."}],
|
445
|
+
:type=>:Integer,
|
446
|
+
:autoscanned_defaults=>[2]}}},
|
381
447
|
:time=>
|
382
448
|
{:description=>"",
|
383
449
|
:should_include=>"true",
|
@@ -391,7 +457,7 @@
|
|
391
457
|
[{:test=>"kind_of? Integer",
|
392
458
|
:explanation=>"This variable must be an integer."}],
|
393
459
|
:type=>:Integer,
|
394
|
-
:autoscanned_defaults=>[20]},
|
460
|
+
:autoscanned_defaults=>[10, 20]},
|
395
461
|
:niter=>
|
396
462
|
{:should_include=>"true",
|
397
463
|
:description=>" max number of newton iterations per time step",
|
@@ -412,7 +478,7 @@
|
|
412
478
|
:explanation=>
|
413
479
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
414
480
|
:type=>:Float,
|
415
|
-
:autoscanned_defaults=>[0.01]},
|
481
|
+
:autoscanned_defaults=>[0.01, 0.2]},
|
416
482
|
:ntdelt_max=>
|
417
483
|
{:should_include=>"true",
|
418
484
|
:description=>" maximum size of transport time step",
|
@@ -446,7 +512,7 @@
|
|
446
512
|
:explanation=>
|
447
513
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
448
514
|
:type=>:Float,
|
449
|
-
:autoscanned_defaults=>[0.2]},
|
515
|
+
:autoscanned_defaults=>[0.2, 1.0]},
|
450
516
|
:errflr=>
|
451
517
|
{:should_include=>"true",
|
452
518
|
:description=>" relative error below which we stop iterating",
|
@@ -457,7 +523,7 @@
|
|
457
523
|
:explanation=>
|
458
524
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
459
525
|
:type=>:Float,
|
460
|
-
:autoscanned_defaults=>[0.005]},
|
526
|
+
:autoscanned_defaults=>[0.005, 0.03]},
|
461
527
|
:flrfac=>
|
462
528
|
{:should_include=>"true",
|
463
529
|
:description=>
|
@@ -470,7 +536,7 @@
|
|
470
536
|
:explanation=>
|
471
537
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
472
538
|
:type=>:Float,
|
473
|
-
:autoscanned_defaults=>[2.0]},
|
539
|
+
:autoscanned_defaults=>[1.0, 2.0]},
|
474
540
|
:nensembles=>
|
475
541
|
{:should_include=>"true",
|
476
542
|
:description=>
|
@@ -495,7 +561,7 @@
|
|
495
561
|
[{:test=>"kind_of? String",
|
496
562
|
:explanation=>"This variable must be a string."}],
|
497
563
|
:type=>:String,
|
498
|
-
:autoscanned_defaults=>["default"]},
|
564
|
+
:autoscanned_defaults=>["default", "test1"]},
|
499
565
|
:flxmult=>
|
500
566
|
{:should_include=>"true",
|
501
567
|
:description=>" coefficient multiplying fluxes (for testing)",
|
@@ -562,16 +628,6 @@
|
|
562
628
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
563
629
|
:type=>:Float,
|
564
630
|
:autoscanned_defaults=>[0.1]},
|
565
|
-
:grad_option=>
|
566
|
-
{:should_include=>"true",
|
567
|
-
:description=>" option determining which equilibrium gradients to vary",
|
568
|
-
:help=>" option determining which equilibrium gradients to vary",
|
569
|
-
:code_name=>:grad_option,
|
570
|
-
:must_pass=>
|
571
|
-
[{:test=>"kind_of? String",
|
572
|
-
:explanation=>"This variable must be a string."}],
|
573
|
-
:type=>:String,
|
574
|
-
:autoscanned_defaults=>["default"]},
|
575
631
|
:dfprim=>
|
576
632
|
{:should_include=>"true",
|
577
633
|
:description=>" step size for R/Ln is -R/Ln * dfprim",
|
@@ -582,7 +638,7 @@
|
|
582
638
|
:explanation=>
|
583
639
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
584
640
|
:type=>:Float,
|
585
|
-
:autoscanned_defaults=>[0.1]},
|
641
|
+
:autoscanned_defaults=>[0.1, 1.0]},
|
586
642
|
:dtprim=>
|
587
643
|
{:should_include=>"true",
|
588
644
|
:description=>" step size for R/LT is R/LT * dtprim",
|
@@ -593,7 +649,7 @@
|
|
593
649
|
:explanation=>
|
594
650
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
595
651
|
:type=>:Float,
|
596
|
-
:autoscanned_defaults=>[0.1]},
|
652
|
+
:autoscanned_defaults=>[0.1, 1.0]},
|
597
653
|
:dgexb=>
|
598
654
|
{:should_include=>"true",
|
599
655
|
:description=>" step size for gexb is gexb * dgexb",
|
@@ -637,7 +693,7 @@
|
|
637
693
|
:explanation=>
|
638
694
|
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
639
695
|
:type=>:Fortran_Bool,
|
640
|
-
:autoscanned_defaults=>[".false."]},
|
696
|
+
:autoscanned_defaults=>[".false.", ".true."]},
|
641
697
|
:dflx_stencil=>
|
642
698
|
{:should_include=>"true",
|
643
699
|
:description=>" number of fluxes to use for flux derivatives",
|
@@ -717,29 +773,7 @@
|
|
717
773
|
:explanation=>
|
718
774
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
719
775
|
:type=>:Float,
|
720
|
-
:autoscanned_defaults=>[0.2]},
|
721
|
-
:dti=>
|
722
|
-
{:should_include=>"true",
|
723
|
-
:description=>" step size for Ti is Ti * dti",
|
724
|
-
:help=>" step size for Ti is Ti * dti",
|
725
|
-
:code_name=>:dti,
|
726
|
-
:must_pass=>
|
727
|
-
[{:test=>"kind_of? Numeric",
|
728
|
-
:explanation=>
|
729
|
-
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
730
|
-
:type=>:Float,
|
731
|
-
:autoscanned_defaults=>[0.2]},
|
732
|
-
:dte=>
|
733
|
-
{:should_include=>"true",
|
734
|
-
:description=>" step size for Te is Te * dte",
|
735
|
-
:help=>" step size for Te is Te * dte",
|
736
|
-
:code_name=>:dte,
|
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]},
|
776
|
+
:autoscanned_defaults=>[0.0, 0.2]},
|
743
777
|
:dom=>
|
744
778
|
{:should_include=>"true",
|
745
779
|
:description=>
|
@@ -912,8 +946,8 @@
|
|
912
946
|
:autoscanned_defaults=>["default"]},
|
913
947
|
:nifspppl_initial=>
|
914
948
|
{:should_include=>"true",
|
915
|
-
:description=>" number of initial
|
916
|
-
:help=>" number of initial
|
949
|
+
:description=>" number of initial ifspppl_fluxes calls",
|
950
|
+
:help=>" number of initial ifspppl_fluxes calls",
|
917
951
|
:code_name=>:nifspppl_initial,
|
918
952
|
:must_pass=>
|
919
953
|
[{:test=>"kind_of? integer",
|
@@ -922,8 +956,8 @@
|
|
922
956
|
:autoscanned_defaults=>[-1]},
|
923
957
|
:n_gpus=>
|
924
958
|
{:should_include=>"true",
|
925
|
-
:description=>"
|
926
|
-
:help=>"
|
959
|
+
:description=>" For gryfx, number of avail gpus",
|
960
|
+
:help=>" For gryfx, number of avail gpus",
|
927
961
|
:code_name=>:n_gpus,
|
928
962
|
:must_pass=>
|
929
963
|
[{:test=>"kind_of? integer",
|
@@ -942,15 +976,25 @@
|
|
942
976
|
:autoscanned_defaults=>[""]},
|
943
977
|
:replay_filename=>
|
944
978
|
{:should_include=>"true",
|
945
|
-
:description=>
|
946
|
-
|
947
|
-
:help=>
|
948
|
-
"If running in replay mode, gives the filename of the trinity netcdf output file that contains the fluxes to be read.",
|
979
|
+
:description=>nil,
|
980
|
+
:help=>nil,
|
949
981
|
:code_name=>:replay_filename,
|
950
982
|
:must_pass=>
|
951
983
|
[{:test=>"kind_of? String",
|
952
984
|
:explanation=>"This variable must be a string."}],
|
953
|
-
:type=>:String
|
985
|
+
:type=>:String,
|
986
|
+
:autoscanned_defaults=>[""]},
|
987
|
+
:dtemp=>
|
988
|
+
{:should_include=>"true",
|
989
|
+
:description=>" step size for temperature is temperature * dtemp",
|
990
|
+
:help=>" step size for temperature is temperature * dtemp",
|
991
|
+
:code_name=>:dtemp,
|
992
|
+
:must_pass=>
|
993
|
+
[{:test=>"kind_of? Numeric",
|
994
|
+
:explanation=>
|
995
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
996
|
+
:type=>:Float,
|
997
|
+
:autoscanned_defaults=>[0.2]}}},
|
954
998
|
:init=>
|
955
999
|
{:description=>"",
|
956
1000
|
:should_include=>"true",
|
@@ -964,7 +1008,7 @@
|
|
964
1008
|
[{:test=>"kind_of? String",
|
965
1009
|
:explanation=>"This variable must be a string."}],
|
966
1010
|
:type=>:String,
|
967
|
-
:autoscanned_defaults=>["default"]},
|
1011
|
+
:autoscanned_defaults=>["analytic", "default"]},
|
968
1012
|
:init_file=>
|
969
1013
|
{:should_include=>"true",
|
970
1014
|
:description=>" file with input data",
|
@@ -986,17 +1030,6 @@
|
|
986
1030
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
987
1031
|
:type=>:Float,
|
988
1032
|
:autoscanned_defaults=>["geo_time"]},
|
989
|
-
:rln=>
|
990
|
-
{:should_include=>"true",
|
991
|
-
:description=>" initial R/Ln",
|
992
|
-
:help=>" initial R/Ln",
|
993
|
-
:code_name=>:rln,
|
994
|
-
:must_pass=>
|
995
|
-
[{:test=>"kind_of? Numeric",
|
996
|
-
:explanation=>
|
997
|
-
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
998
|
-
:type=>:Float,
|
999
|
-
:autoscanned_defaults=>[0.0, 1.0]},
|
1000
1033
|
:rlti=>
|
1001
1034
|
{:should_include=>"true",
|
1002
1035
|
:description=>" initial R/LTi",
|
@@ -1018,20 +1051,7 @@
|
|
1018
1051
|
:explanation=>
|
1019
1052
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
1020
1053
|
:type=>:Float,
|
1021
|
-
:autoscanned_defaults=>[
|
1022
|
-
:nedge=>
|
1023
|
-
{:should_include=>"true",
|
1024
|
-
:description=>
|
1025
|
-
" initial density offset. if positive, override init_option for dens",
|
1026
|
-
:help=>
|
1027
|
-
" initial density offset. if positive, override init_option for dens",
|
1028
|
-
:code_name=>:nedge,
|
1029
|
-
:must_pass=>
|
1030
|
-
[{:test=>"kind_of? Numeric",
|
1031
|
-
:explanation=>
|
1032
|
-
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
1033
|
-
:type=>:Float,
|
1034
|
-
:autoscanned_defaults=>[-1.0]},
|
1054
|
+
:autoscanned_defaults=>[4.0]},
|
1035
1055
|
:tiedge=>
|
1036
1056
|
{:should_include=>"true",
|
1037
1057
|
:description=>
|
@@ -1103,15 +1123,15 @@
|
|
1103
1123
|
:autoscanned_defaults=>[-1.0]},
|
1104
1124
|
:rll=>
|
1105
1125
|
{:should_include=>"true",
|
1106
|
-
:description=>
|
1107
|
-
:help=>
|
1126
|
+
:description=>" initial R/LL",
|
1127
|
+
:help=>" initial R/LL",
|
1108
1128
|
:code_name=>:rll,
|
1109
1129
|
:must_pass=>
|
1110
1130
|
[{:test=>"kind_of? Numeric",
|
1111
1131
|
:explanation=>
|
1112
1132
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
1113
1133
|
:type=>:Float,
|
1114
|
-
:autoscanned_defaults=>[]},
|
1134
|
+
:autoscanned_defaults=>[0.0]},
|
1115
1135
|
:iternt_file=>
|
1116
1136
|
{:should_include=>"true",
|
1117
1137
|
:description=>
|
@@ -1192,7 +1212,47 @@
|
|
1192
1212
|
[{:test=>"kind_of? String",
|
1193
1213
|
:explanation=>"This variable must be a string."}],
|
1194
1214
|
:type=>:String,
|
1195
|
-
:autoscanned_defaults=>["restart.itercalib"]}
|
1215
|
+
:autoscanned_defaults=>["restart.itercalib"]},
|
1216
|
+
:rlni=>
|
1217
|
+
{:should_include=>"true",
|
1218
|
+
:description=>nil,
|
1219
|
+
:help=>nil,
|
1220
|
+
:code_name=>:rlni,
|
1221
|
+
:must_pass=>
|
1222
|
+
[{:test=>"kind_of? Numeric",
|
1223
|
+
:explanation=>
|
1224
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
1225
|
+
:type=>:Float},
|
1226
|
+
:rlne=>
|
1227
|
+
{:should_include=>"true",
|
1228
|
+
:description=>nil,
|
1229
|
+
:help=>nil,
|
1230
|
+
:code_name=>:rlne,
|
1231
|
+
:must_pass=>
|
1232
|
+
[{:test=>"kind_of? Numeric",
|
1233
|
+
:explanation=>
|
1234
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
1235
|
+
:type=>:Float},
|
1236
|
+
:niedge=>
|
1237
|
+
{:should_include=>"true",
|
1238
|
+
:description=>nil,
|
1239
|
+
:help=>nil,
|
1240
|
+
:code_name=>:niedge,
|
1241
|
+
:must_pass=>
|
1242
|
+
[{:test=>"kind_of? Numeric",
|
1243
|
+
:explanation=>
|
1244
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
1245
|
+
:type=>:Float},
|
1246
|
+
:needge=>
|
1247
|
+
{:should_include=>"true",
|
1248
|
+
:description=>nil,
|
1249
|
+
:help=>nil,
|
1250
|
+
:code_name=>:needge,
|
1251
|
+
:must_pass=>
|
1252
|
+
[{:test=>"kind_of? Numeric",
|
1253
|
+
:explanation=>
|
1254
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
1255
|
+
:type=>:Float}}},
|
1196
1256
|
:sources=>
|
1197
1257
|
{:description=>"",
|
1198
1258
|
:should_include=>"true",
|
@@ -1206,7 +1266,7 @@
|
|
1206
1266
|
[{:test=>"kind_of? String",
|
1207
1267
|
:explanation=>"This variable must be a string."}],
|
1208
1268
|
:type=>:String,
|
1209
|
-
:autoscanned_defaults=>["default"]},
|
1269
|
+
:autoscanned_defaults=>["analytic", "default"]},
|
1210
1270
|
:source_file=>
|
1211
1271
|
{:should_include=>"true",
|
1212
1272
|
:description=>" file with input data",
|
@@ -1228,17 +1288,6 @@
|
|
1228
1288
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
1229
1289
|
:type=>:Float,
|
1230
1290
|
:autoscanned_defaults=>["geo_time"]},
|
1231
|
-
:powerin=>
|
1232
|
-
{:should_include=>"true",
|
1233
|
-
:description=>" external power input (in MW)",
|
1234
|
-
:help=>" external power input (in MW)",
|
1235
|
-
:code_name=>:powerin,
|
1236
|
-
:must_pass=>
|
1237
|
-
[{:test=>"kind_of? Numeric",
|
1238
|
-
:explanation=>
|
1239
|
-
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
1240
|
-
:type=>:Float,
|
1241
|
-
:autoscanned_defaults=>[50.0]},
|
1242
1291
|
:psig=>
|
1243
1292
|
{:should_include=>"true",
|
1244
1293
|
:description=>
|
@@ -1262,17 +1311,6 @@
|
|
1262
1311
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
1263
1312
|
:type=>:Float,
|
1264
1313
|
:autoscanned_defaults=>[0.0]},
|
1265
|
-
:src_ratio=>
|
1266
|
-
{:should_include=>"true",
|
1267
|
-
:description=>" fraction of external power going to ions",
|
1268
|
-
:help=>" fraction of external power going to ions",
|
1269
|
-
:code_name=>:src_ratio,
|
1270
|
-
:must_pass=>
|
1271
|
-
[{:test=>"kind_of? Numeric",
|
1272
|
-
:explanation=>
|
1273
|
-
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
1274
|
-
:type=>:Float,
|
1275
|
-
:autoscanned_defaults=>[0.5]},
|
1276
1314
|
:densin=>
|
1277
1315
|
{:should_include=>"true",
|
1278
1316
|
:description=>" external density input",
|
@@ -1317,7 +1355,7 @@
|
|
1317
1355
|
:explanation=>
|
1318
1356
|
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1319
1357
|
:type=>:Fortran_Bool,
|
1320
|
-
:autoscanned_defaults=>[".true."]},
|
1358
|
+
:autoscanned_defaults=>[".false.", ".true."]},
|
1321
1359
|
:include_radiation=>
|
1322
1360
|
{:should_include=>"true",
|
1323
1361
|
:description=>" include bremstrahlung radiation",
|
@@ -1328,7 +1366,7 @@
|
|
1328
1366
|
:explanation=>
|
1329
1367
|
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1330
1368
|
:type=>:Fortran_Bool,
|
1331
|
-
:autoscanned_defaults=>[".true."]},
|
1369
|
+
:autoscanned_defaults=>[".false.", ".true."]},
|
1332
1370
|
:pioq=>
|
1333
1371
|
{:should_include=>"true",
|
1334
1372
|
:description=>" ratio of momentum to heat input",
|
@@ -1353,17 +1391,6 @@
|
|
1353
1391
|
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1354
1392
|
:type=>:Fortran_Bool,
|
1355
1393
|
:autoscanned_defaults=>[".false."]},
|
1356
|
-
:write_smooth=>
|
1357
|
-
{:should_include=>"true",
|
1358
|
-
:description=>" true writes out smoothed profiles",
|
1359
|
-
:help=>" true writes out smoothed profiles",
|
1360
|
-
:code_name=>:write_smooth,
|
1361
|
-
:must_pass=>
|
1362
|
-
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
1363
|
-
:explanation=>
|
1364
|
-
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1365
|
-
:type=>:Fortran_Bool,
|
1366
|
-
:autoscanned_defaults=>[".false."]},
|
1367
1394
|
:nbi_mult=>
|
1368
1395
|
{:should_include=>"true",
|
1369
1396
|
:description=>
|
@@ -1450,7 +1477,49 @@
|
|
1450
1477
|
:explanation=>
|
1451
1478
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
1452
1479
|
:type=>:Float,
|
1453
|
-
:autoscanned_defaults=>[-1.0]}
|
1480
|
+
:autoscanned_defaults=>[-1.0]},
|
1481
|
+
:e_powerin=>
|
1482
|
+
{:should_include=>"true",
|
1483
|
+
:description=>" external electron power input (in MW)",
|
1484
|
+
:help=>" external electron power input (in MW)",
|
1485
|
+
:code_name=>:e_powerin,
|
1486
|
+
:must_pass=>
|
1487
|
+
[{:test=>"kind_of? Numeric",
|
1488
|
+
:explanation=>
|
1489
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
1490
|
+
:type=>:Float,
|
1491
|
+
:autoscanned_defaults=>[10.0]},
|
1492
|
+
:i_powerin_1=>
|
1493
|
+
{:should_include=>"true",
|
1494
|
+
:description=>" external primary ion power input (in MW)",
|
1495
|
+
:help=>" external primary ion power input (in MW)",
|
1496
|
+
:code_name=>:i_powerin_1,
|
1497
|
+
:must_pass=>
|
1498
|
+
[{:test=>"kind_of? Numeric",
|
1499
|
+
:explanation=>
|
1500
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
1501
|
+
:type=>:Float,
|
1502
|
+
:autoscanned_defaults=>[40.0]},
|
1503
|
+
:i_powerin_2=>
|
1504
|
+
{:should_include=>"true",
|
1505
|
+
:description=>nil,
|
1506
|
+
:help=>nil,
|
1507
|
+
:code_name=>:i_powerin_2,
|
1508
|
+
:must_pass=>
|
1509
|
+
[{:test=>"kind_of? Numeric",
|
1510
|
+
:explanation=>
|
1511
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
1512
|
+
:type=>:Float},
|
1513
|
+
:i_powerin_3=>
|
1514
|
+
{:should_include=>"true",
|
1515
|
+
:description=>nil,
|
1516
|
+
:help=>nil,
|
1517
|
+
:code_name=>:i_powerin_3,
|
1518
|
+
:must_pass=>
|
1519
|
+
[{:test=>"kind_of? Numeric",
|
1520
|
+
:explanation=>
|
1521
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
1522
|
+
:type=>:Float}}},
|
1454
1523
|
:physics=>
|
1455
1524
|
{:description=>"",
|
1456
1525
|
:should_include=>"true",
|
@@ -1467,7 +1536,7 @@
|
|
1467
1536
|
:explanation=>
|
1468
1537
|
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1469
1538
|
:type=>:Fortran_Bool,
|
1470
|
-
:autoscanned_defaults=>[".true."]},
|
1539
|
+
:autoscanned_defaults=>[".false.", ".true."]},
|
1471
1540
|
:temp_equil=>
|
1472
1541
|
{:should_include=>"true",
|
1473
1542
|
:description=>" set to false to neglect temperature equilibration",
|
@@ -1478,7 +1547,7 @@
|
|
1478
1547
|
:explanation=>
|
1479
1548
|
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1480
1549
|
:type=>:Fortran_Bool,
|
1481
|
-
:autoscanned_defaults=>[".true."]},
|
1550
|
+
:autoscanned_defaults=>[".false.", ".true."]},
|
1482
1551
|
:turb_heat=>
|
1483
1552
|
{:should_include=>"true",
|
1484
1553
|
:description=>" set to false to neglect turbulent heating",
|
@@ -1489,7 +1558,7 @@
|
|
1489
1558
|
:explanation=>
|
1490
1559
|
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1491
1560
|
:type=>:Fortran_Bool,
|
1492
|
-
:autoscanned_defaults=>[".true."]},
|
1561
|
+
:autoscanned_defaults=>[".false.", ".true."]},
|
1493
1562
|
:numult=>
|
1494
1563
|
{:should_include=>"true",
|
1495
1564
|
:description=>" multiplier of collision frequency for testing",
|
@@ -1511,4 +1580,64 @@
|
|
1511
1580
|
:explanation=>
|
1512
1581
|
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1513
1582
|
:type=>:Fortran_Bool,
|
1514
|
-
:autoscanned_defaults=>[".true."]}
|
1583
|
+
:autoscanned_defaults=>[".true."]},
|
1584
|
+
:evolve_density=>
|
1585
|
+
{:should_include=>"true",
|
1586
|
+
:description=>nil,
|
1587
|
+
:help=>nil,
|
1588
|
+
:code_name=>:evolve_density,
|
1589
|
+
:must_pass=>
|
1590
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
1591
|
+
:explanation=>
|
1592
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1593
|
+
:type=>:Fortran_Bool},
|
1594
|
+
:evolve_temperature=>
|
1595
|
+
{:should_include=>"true",
|
1596
|
+
:description=>nil,
|
1597
|
+
:help=>nil,
|
1598
|
+
:code_name=>:evolve_temperature,
|
1599
|
+
:must_pass=>
|
1600
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
1601
|
+
:explanation=>
|
1602
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1603
|
+
:type=>:Fortran_Bool},
|
1604
|
+
:evolve_flow=>
|
1605
|
+
{:should_include=>"true",
|
1606
|
+
:description=>nil,
|
1607
|
+
:help=>nil,
|
1608
|
+
:code_name=>:evolve_flow,
|
1609
|
+
:must_pass=>
|
1610
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
1611
|
+
:explanation=>
|
1612
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1613
|
+
:type=>:Fortran_Bool},
|
1614
|
+
:te_equal_ti=>
|
1615
|
+
{:should_include=>"true",
|
1616
|
+
:description=>nil,
|
1617
|
+
:help=>nil,
|
1618
|
+
:code_name=>:te_equal_ti,
|
1619
|
+
:must_pass=>
|
1620
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
1621
|
+
:explanation=>
|
1622
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1623
|
+
:type=>:Fortran_Bool},
|
1624
|
+
:equal_ion_temps=>
|
1625
|
+
{:should_include=>"true",
|
1626
|
+
:description=>nil,
|
1627
|
+
:help=>nil,
|
1628
|
+
:code_name=>:equal_ion_temps,
|
1629
|
+
:must_pass=>
|
1630
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
1631
|
+
:explanation=>
|
1632
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1633
|
+
:type=>:Fortran_Bool},
|
1634
|
+
:te_fixed=>
|
1635
|
+
{:should_include=>"true",
|
1636
|
+
:description=>nil,
|
1637
|
+
:help=>nil,
|
1638
|
+
:code_name=>:te_fixed,
|
1639
|
+
:must_pass=>
|
1640
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
1641
|
+
:explanation=>
|
1642
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1643
|
+
:type=>:Fortran_Bool}}}}
|
data/lib/trinitycrmod/trinity.rb
CHANGED
@@ -18,6 +18,8 @@ class CodeRunner
|
|
18
18
|
CodeRunner.setup_run_class('gryfx')
|
19
19
|
require 'trinitycrmod/trinity_gs2'
|
20
20
|
|
21
|
+
CodeRunner.setup_run_class('ecom')
|
22
|
+
|
21
23
|
# Where this file is
|
22
24
|
@code_module_folder = File.dirname(File.expand_path(__FILE__)) # i.e. the directory this file is in
|
23
25
|
|
@@ -29,6 +31,7 @@ class CodeRunner
|
|
29
31
|
require 'trinitycrmod/check_parameters'
|
30
32
|
require 'trinitycrmod/actual_parameter_values'
|
31
33
|
require 'trinitycrmod/chease'
|
34
|
+
require 'trinitycrmod/ecom'
|
32
35
|
require 'trinitycrmod/calib'
|
33
36
|
require 'trinitycrmod/flux_interpolator'
|
34
37
|
require 'trinitycrmod/read_netcdf'
|
@@ -68,7 +71,7 @@ class CodeRunner
|
|
68
71
|
@naming_pars = []
|
69
72
|
|
70
73
|
# Any folders which are a number will contain the results from flux simulations.
|
71
|
-
@excluded_sub_folders = (1...1000).to_a.map{|i| "flux_tube_" + i.to_s} + ['chease']
|
74
|
+
@excluded_sub_folders = (1...1000).to_a.map{|i| "flux_tube_" + i.to_s} + ['chease', 'ecom']
|
72
75
|
|
73
76
|
# A hook which gets called when printing the standard run information to the screen using the status command.
|
74
77
|
def print_out_line
|
@@ -166,7 +169,11 @@ class CodeRunner
|
|
166
169
|
if @restart_id
|
167
170
|
@runner.run_list[@restart_id].restart(self)
|
168
171
|
end
|
169
|
-
|
172
|
+
if uses_ecom?
|
173
|
+
setup_ecom
|
174
|
+
elsif uses_chease?
|
175
|
+
setup_chease
|
176
|
+
end
|
170
177
|
check_parameters
|
171
178
|
write_input_file
|
172
179
|
generate_flux_input_files if flux_gs2? or flux_gryfx?
|
data/trinitycrmod.gemspec
CHANGED
@@ -2,16 +2,16 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: trinitycrmod 0.
|
5
|
+
# stub: trinitycrmod 0.8.0 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "trinitycrmod"
|
9
|
-
s.version = "0.
|
9
|
+
s.version = "0.8.0"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib"]
|
13
13
|
s.authors = ["Edmund Highcock"]
|
14
|
-
s.date = "2015-
|
14
|
+
s.date = "2015-09-24"
|
15
15
|
s.description = "This module allows Trinity, the Multiscale Gyrokinetic Turbulent Transport solver for Fusion Reactors, to harness the power of CodeRunner, a framework for the automated running and analysis of simulations."
|
16
16
|
s.email = "edmundhighcock@sourceforge.net"
|
17
17
|
s.extra_rdoc_files = [
|
@@ -31,6 +31,7 @@ Gem::Specification.new do |s|
|
|
31
31
|
"lib/trinitycrmod/chease.rb",
|
32
32
|
"lib/trinitycrmod/check_parameters.rb",
|
33
33
|
"lib/trinitycrmod/deleted_variables.rb",
|
34
|
+
"lib/trinitycrmod/ecom.rb",
|
34
35
|
"lib/trinitycrmod/flux_interpolator.rb",
|
35
36
|
"lib/trinitycrmod/graphs.rb",
|
36
37
|
"lib/trinitycrmod/namelists.rb",
|
@@ -55,6 +56,8 @@ Gem::Specification.new do |s|
|
|
55
56
|
s.add_runtime_dependency(%q<text-data-tools>, [">= 1.1.6"])
|
56
57
|
s.add_runtime_dependency(%q<gs2crmod>, [">= 0.11.76"])
|
57
58
|
s.add_runtime_dependency(%q<gryfxcrmod>, [">= 0.1.9"])
|
59
|
+
s.add_runtime_dependency(%q<cheasecrmod>, [">= 0.1.0"])
|
60
|
+
s.add_runtime_dependency(%q<ecomcrmod>, [">= 0.1.0"])
|
58
61
|
s.add_development_dependency(%q<shoulda>, [">= 0"])
|
59
62
|
s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
|
60
63
|
s.add_development_dependency(%q<bundler>, ["> 1.0.0"])
|
@@ -64,6 +67,8 @@ Gem::Specification.new do |s|
|
|
64
67
|
s.add_dependency(%q<text-data-tools>, [">= 1.1.6"])
|
65
68
|
s.add_dependency(%q<gs2crmod>, [">= 0.11.76"])
|
66
69
|
s.add_dependency(%q<gryfxcrmod>, [">= 0.1.9"])
|
70
|
+
s.add_dependency(%q<cheasecrmod>, [">= 0.1.0"])
|
71
|
+
s.add_dependency(%q<ecomcrmod>, [">= 0.1.0"])
|
67
72
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
68
73
|
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
69
74
|
s.add_dependency(%q<bundler>, ["> 1.0.0"])
|
@@ -74,6 +79,8 @@ Gem::Specification.new do |s|
|
|
74
79
|
s.add_dependency(%q<text-data-tools>, [">= 1.1.6"])
|
75
80
|
s.add_dependency(%q<gs2crmod>, [">= 0.11.76"])
|
76
81
|
s.add_dependency(%q<gryfxcrmod>, [">= 0.1.9"])
|
82
|
+
s.add_dependency(%q<cheasecrmod>, [">= 0.1.0"])
|
83
|
+
s.add_dependency(%q<ecomcrmod>, [">= 0.1.0"])
|
77
84
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
78
85
|
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
79
86
|
s.add_dependency(%q<bundler>, ["> 1.0.0"])
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trinitycrmod
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Edmund Highcock
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-09-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: coderunner
|
@@ -66,6 +66,34 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 0.1.9
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: cheasecrmod
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 0.1.0
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 0.1.0
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: ecomcrmod
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 0.1.0
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 0.1.0
|
69
97
|
- !ruby/object:Gem::Dependency
|
70
98
|
name: shoulda
|
71
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -144,6 +172,7 @@ files:
|
|
144
172
|
- lib/trinitycrmod/chease.rb
|
145
173
|
- lib/trinitycrmod/check_parameters.rb
|
146
174
|
- lib/trinitycrmod/deleted_variables.rb
|
175
|
+
- lib/trinitycrmod/ecom.rb
|
147
176
|
- lib/trinitycrmod/flux_interpolator.rb
|
148
177
|
- lib/trinitycrmod/graphs.rb
|
149
178
|
- lib/trinitycrmod/namelists.rb
|