trinitycrmod 0.7.11 → 0.8.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 36119c68f3dac153b35dde5198b340eda02f49f6
4
- data.tar.gz: 5e6d7cc2337b08267e850e7249387ad65f4bc59f
3
+ metadata.gz: ca33529443aefcf8440c298ac4e3aad6af609da3
4
+ data.tar.gz: 91b67e9abd7f032f7bc91d612af62934661f699a
5
5
  SHA512:
6
- metadata.gz: 9b236b20bdf6cb600cf11d5b347b19eb8d4babb6660cbc138064e6c1a2a1ee4cea3c8d4597ccf57a126260d81024e351055ee96fd5f556e8894826af25bba4f8
7
- data.tar.gz: cc40887e2dc1640ff367ce171b2394bde5ca547bd980793d7d3bde685063a1b3e4313e0e6b885e299e5f37a50dd4fe84ff84ff76a378b5fe4c4f5cf61085936f
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.7.11
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=>[0.0]},
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=>[0.0]},
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
- :species=>
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=>" target time to sample experimental data (in seconds)",
271
- :help=>" target time to sample experimental data (in seconds)",
272
- :code_name=>:species_time,
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=>["geo_time"]},
279
- :ntspec=>
280
- {:should_include=>"true",
281
- :description=>" number of species to evolve (profiles)",
282
- :help=>" number of species to evolve (profiles)",
283
- :code_name=>:ntspec,
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
- " simulated ion species charge (in units of fundamental charge)",
293
- :help=>" simulated ion species charge (in units of fundamental charge)",
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=>" ion mass (in units of proton mass)",
304
- :help=>" ion mass (in units of proton mass)",
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=>[2.0]},
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=>[2]},
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=>[3]},
331
+ :autoscanned_defaults=>[-1]},
359
332
  :mimp=>
360
333
  {:should_include=>"true",
361
- :description=>" main impurity mass (in units of proton mass)",
362
- :help=>" main impurity mass (in units of proton mass)",
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=>[12.0]},
344
+ :autoscanned_defaults=>[-1.0]},
370
345
  :zimp=>
371
346
  {:should_include=>"true",
372
- :description=>" main impurity charge number",
373
- :help=>" main impurity charge number",
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=>[6.0]}}},
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 ifspppl runs",
916
- :help=>" number of initial ifspppl runs",
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=>" for gryfx, number of avail gpus",
926
- :help=>" for gryfx, number of avail gpus",
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
- "Name of the netcdf output file that contains the fluxes to be read.",
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=>[0.0, 4.0]},
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=>nil,
1107
- :help=>nil,
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}}}}
@@ -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
- setup_chease if uses_chease?
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.7.11 ruby lib
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.7.11"
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-07-30"
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.7.11
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-07-30 00:00:00.000000000 Z
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