trinitycrmod 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.document +5 -0
- data/Gemfile +14 -0
- data/LICENSE.txt +20 -0
- data/README.rdoc +19 -0
- data/Rakefile +60 -0
- data/VERSION +1 -0
- data/lib/trinitycrmod/deleted_variables.rb +1 -0
- data/lib/trinitycrmod/namelists.rb +1262 -0
- data/lib/trinitycrmod/output_files.rb +18 -0
- data/lib/trinitycrmod/trinity.rb +216 -0
- data/lib/trinitycrmod.rb +1 -0
- data/sync_variables/helper.rb +18 -0
- data/sync_variables/sync_variables.rb +6 -0
- data/test/helper.rb +18 -0
- data/test/ifspppl/test.trin +57 -0
- data/test/ifspppl_results/v/id_1.tgz +0 -0
- data/test/test_trinitycrmod.rb +46 -0
- metadata +165 -0
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'text-data-tools'
|
2
|
+
|
3
|
+
class CodeRunner
|
4
|
+
class Trinity
|
5
|
+
# this module provides easy access to the Trinity textbased output data
|
6
|
+
# by defining a TextDataFile for every text output file. See the documentation
|
7
|
+
# for TextDataTools for more information.
|
8
|
+
module OutputFiles
|
9
|
+
def info_outfile
|
10
|
+
TextDataTools::Named::DataFile.new(@directory + '/' + @run_name + '.info', ':')
|
11
|
+
end
|
12
|
+
def time_outfile
|
13
|
+
TextDataTools::Column::DataFile.new(@directory + '/' + @run_name + '.time', true, /\S+/, /\w+/)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
include OutputFiles
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,216 @@
|
|
1
|
+
require 'coderunner'
|
2
|
+
require 'text-data-tools'
|
3
|
+
|
4
|
+
class CodeRunner
|
5
|
+
# This is a customised subclass of the CodeRunner::Run class which allows CodeRunner to run and analyse the multiscale gyrokinetic turbulent transport solver Trinity.
|
6
|
+
#
|
7
|
+
# It generates the Trinity input file, and both analyses the results and allows easy plotting of them. It also interfaces with the GS2 CodeRunner module to allow analysis of the individual GS2 results if GS2 is being used as the flux code.
|
8
|
+
class Trinity < Run::FortranNamelist
|
9
|
+
#include CodeRunner::SYSTEM_MODULE
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
# Where this file is
|
14
|
+
@code_module_folder = folder = File.dirname(File.expand_path(__FILE__)) # i.e. the directory this file is in
|
15
|
+
|
16
|
+
# Use the Run::FortranNamelist tools to process the variable database
|
17
|
+
setup_namelists(@code_module_folder)
|
18
|
+
require 'trinitycrmod/output_files'
|
19
|
+
|
20
|
+
################################################
|
21
|
+
# Quantities that are read or determined by CodeRunner
|
22
|
+
# after the simulation has ended
|
23
|
+
###################################################
|
24
|
+
|
25
|
+
@results = [
|
26
|
+
:pfus,
|
27
|
+
:fusionQ,
|
28
|
+
:pnet,
|
29
|
+
:alpha_power,
|
30
|
+
:aux_power,
|
31
|
+
:rad_power,
|
32
|
+
:ne0,
|
33
|
+
:ne95,
|
34
|
+
:ti0,
|
35
|
+
:ti95,
|
36
|
+
:te0,
|
37
|
+
:te95,
|
38
|
+
:omega0,
|
39
|
+
:omega95,
|
40
|
+
:wth
|
41
|
+
]
|
42
|
+
|
43
|
+
@code_long="Trinity Turbulent Transport Solver"
|
44
|
+
|
45
|
+
@run_info=[:time, :is_a_restart, :restart_id, :restart_run_name, :completed_timesteps, :percent_complete]
|
46
|
+
|
47
|
+
@uses_mpi = true
|
48
|
+
|
49
|
+
@modlet_required = false
|
50
|
+
|
51
|
+
@naming_pars = []
|
52
|
+
|
53
|
+
# Any folders which are a number will contain the results from flux simulations.
|
54
|
+
@excluded_sub_folders = (1...1000).to_a.map{|i| i.to_s}
|
55
|
+
|
56
|
+
# A hook which gets called when printing the standard run information to the screen using the status command.
|
57
|
+
def print_out_line
|
58
|
+
#p ['id', id, 'ctd', ctd]
|
59
|
+
#p rcp.results.zip(rcp.results.map{|r| send(r)})
|
60
|
+
name = @run_name
|
61
|
+
name += " (res: #@restart_id)" if @restart_id
|
62
|
+
name += " real_id: #@real_id" if @real_id
|
63
|
+
beginning = sprintf("%2d:%d %-60s %1s:%2.1f(%s) %3s%1s", @id, @job_no, name, @status.to_s[0,1], @run_time.to_f / 60.0, @nprocs.to_s, percent_complete, "%")
|
64
|
+
if ctd
|
65
|
+
beginning += sprintf("Q:%f, Pfusion:%f MW, Ti0:%f keV, Te0:%f keV, n0:%f x10^20", fusionQ, pfus, ti0, te0, ne0)
|
66
|
+
end
|
67
|
+
beginning += " ---#{@comment}" if @comment
|
68
|
+
beginning
|
69
|
+
end
|
70
|
+
|
71
|
+
|
72
|
+
# This is a hook which gets called just before submitting a simulation. It sets up the folder and generates any necessary input files.
|
73
|
+
def generate_input_file
|
74
|
+
write_input_file
|
75
|
+
end
|
76
|
+
|
77
|
+
# This command uses the infrastructure provided by Run::FortranNamelist, provided by CodeRunner itself.
|
78
|
+
def write_input_file
|
79
|
+
File.open(@run_name + ".trin", 'w'){|file| file.puts input_file_text}
|
80
|
+
end
|
81
|
+
|
82
|
+
# Parameters which follow the Trinity executable, in this case just the input file.
|
83
|
+
def parameter_string
|
84
|
+
@run_name + ".trin"
|
85
|
+
end
|
86
|
+
|
87
|
+
def parameter_transition
|
88
|
+
end
|
89
|
+
|
90
|
+
|
91
|
+
@source_code_subfolders = []
|
92
|
+
|
93
|
+
# This method, as its name suggests, is called whenever CodeRunner is asked to analyse a run directory. This happens if the run status is not :Complete, or if the user has specified recalc_all(-A on the command line) or reprocess_all (-a on the command line).
|
94
|
+
#
|
95
|
+
def process_directory_code_specific
|
96
|
+
get_status
|
97
|
+
#p ['id is', id, 'ctd is ', ctd]
|
98
|
+
if ctd
|
99
|
+
get_global_results
|
100
|
+
end
|
101
|
+
#p ['fusionQ is ', fusionQ]
|
102
|
+
@percent_complete = nil
|
103
|
+
end
|
104
|
+
|
105
|
+
def get_status
|
106
|
+
if @running
|
107
|
+
get_completed_timesteps
|
108
|
+
if completed_timesteps == 0
|
109
|
+
@status = :NotStarted
|
110
|
+
else
|
111
|
+
@status = :Incomplete
|
112
|
+
end
|
113
|
+
else
|
114
|
+
get_completed_timesteps
|
115
|
+
if File.read(output_file) =~/trinity\s+finished/i
|
116
|
+
@status = :Complete
|
117
|
+
else
|
118
|
+
@status = :Failed
|
119
|
+
end
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
123
|
+
def get_completed_timesteps
|
124
|
+
Dir.chdir(@directory) do
|
125
|
+
completed_timesteps = time_outfile.exists? ?
|
126
|
+
time_outfile.get_1d_array_integer(/itstep/).max :
|
127
|
+
0
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
131
|
+
def get_global_results
|
132
|
+
@fusionQ = info_outfile.get_variable_value('Q').to_f
|
133
|
+
@pfus = info_outfile.get_variable_value(/fusion\s+power/i).to_f
|
134
|
+
@pnet = info_outfile.get_variable_value(/net\s+power/i).to_f
|
135
|
+
@aux_power = info_outfile.get_variable_value(/aux.*\s+power/i).to_f
|
136
|
+
@alpha_power = info_outfile.get_variable_value(/alpha\s+power/i).to_f
|
137
|
+
@rad_power = info_outfile.get_variable_value(/radiated\s+power/i).to_f
|
138
|
+
@ne0 = info_outfile.get_variable_value(/core\s+density/i).to_f
|
139
|
+
@ti0 = info_outfile.get_variable_value(/core\s+T_i/i).to_f
|
140
|
+
@te0 = info_outfile.get_variable_value(/core\s+T_e/i).to_f
|
141
|
+
@omega0 = info_outfile.get_variable_value(/core\s+omega/i).to_f
|
142
|
+
#p 'send(fusionQ)', send(:fusionQ)
|
143
|
+
end
|
144
|
+
|
145
|
+
def self.get_input_help_from_source_code(source_folder)
|
146
|
+
source = get_aggregated_source_code_text(source_folder)
|
147
|
+
rcp.namelists.each do |nmlst, hash|
|
148
|
+
hash[:variables].each do |var, var_hash|
|
149
|
+
|
150
|
+
# next unless var == :w_antenna
|
151
|
+
var = var_hash[:code_name] || var
|
152
|
+
values_text = source.scan(Regexp.new("\\W#{var}\\s*=\\s*.+")).join("\n")
|
153
|
+
ep values_text
|
154
|
+
values = scan_text_for_variables(values_text).map{|(v,val)| val}
|
155
|
+
values.uniq!
|
156
|
+
# ep values if var == :nbeta
|
157
|
+
values.delete_if{|val| val.kind_of? String} if values.find{|val| val.kind_of? Numeric}
|
158
|
+
values.delete_if{|val| val.kind_of? String and not String::FORTRAN_BOOLS.include? val} if values.find{|val| val.kind_of? String and String::FORTRAN_BOOLS.include? val}
|
159
|
+
# values.sort!
|
160
|
+
# ep var
|
161
|
+
# ep values
|
162
|
+
sample_val = values[0]
|
163
|
+
p sample_val
|
164
|
+
help = values_text.scan(/ !(.*)/).flatten[0]
|
165
|
+
p help
|
166
|
+
#gets
|
167
|
+
var_hash[:help] = help
|
168
|
+
var_hash[:description] = help
|
169
|
+
save_namelists
|
170
|
+
|
171
|
+
end
|
172
|
+
end
|
173
|
+
end
|
174
|
+
|
175
|
+
def input_file_header
|
176
|
+
<<EOF
|
177
|
+
!==============================================================================
|
178
|
+
! Trinity INPUT FILE automatically generated by CodeRunner
|
179
|
+
!==============================================================================
|
180
|
+
!
|
181
|
+
! Trinity is a multiscale turbulent transport code for fusion plasmas.
|
182
|
+
!
|
183
|
+
! See http://gyrokinetics.sourceforge.net
|
184
|
+
!
|
185
|
+
! CodeRunner is a framework for the automated running and analysis
|
186
|
+
! of large simulations.
|
187
|
+
!
|
188
|
+
! See http://coderunner.sourceforge.net
|
189
|
+
!
|
190
|
+
! Created on #{Time.now.to_s}
|
191
|
+
! by CodeRunner version #{CodeRunner::CODE_RUNNER_VERSION.to_s}
|
192
|
+
!
|
193
|
+
!==============================================================================
|
194
|
+
|
195
|
+
EOF
|
196
|
+
end
|
197
|
+
def self.defaults_file_header
|
198
|
+
<<EOF1
|
199
|
+
############################################################################
|
200
|
+
# #
|
201
|
+
# Automatically generated defaults file for the Trinity CodeRunner module #
|
202
|
+
# #
|
203
|
+
# This defaults file specifies a set of defaults for Trinity which are #
|
204
|
+
# used by CodeRunner to set up and run Trinity simulations. #
|
205
|
+
# #
|
206
|
+
############################################################################
|
207
|
+
|
208
|
+
# Created: #{Time.now.to_s}
|
209
|
+
|
210
|
+
@defaults_file_description = ""
|
211
|
+
EOF1
|
212
|
+
end
|
213
|
+
|
214
|
+
end
|
215
|
+
end
|
216
|
+
|
data/lib/trinitycrmod.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'trinitycrmod/trinity'
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bundler'
|
3
|
+
begin
|
4
|
+
Bundler.setup(:default, :development)
|
5
|
+
rescue Bundler::BundlerError => e
|
6
|
+
$stderr.puts e.message
|
7
|
+
$stderr.puts "Run `bundle install` to install missing gems"
|
8
|
+
exit e.status_code
|
9
|
+
end
|
10
|
+
require 'test/unit'
|
11
|
+
require 'shoulda'
|
12
|
+
|
13
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
14
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
15
|
+
require 'coderunner'
|
16
|
+
|
17
|
+
class Test::Unit::TestCase
|
18
|
+
end
|
@@ -0,0 +1,6 @@
|
|
1
|
+
require 'helper'
|
2
|
+
CodeRunner.setup_run_class('trinity')
|
3
|
+
#CodeRunner::Trinity.get_input_help_from_source_code(ENV['TRINITY_SOURCE'])
|
4
|
+
CodeRunner::Trinity.update_defaults_from_source_code(ENV['TRINITY_SOURCE'])
|
5
|
+
CodeRunner::Trinity.synchronise_variables(ENV['TRINITY_SOURCE'])
|
6
|
+
|
data/test/helper.rb
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bundler'
|
3
|
+
begin
|
4
|
+
Bundler.setup(:default, :development)
|
5
|
+
rescue Bundler::BundlerError => e
|
6
|
+
$stderr.puts e.message
|
7
|
+
$stderr.puts "Run `bundle install` to install missing gems"
|
8
|
+
exit e.status_code
|
9
|
+
end
|
10
|
+
require 'test/unit'
|
11
|
+
require 'shoulda'
|
12
|
+
|
13
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
14
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
15
|
+
require 'coderunner'
|
16
|
+
|
17
|
+
class Test::Unit::TestCase
|
18
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
|
4
|
+
&geometry
|
5
|
+
geo_option = "iterdb"
|
6
|
+
geo_file = "../../../ifspppl/2d.dat"
|
7
|
+
geo_time = 15.2
|
8
|
+
fluxlabel_option = "aminor"
|
9
|
+
rad_out = 0.85
|
10
|
+
nrad = 9
|
11
|
+
use_external_geo = .false.
|
12
|
+
write_dbinfo = .true.
|
13
|
+
/
|
14
|
+
|
15
|
+
&species
|
16
|
+
species_option = "iterdb"
|
17
|
+
ntspec = 2
|
18
|
+
qi = 1.0
|
19
|
+
mi = 2.5
|
20
|
+
deuterium = 1
|
21
|
+
tritium = 2
|
22
|
+
/
|
23
|
+
|
24
|
+
&time
|
25
|
+
ntstep = 200
|
26
|
+
ntdelt = 0.1
|
27
|
+
impfac = 1.0
|
28
|
+
niter = 1
|
29
|
+
errtol = 0.01
|
30
|
+
errflr = 0.01
|
31
|
+
flrfac = 2.0
|
32
|
+
ntdelt_max = 100.0
|
33
|
+
/
|
34
|
+
|
35
|
+
&fluxes
|
36
|
+
flux_option = "ifspppl"
|
37
|
+
vtfac = 2.0
|
38
|
+
grad_option = "tgrads"
|
39
|
+
fork_flag = .false.
|
40
|
+
/
|
41
|
+
|
42
|
+
&physics
|
43
|
+
include_neo = .true.
|
44
|
+
turb_heat = .false.
|
45
|
+
temp_equil = .true.
|
46
|
+
/
|
47
|
+
|
48
|
+
&sources
|
49
|
+
source_option = "iterdb"
|
50
|
+
write_pwr_profs = .true.
|
51
|
+
include_radiation = .true.
|
52
|
+
include_alphas = .true.
|
53
|
+
/
|
54
|
+
|
55
|
+
&init
|
56
|
+
init_option = "iterdb"
|
57
|
+
/
|
Binary file
|
@@ -0,0 +1,46 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestTrinitycrmodIFSPPPL < Test::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
@runner = CodeRunner.fetch_runner(Y: 'test/ifspppl', C: 'trinity', X: '/dev/null')
|
6
|
+
end
|
7
|
+
def teardown
|
8
|
+
FileUtils.rm('test/ifspppl/.code_runner_script_defaults.rb')
|
9
|
+
FileUtils.rm('test/ifspppl/.CODE_RUNNER_TEMP_RUN_LIST_CACHE')
|
10
|
+
end
|
11
|
+
def test_basics
|
12
|
+
assert_equal(@runner.run_class, CodeRunner::Trinity)
|
13
|
+
end
|
14
|
+
def test_submit
|
15
|
+
@runner.run_class.make_new_defaults_file("rake_test", "test/ifspppl/test.trin")
|
16
|
+
FileUtils.mv('rake_test_defaults.rb', @runner.run_class.rcp.user_defaults_location)
|
17
|
+
CodeRunner.submit(Y: 'test/ifspppl', T: true, D: 'rake_test')
|
18
|
+
base_hash = @runner.run_class.parse_input_file('test/ifspppl/test.trin')
|
19
|
+
test_hash = @runner.run_class.parse_input_file('test/ifspppl/v/id_1/v_id_1.trin')
|
20
|
+
assert_equal(base_hash, test_hash)
|
21
|
+
FileUtils.rm(@runner.run_class.rcp.user_defaults_location + '/rake_test_defaults.rb')
|
22
|
+
FileUtils.rm('test/ifspppl/rake_test_defaults.rb')
|
23
|
+
FileUtils.rm_r('test/ifspppl/v')
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
class TestTrinitycrmodIFSPPPLAnalysis < Test::Unit::TestCase
|
28
|
+
def setup
|
29
|
+
#@runner = CodeRunner.fetch_runner(Y: 'test/ifspppl_results', C: 'trinity', X: '/dev/null')
|
30
|
+
Dir.chdir('test/ifspppl_results/v'){system "tar -xzf id_1.tgz"}
|
31
|
+
@runner = CodeRunner.fetch_runner(Y: 'test/ifspppl_results', C: 'trinity', X: ENV['HOME'] + '/Code/trinity/trunk/trinity', A: true)
|
32
|
+
#@runner.run_class.make_new_defaults_file("rake_test", "test/ifspppl/test.trin")
|
33
|
+
#FileUtils.mv('rake_test_defaults.rb', @runner.run_class.rcp.user_defaults_location)
|
34
|
+
#CodeRunner.submit(Y: 'test/ifspppl_results', D: 'rake_test', n: '1')
|
35
|
+
end
|
36
|
+
def test_analysis
|
37
|
+
CodeRunner.status(Y: 'test/ifspppl_results')
|
38
|
+
assert_equal(@runner.run_list.size, 1)
|
39
|
+
assert_equal(@runner.run_list[1].fusionQ, 0.075658439797815016)
|
40
|
+
end
|
41
|
+
def teardown
|
42
|
+
FileUtils.rm('test/ifspppl_results/.code_runner_script_defaults.rb')
|
43
|
+
FileUtils.rm('test/ifspppl_results/.CODE_RUNNER_TEMP_RUN_LIST_CACHE')
|
44
|
+
FileUtils.rm_r('test/ifspppl_results/v/id_1/')
|
45
|
+
end
|
46
|
+
end
|
metadata
ADDED
@@ -0,0 +1,165 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: trinitycrmod
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Edmund Highcock
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-06-17 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: coderunner
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 0.11.0
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 0.11.0
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: text-data-tools
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: 1.1.1
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 1.1.1
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: shoulda
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: rdoc
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ~>
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '3.12'
|
70
|
+
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '3.12'
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: bundler
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ! '>'
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: 1.0.0
|
86
|
+
type: :development
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>'
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: 1.0.0
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: jeweler
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ! '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: 1.8.4
|
102
|
+
type: :development
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 1.8.4
|
110
|
+
description: This module allows Trinity, the Multiscale Gyrokinetic Turbulent Transport
|
111
|
+
solver for Fusion Reactors, to harness the power of CodeRunner, a framework for
|
112
|
+
the automated running and analysis of simulations.
|
113
|
+
email: edmundhighcock@sourceforge.net
|
114
|
+
executables: []
|
115
|
+
extensions: []
|
116
|
+
extra_rdoc_files:
|
117
|
+
- LICENSE.txt
|
118
|
+
- README.rdoc
|
119
|
+
files:
|
120
|
+
- .document
|
121
|
+
- Gemfile
|
122
|
+
- LICENSE.txt
|
123
|
+
- README.rdoc
|
124
|
+
- Rakefile
|
125
|
+
- VERSION
|
126
|
+
- lib/trinitycrmod.rb
|
127
|
+
- lib/trinitycrmod/deleted_variables.rb
|
128
|
+
- lib/trinitycrmod/namelists.rb
|
129
|
+
- lib/trinitycrmod/output_files.rb
|
130
|
+
- lib/trinitycrmod/trinity.rb
|
131
|
+
- sync_variables/helper.rb
|
132
|
+
- sync_variables/sync_variables.rb
|
133
|
+
- test/helper.rb
|
134
|
+
- test/ifspppl/test.trin
|
135
|
+
- test/ifspppl_results/v/id_1.tgz
|
136
|
+
- test/test_trinitycrmod.rb
|
137
|
+
homepage: http://github.com/edmundhighcock/trinitycrmod
|
138
|
+
licenses:
|
139
|
+
- GPLv3
|
140
|
+
post_install_message:
|
141
|
+
rdoc_options: []
|
142
|
+
require_paths:
|
143
|
+
- lib
|
144
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
145
|
+
none: false
|
146
|
+
requirements:
|
147
|
+
- - ! '>='
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
version: '0'
|
150
|
+
segments:
|
151
|
+
- 0
|
152
|
+
hash: -4412447683332078047
|
153
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
154
|
+
none: false
|
155
|
+
requirements:
|
156
|
+
- - ! '>='
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: '0'
|
159
|
+
requirements: []
|
160
|
+
rubyforge_project:
|
161
|
+
rubygems_version: 1.8.23
|
162
|
+
signing_key:
|
163
|
+
specification_version: 3
|
164
|
+
summary: CodeRunner module for the Trinity simulation software.
|
165
|
+
test_files: []
|