trinitycrmod 0.8.7 → 0.8.8
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 +4 -4
- data/VERSION +1 -1
- data/lib/trinitycrmod/chease.rb +8 -2
- data/lib/trinitycrmod/deleted_variables.rb +0 -11
- data/lib/trinitycrmod/graphs.rb +1 -1
- data/lib/trinitycrmod/namelists.rb +57 -24
- data/lib/trinitycrmod/output_files.rb +5 -3
- data/lib/trinitycrmod/read_netcdf.rb +4 -1
- data/lib/trinitycrmod/trinity.rb +40 -17
- data/trinitycrmod.gemspec +4 -4
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bc8d7d9cf9529283fc52bceac1cab24670502094
|
4
|
+
data.tar.gz: acf2a208a53b90eed4e1abe25e679fd08f2f4408
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e2c24f3684d4a53bb37561177a1a7f4689b17ab3641e9de9aff536822253df5fcf78ce12a29e6563787505b0aefb596605d26b7e09decb945ac6ceef0cc24b97
|
7
|
+
data.tar.gz: 510cac280af8ffbb5af6885a2b76d3a6afeb43e81a57da7137071d0d063de6d5fbe052422fd10d5cbaad708d0bc61f1db8bb30823905ee1b266fb3fd8a5026bf
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.8.
|
1
|
+
0.8.8
|
data/lib/trinitycrmod/chease.rb
CHANGED
@@ -16,12 +16,18 @@ class CodeRunner::Trinity
|
|
16
16
|
FileUtils.cp_r(@gs_folder, 'chease')
|
17
17
|
chrun = chease_run
|
18
18
|
chrun.neqdsk = 0 # Use EXPEQ
|
19
|
-
chrun.nsurf = 6
|
19
|
+
chrun.nsurf = 6 # Outer surface from EXPEQ
|
20
20
|
puts ['chrun2', chrun.nsurf]
|
21
21
|
chrun.nppfun = 4 # Pres profile from EXPEQ
|
22
22
|
chrun.nfunc = 4 # Current func
|
23
23
|
chrun.nopt = -1 # Use prev soln for initial
|
24
|
-
|
24
|
+
chrun.nblopt = 0 # Don't modify the pressure profile
|
25
|
+
Dir.chdir(@directory + '/chease/'){
|
26
|
+
chrun.write_input_file
|
27
|
+
FileUtils.cp('NOUT', 'NIN')
|
28
|
+
}
|
29
|
+
elsif @gs_folder
|
30
|
+
FileUtils.cp_r(@gs_folder, 'chease')
|
25
31
|
else
|
26
32
|
FileUtils.mkdir('chease') unless FileTest.exist? 'chease'
|
27
33
|
origfile = @runner.root_folder + '/ogyropsi.dat'
|
@@ -116,17 +116,6 @@
|
|
116
116
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
117
117
|
:type=>:Float,
|
118
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
119
|
:powerin=>
|
131
120
|
{:should_include=>"true",
|
132
121
|
:description=>nil,
|
data/lib/trinitycrmod/graphs.rb
CHANGED
@@ -191,7 +191,7 @@ class CodeRunner::Trinity
|
|
191
191
|
# This is the hook that is called by CodeRunner, providing the
|
192
192
|
# graphkit with the given name and functions to the CodeRunner framework
|
193
193
|
def graphkit(name, options)
|
194
|
-
|
194
|
+
NetcdfSmartReader.dimensions.map{|d| d.to_sym}.each do |var|
|
195
195
|
#ep 'index', var
|
196
196
|
if options[var].class == Symbol and options[var] == :all
|
197
197
|
options[var] = list(var).values
|
@@ -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=>["
|
14
|
+
:autoscanned_defaults=>["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.
|
46
|
+
:autoscanned_defaults=>[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=>[
|
56
|
+
:autoscanned_defaults=>[9]},
|
57
57
|
:bt_in=>
|
58
58
|
{:should_include=>"true",
|
59
59
|
:description=>
|
@@ -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=>["
|
179
|
+
:autoscanned_defaults=>["default"]},
|
180
180
|
:phia_in=>
|
181
181
|
{:should_include=>"true",
|
182
182
|
:description=>
|
@@ -289,7 +289,7 @@
|
|
289
289
|
:explanation=>
|
290
290
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
291
291
|
:type=>:Float,
|
292
|
-
:autoscanned_defaults=>[-1.0
|
292
|
+
:autoscanned_defaults=>[-1.0]},
|
293
293
|
:mi=>
|
294
294
|
{:should_include=>"true",
|
295
295
|
:description=>
|
@@ -302,7 +302,7 @@
|
|
302
302
|
:explanation=>
|
303
303
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
304
304
|
:type=>:Float,
|
305
|
-
:autoscanned_defaults=>[-1.0
|
305
|
+
:autoscanned_defaults=>[-1.0]},
|
306
306
|
:zeff_in=>
|
307
307
|
{:should_include=>"true",
|
308
308
|
:description=>" effective charge",
|
@@ -478,7 +478,7 @@
|
|
478
478
|
[{:test=>"kind_of? Integer",
|
479
479
|
:explanation=>"This variable must be an integer."}],
|
480
480
|
:type=>:Integer,
|
481
|
-
:autoscanned_defaults=>[
|
481
|
+
:autoscanned_defaults=>[20]},
|
482
482
|
:niter=>
|
483
483
|
{:should_include=>"true",
|
484
484
|
:description=>" max number of newton iterations per time step",
|
@@ -499,7 +499,7 @@
|
|
499
499
|
:explanation=>
|
500
500
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
501
501
|
:type=>:Float,
|
502
|
-
:autoscanned_defaults=>[0.01
|
502
|
+
:autoscanned_defaults=>[0.01]},
|
503
503
|
:ntdelt_max=>
|
504
504
|
{:should_include=>"true",
|
505
505
|
:description=>" maximum size of transport time step",
|
@@ -533,7 +533,7 @@
|
|
533
533
|
:explanation=>
|
534
534
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
535
535
|
:type=>:Float,
|
536
|
-
:autoscanned_defaults=>[0.2
|
536
|
+
:autoscanned_defaults=>[0.2]},
|
537
537
|
:errflr=>
|
538
538
|
{:should_include=>"true",
|
539
539
|
:description=>" relative error below which we stop iterating",
|
@@ -544,7 +544,7 @@
|
|
544
544
|
:explanation=>
|
545
545
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
546
546
|
:type=>:Float,
|
547
|
-
:autoscanned_defaults=>[0.005
|
547
|
+
:autoscanned_defaults=>[0.005]},
|
548
548
|
:flrfac=>
|
549
549
|
{:should_include=>"true",
|
550
550
|
:description=>
|
@@ -557,7 +557,7 @@
|
|
557
557
|
:explanation=>
|
558
558
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
559
559
|
:type=>:Float,
|
560
|
-
:autoscanned_defaults=>[
|
560
|
+
:autoscanned_defaults=>[2.0]},
|
561
561
|
:nensembles=>
|
562
562
|
{:should_include=>"true",
|
563
563
|
:description=>
|
@@ -568,7 +568,18 @@
|
|
568
568
|
[{:test=>"kind_of? Integer",
|
569
569
|
:explanation=>"This variable must be an integer."}],
|
570
570
|
:type=>:Integer,
|
571
|
-
:autoscanned_defaults=>[1]}
|
571
|
+
:autoscanned_defaults=>[1]},
|
572
|
+
:convergetol=>
|
573
|
+
{:should_include=>"true",
|
574
|
+
:description=>" convergence tolerance when seeking steady state",
|
575
|
+
:help=>" convergence tolerance when seeking steady state",
|
576
|
+
:code_name=>:convergetol,
|
577
|
+
:must_pass=>
|
578
|
+
[{:test=>"kind_of? Numeric",
|
579
|
+
:explanation=>
|
580
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
581
|
+
:type=>:Float,
|
582
|
+
:autoscanned_defaults=>[-1.0]}}},
|
572
583
|
:fluxes=>
|
573
584
|
{:description=>"",
|
574
585
|
:should_include=>"true",
|
@@ -582,7 +593,7 @@
|
|
582
593
|
[{:test=>"kind_of? String",
|
583
594
|
:explanation=>"This variable must be a string."}],
|
584
595
|
:type=>:String,
|
585
|
-
:autoscanned_defaults=>["default"
|
596
|
+
:autoscanned_defaults=>["default"]},
|
586
597
|
:flxmult=>
|
587
598
|
{:should_include=>"true",
|
588
599
|
:description=>" coefficient multiplying fluxes (for testing)",
|
@@ -659,7 +670,7 @@
|
|
659
670
|
:explanation=>
|
660
671
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
661
672
|
:type=>:Float,
|
662
|
-
:autoscanned_defaults=>[0.1
|
673
|
+
:autoscanned_defaults=>[0.1]},
|
663
674
|
:dtprim=>
|
664
675
|
{:should_include=>"true",
|
665
676
|
:description=>" step size for R/LT is R/LT * dtprim",
|
@@ -670,7 +681,7 @@
|
|
670
681
|
:explanation=>
|
671
682
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
672
683
|
:type=>:Float,
|
673
|
-
:autoscanned_defaults=>[0.1
|
684
|
+
:autoscanned_defaults=>[0.1]},
|
674
685
|
:dgexb=>
|
675
686
|
{:should_include=>"true",
|
676
687
|
:description=>" step size for gexb is gexb * dgexb",
|
@@ -714,7 +725,7 @@
|
|
714
725
|
:explanation=>
|
715
726
|
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
716
727
|
:type=>:Fortran_Bool,
|
717
|
-
:autoscanned_defaults=>[".false."
|
728
|
+
:autoscanned_defaults=>[".false."]},
|
718
729
|
:dflx_stencil=>
|
719
730
|
{:should_include=>"true",
|
720
731
|
:description=>" number of fluxes to use for flux derivatives",
|
@@ -1085,7 +1096,7 @@
|
|
1085
1096
|
[{:test=>"kind_of? String",
|
1086
1097
|
:explanation=>"This variable must be a string."}],
|
1087
1098
|
:type=>:String,
|
1088
|
-
:autoscanned_defaults=>["
|
1099
|
+
:autoscanned_defaults=>["default"]},
|
1089
1100
|
:init_file=>
|
1090
1101
|
{:should_include=>"true",
|
1091
1102
|
:description=>" file with input data",
|
@@ -1209,6 +1220,18 @@
|
|
1209
1220
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
1210
1221
|
:type=>:Float,
|
1211
1222
|
:autoscanned_defaults=>[0.0]},
|
1223
|
+
:restart_file=>
|
1224
|
+
{:should_include=>"true",
|
1225
|
+
:description=>
|
1226
|
+
"Netcdf file with restart data (gradually replacing old restart files).",
|
1227
|
+
:help=>
|
1228
|
+
"Netcdf file with restart data (gradually replacing old restart files).",
|
1229
|
+
:code_name=>:restart_file,
|
1230
|
+
:must_pass=>
|
1231
|
+
[{:test=>"kind_of? String",
|
1232
|
+
:explanation=>"This variable must be a string."}],
|
1233
|
+
:type=>:String,
|
1234
|
+
:autoscanned_defaults=>[""]},
|
1212
1235
|
:iternt_file=>
|
1213
1236
|
{:should_include=>"true",
|
1214
1237
|
:description=>
|
@@ -1335,7 +1358,17 @@
|
|
1335
1358
|
:explanation=>
|
1336
1359
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
1337
1360
|
:type=>:Float,
|
1338
|
-
:autoscanned_defaults=>[-1.0]}
|
1361
|
+
:autoscanned_defaults=>[-1.0]},
|
1362
|
+
:density_boost=>
|
1363
|
+
{:should_include=>"true",
|
1364
|
+
:description=>"Increase initial density at constant pressure.",
|
1365
|
+
:help=>"Increase initial density at constant pressure.",
|
1366
|
+
:code_name=>:density_boost,
|
1367
|
+
:must_pass=>
|
1368
|
+
[{:test=>"kind_of? Numeric",
|
1369
|
+
:explanation=>
|
1370
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
1371
|
+
:type=>:Float}}},
|
1339
1372
|
:sources=>
|
1340
1373
|
{:description=>"",
|
1341
1374
|
:should_include=>"true",
|
@@ -1349,7 +1382,7 @@
|
|
1349
1382
|
[{:test=>"kind_of? String",
|
1350
1383
|
:explanation=>"This variable must be a string."}],
|
1351
1384
|
:type=>:String,
|
1352
|
-
:autoscanned_defaults=>["
|
1385
|
+
:autoscanned_defaults=>["default"]},
|
1353
1386
|
:source_file=>
|
1354
1387
|
{:should_include=>"true",
|
1355
1388
|
:description=>" file with input data",
|
@@ -1438,7 +1471,7 @@
|
|
1438
1471
|
:explanation=>
|
1439
1472
|
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1440
1473
|
:type=>:Fortran_Bool,
|
1441
|
-
:autoscanned_defaults=>[".
|
1474
|
+
:autoscanned_defaults=>[".true."]},
|
1442
1475
|
:include_radiation=>
|
1443
1476
|
{:should_include=>"true",
|
1444
1477
|
:description=>" include bremstrahlung radiation",
|
@@ -1449,7 +1482,7 @@
|
|
1449
1482
|
:explanation=>
|
1450
1483
|
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1451
1484
|
:type=>:Fortran_Bool,
|
1452
|
-
:autoscanned_defaults=>[".
|
1485
|
+
:autoscanned_defaults=>[".true."]},
|
1453
1486
|
:pioq=>
|
1454
1487
|
{:should_include=>"true",
|
1455
1488
|
:description=>" ratio of momentum to heat input",
|
@@ -1634,7 +1667,7 @@
|
|
1634
1667
|
:explanation=>
|
1635
1668
|
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1636
1669
|
:type=>:Fortran_Bool,
|
1637
|
-
:autoscanned_defaults=>[".
|
1670
|
+
:autoscanned_defaults=>[".true."]},
|
1638
1671
|
:temp_equil=>
|
1639
1672
|
{:should_include=>"true",
|
1640
1673
|
:description=>" set to false to neglect temperature equilibration",
|
@@ -1645,7 +1678,7 @@
|
|
1645
1678
|
:explanation=>
|
1646
1679
|
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1647
1680
|
:type=>:Fortran_Bool,
|
1648
|
-
:autoscanned_defaults=>[".
|
1681
|
+
:autoscanned_defaults=>[".true."]},
|
1649
1682
|
:turb_heat=>
|
1650
1683
|
{:should_include=>"true",
|
1651
1684
|
:description=>" set to false to neglect turbulent heating",
|
@@ -1656,7 +1689,7 @@
|
|
1656
1689
|
:explanation=>
|
1657
1690
|
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1658
1691
|
:type=>:Fortran_Bool,
|
1659
|
-
:autoscanned_defaults=>[".
|
1692
|
+
:autoscanned_defaults=>[".true."]},
|
1660
1693
|
:numult=>
|
1661
1694
|
{:should_include=>"true",
|
1662
1695
|
:description=>" multiplier of collision frequency for testing",
|
@@ -67,10 +67,12 @@ class CodeRunner
|
|
67
67
|
# :rho
|
68
68
|
# :rho_cc
|
69
69
|
def list(var)
|
70
|
-
case var
|
71
|
-
when
|
70
|
+
case var.to_s
|
71
|
+
when *NetcdfSmartReader.dimensions
|
72
72
|
hash = {}
|
73
|
-
get_2d_array_float(:nt, /1:\s+time/, /1:\s+time/).map{|arr| arr[0]}.each_with_index{|t,i| hash[i+1] = t}
|
73
|
+
#get_2d_array_float(:nt, /1:\s+time/, /1:\s+time/).map{|arr| arr[0]}.each_with_index{|t,i| hash[i+1] = t}
|
74
|
+
ax = netcdf_smart_reader.axiskit(var.to_s, {})
|
75
|
+
ax.data.to_a.each_with_index{|v,i| hash[i+1] = v}
|
74
76
|
hash
|
75
77
|
end
|
76
78
|
end
|
@@ -98,6 +98,9 @@ class NetcdfSmartReader
|
|
98
98
|
return -1
|
99
99
|
end
|
100
100
|
end
|
101
|
+
def self.dimensions
|
102
|
+
['t','tspec', 'iter', 'rad', 'cc', 'mrow', 'mcol', 'ivar', 'jac', 'grad', 'eval', 'cegrid']
|
103
|
+
end
|
101
104
|
|
102
105
|
def axiskit(variable, options)
|
103
106
|
case variable
|
@@ -108,7 +111,7 @@ class NetcdfSmartReader
|
|
108
111
|
end
|
109
112
|
def dimension_variable_name(n)
|
110
113
|
case n
|
111
|
-
when
|
114
|
+
when *self.class.dimensions
|
112
115
|
n
|
113
116
|
else
|
114
117
|
raise "Unknown dimension #{n}"
|
data/lib/trinitycrmod/trinity.rb
CHANGED
@@ -57,6 +57,7 @@ class CodeRunner
|
|
57
57
|
:te95,
|
58
58
|
:omega0,
|
59
59
|
:omega95,
|
60
|
+
:plasma_volume,
|
60
61
|
:wth
|
61
62
|
]
|
62
63
|
|
@@ -121,6 +122,7 @@ class CodeRunner
|
|
121
122
|
new_run.iternt_file = @run_name + ".iternt"
|
122
123
|
new_run.iterflx_file = @run_name + ".iterflx"
|
123
124
|
new_run.itercalib_file = @run_name + ".itercalib"
|
125
|
+
new_run.restart_file = @run_name + ".out.nc"
|
124
126
|
new_run.init_file = @run_name + ".tmp"
|
125
127
|
@runner.nprocs = @nprocs if @runner.nprocs == "1" # 1 is the default so this means the user probably didn't specify nprocs
|
126
128
|
# This is unnecessary for single restart file.
|
@@ -136,8 +138,8 @@ class CodeRunner
|
|
136
138
|
new_run.run_name += '_t'
|
137
139
|
eputs 'Copying Trinity Restart files', ''
|
138
140
|
#system "ls #@directory"
|
139
|
-
['iternt', 'iterflx', 'tmp', 'itercalib'].each do |ext|
|
140
|
-
next if
|
141
|
+
['iternt', 'iterflx', 'tmp', 'itercalib', 'out.nc'].each do |ext|
|
142
|
+
next if ['itercalib', 'out.nc'].include? ext and not FileTest.exist?("#@directory/#@run_name.#{ext}")
|
141
143
|
# Unlike gs2, trinity always uses the current run name to generate the
|
142
144
|
# restart files. Thus, the name of the restart files changes with every
|
143
145
|
# run.
|
@@ -381,9 +383,16 @@ class CodeRunner
|
|
381
383
|
|
382
384
|
def generate_component_runs
|
383
385
|
#puts "HERE"
|
384
|
-
|
385
|
-
|
386
|
-
|
386
|
+
#<<<<<<< HEAD
|
387
|
+
@component_runs ||= []
|
388
|
+
if @running
|
389
|
+
if (existing = @runner.component_run_list.values.find_all{|r| r.real_id==@id}).size > 0
|
390
|
+
@component_runs = existing.sort_by{|r| -r.id}
|
391
|
+
#=======
|
392
|
+
#if (existing = @runner.component_run_list.values.find_all{|r| r.real_id==@id}).size > 0
|
393
|
+
#@component_runs = existing.sort_by{|r| -r.id}
|
394
|
+
#if @running
|
395
|
+
#>>>>>>> 90ef5ae701681b63da68f6eb1bd1ec1169873f8b
|
387
396
|
return
|
388
397
|
end
|
389
398
|
end
|
@@ -459,7 +468,7 @@ class CodeRunner
|
|
459
468
|
get_status
|
460
469
|
#p ['id is', id, 'ctd is ', ctd]
|
461
470
|
if ctd
|
462
|
-
|
471
|
+
get_global_results rescue nil
|
463
472
|
end
|
464
473
|
#p ['fusionQ is ', fusionQ]
|
465
474
|
@percent_complete = completed_timesteps.to_f / ntstep.to_f * 100.0
|
@@ -497,17 +506,31 @@ class CodeRunner
|
|
497
506
|
|
498
507
|
|
499
508
|
def get_global_results
|
500
|
-
|
501
|
-
|
502
|
-
|
503
|
-
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
|
508
|
-
|
509
|
-
|
510
|
-
|
509
|
+
if FileTest.exist? new_netcdf_filename
|
510
|
+
@plasma_volume = new_netcdf_file.var('plasma_volume').get[-1]
|
511
|
+
@pfus = new_netcdf_file.var('fusion_power').get[-1]
|
512
|
+
@fusionQ = new_netcdf_file.var('fusion_gain').get[-1]
|
513
|
+
@pnet = new_netcdf_file.var('net_power').get[-1]
|
514
|
+
@alpha_power = new_netcdf_file.var('alpha_power_total').get[-1]
|
515
|
+
@aux_power = new_netcdf_file.var('aux_power_total').get[-1]
|
516
|
+
@rad_power = new_netcdf_file.var('radiate_power_total').get[-1]
|
517
|
+
@ne0 = new_netcdf_file.var('ne_core').get[-1]
|
518
|
+
@te0 = new_netcdf_file.var('te_core').get[-1]
|
519
|
+
@ti0 = new_netcdf_file.var('ti_core').get[-1]
|
520
|
+
@omega0 = new_netcdf_file.var('omega_core').get[-1]
|
521
|
+
else
|
522
|
+
# If the netcdf file is missing try the info file
|
523
|
+
@fusionQ = info_outfile.get_variable_value('Q').to_f
|
524
|
+
@pfus = info_outfile.get_variable_value(/fusion\s+power/i).to_f
|
525
|
+
@pnet = info_outfile.get_variable_value(/net\s+power/i).to_f
|
526
|
+
@aux_power = info_outfile.get_variable_value(/aux.*\s+power/i).to_f
|
527
|
+
@alpha_power = info_outfile.get_variable_value(/alpha\s+power/i).to_f
|
528
|
+
@rad_power = info_outfile.get_variable_value(/radiated\s+power/i).to_f
|
529
|
+
@ne0 = info_outfile.get_variable_value(/core\s+density|Core\s+electron\s+density/i).to_f
|
530
|
+
@ti0 = info_outfile.get_variable_value(/[Cc]ore\s+T_i/i).to_f
|
531
|
+
@te0 = info_outfile.get_variable_value(/[Cc]ore\s+T_e/i).to_f
|
532
|
+
@omega0 = info_outfile.get_variable_value(/[Cc]ore\s+omega/i).to_f rescue 0.0 # Old info files don't have omega
|
533
|
+
end
|
511
534
|
end
|
512
535
|
|
513
536
|
def self.get_input_help_from_source_code(source_folder)
|
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.8.
|
5
|
+
# stub: trinitycrmod 0.8.8 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "trinitycrmod"
|
9
|
-
s.version = "0.8.
|
9
|
+
s.version = "0.8.8"
|
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 = "
|
14
|
+
s.date = "2016-02-29"
|
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 = [
|
@@ -45,7 +45,7 @@ Gem::Specification.new do |s|
|
|
45
45
|
]
|
46
46
|
s.homepage = "http://github.com/edmundhighcock/trinitycrmod"
|
47
47
|
s.licenses = ["GPLv3"]
|
48
|
-
s.rubygems_version = "2.
|
48
|
+
s.rubygems_version = "2.2.0"
|
49
49
|
s.summary = "CodeRunner module for the Trinity simulation software."
|
50
50
|
|
51
51
|
if s.respond_to? :specification_version then
|
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.8.
|
4
|
+
version: 0.8.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Edmund Highcock
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-02-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: coderunner
|
@@ -203,7 +203,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
203
203
|
version: '0'
|
204
204
|
requirements: []
|
205
205
|
rubyforge_project:
|
206
|
-
rubygems_version: 2.
|
206
|
+
rubygems_version: 2.2.0
|
207
207
|
signing_key:
|
208
208
|
specification_version: 4
|
209
209
|
summary: CodeRunner module for the Trinity simulation software.
|