gs2crmod 0.12.11 → 0.12.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/VERSION +1 -1
- data/gs2crmod.gemspec +7 -5
- data/lib/gs2crmod/gs2.rb +55 -58
- metadata +22 -40
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 61537cc35dd202107beff6badd6a604b13052f65
|
4
|
+
data.tar.gz: 7c55bbdc2056518ba85a929c2e097f4f71b79ceb
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: c595a7a35633a1b63b897760c2839e2c65b601efadf53af5112f6129530282c0c11f6eb918d427649ace1ce3bbea63ee6c0c9c0f6459459a1344706038223710
|
7
|
+
data.tar.gz: 246a78bc1351ba02fc936109ef48a7fb8c381c96248a7e891e742db6457ac971b096593d22f327ace84e844bc50af1aacc36574b4d30b0593ad8d7461c373aa9
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.12.
|
1
|
+
0.12.12
|
data/gs2crmod.gemspec
CHANGED
@@ -2,14 +2,17 @@
|
|
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: gs2crmod 0.12.12 ruby lib
|
6
|
+
# stub: ext/extconf.rb
|
5
7
|
|
6
8
|
Gem::Specification.new do |s|
|
7
9
|
s.name = "gs2crmod"
|
8
|
-
s.version = "0.12.
|
10
|
+
s.version = "0.12.12"
|
9
11
|
|
10
12
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
13
|
+
s.require_paths = ["lib"]
|
11
14
|
s.authors = ["Edmund Highcock", "Ferdinand van Wyk"]
|
12
|
-
s.date = "2015-
|
15
|
+
s.date = "2015-11-05"
|
13
16
|
s.description = "GS2 is a gyrokinetic flux tube initial value turbulence code which can be used for fusion or astrophysical plasmas. CodeRunner is a framework for the automated running and analysis of large simulations. This module allows GS2 (and its sister code AstroGK) to harness the power of the CodeRunner framework."
|
14
17
|
s.email = "edmundhighcock@sourceforge.net"
|
15
18
|
s.extensions = ["ext/extconf.rb"]
|
@@ -76,13 +79,12 @@ Gem::Specification.new do |s|
|
|
76
79
|
]
|
77
80
|
s.homepage = "http://gs2crmod.sourceforge.net"
|
78
81
|
s.licenses = ["GSLv3"]
|
79
|
-
s.require_paths = ["lib"]
|
80
82
|
s.required_ruby_version = Gem::Requirement.new(">= 1.9.1")
|
81
|
-
s.rubygems_version = "
|
83
|
+
s.rubygems_version = "2.2.2"
|
82
84
|
s.summary = "Module to allow CodeRunner to run and analyse the GS2 and AstroGK codes."
|
83
85
|
|
84
86
|
if s.respond_to? :specification_version then
|
85
|
-
s.specification_version =
|
87
|
+
s.specification_version = 4
|
86
88
|
|
87
89
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
88
90
|
s.add_runtime_dependency(%q<coderunner>, [">= 0.15.5"])
|
data/lib/gs2crmod/gs2.rb
CHANGED
@@ -17,20 +17,14 @@
|
|
17
17
|
#
|
18
18
|
# raw NumRu::NetCDF grids are in Fortran row-major order. This means that when you access grids using the NetCDF function NetCDF#get, you must specify the indices in fortran order (but 0-based!). The NetCDF#get function then returns a C-like NArray with the indices in the opposite order. You can convert this to a Ruby Array using the method NArray#to_a (the indices will still be in the same order).
|
19
19
|
|
20
|
-
|
21
|
-
#
|
22
|
-
|
23
20
|
begin
|
24
21
|
require "numru/netcdf"
|
25
22
|
rescue LoadError
|
26
23
|
eputs "Error: No NetCDF: data analysis for gs2 not possible"
|
27
24
|
end
|
28
25
|
|
29
|
-
|
30
26
|
class CodeRunner
|
31
27
|
|
32
|
-
|
33
|
-
|
34
28
|
# This is a customised subclass of CodeRunner::Run which allows CodeRunner to submit and analyse simulations from the gyrokinetic flux tube code GS2, which is principally used for simulating plasmas in magnetic confinement fusion.
|
35
29
|
#
|
36
30
|
# It performs two distinct roles: submitting simulations and analysing the data.
|
@@ -55,7 +49,6 @@ class Gs2 < Run::FortranNamelist
|
|
55
49
|
#GS2_CRMOD_VERSION = Version.new(Gem.loaded_specs['gs2crmod'].version.to_s)
|
56
50
|
GS2_CRMOD_VERSION = Version.new('0.5.0')
|
57
51
|
|
58
|
-
|
59
52
|
def agk?
|
60
53
|
false
|
61
54
|
end
|
@@ -89,14 +82,12 @@ NaN = GSL::NAN
|
|
89
82
|
eval(%[
|
90
83
|
], GLOBAL_BINDING)
|
91
84
|
|
92
|
-
|
93
85
|
################################################
|
94
86
|
# Quantities that are calculated or determined by CodeRunner
|
95
87
|
# after the simulation has ended, i.e. quantities
|
96
88
|
# that are not available from the GS2 output files.
|
97
89
|
################################################
|
98
90
|
|
99
|
-
|
100
91
|
@results = [
|
101
92
|
:converged,
|
102
93
|
:decaying,
|
@@ -151,7 +142,6 @@ eval(%[
|
|
151
142
|
:vspace_check
|
152
143
|
]
|
153
144
|
|
154
|
-
|
155
145
|
###############################################
|
156
146
|
# Other useful information about the run
|
157
147
|
###############################################
|
@@ -235,6 +225,7 @@ def process_directory_code_specific
|
|
235
225
|
calculate_results
|
236
226
|
|
237
227
|
end
|
228
|
+
|
238
229
|
def calculate_results
|
239
230
|
return if ENV['CODE_RUNNER_NO_ANALYSIS'] =~ /true/
|
240
231
|
|
@@ -257,7 +248,6 @@ def calculate_results
|
|
257
248
|
end
|
258
249
|
|
259
250
|
# Try to read the runtime in minutes from the GS2 standard out.
|
260
|
-
|
261
251
|
def get_run_time
|
262
252
|
logf(:get_run_time)
|
263
253
|
output = @output_file || try_to_get_output_file
|
@@ -283,9 +273,6 @@ def ncdump(names=nil, values=nil, extension = '.out.nc')
|
|
283
273
|
pp NumRu::NetCDF.open(@run_name + extension).vars(names).to_a.sort{|var1, var2| var1.name <=> var2.name}.map{|var| values ? [var.name, var.send(values)] : var.name.to_sym}
|
284
274
|
end
|
285
275
|
|
286
|
-
|
287
|
-
#
|
288
|
-
|
289
276
|
def generate_component_runs
|
290
277
|
@component_runs = []
|
291
278
|
logf(:generate_component_runs)
|
@@ -332,8 +319,6 @@ def generate_component_runs
|
|
332
319
|
end
|
333
320
|
end
|
334
321
|
|
335
|
-
|
336
|
-
|
337
322
|
def get_time
|
338
323
|
begin
|
339
324
|
lt = list(:t)
|
@@ -369,6 +354,7 @@ end
|
|
369
354
|
|
370
355
|
def parameter_transition(run)
|
371
356
|
end
|
357
|
+
|
372
358
|
# @@executable_location = nil
|
373
359
|
# def executable_location
|
374
360
|
# return "~/gs2_newterm" #(@@executable_location || ($gs2_new_term ? "~/gs2_newterm" : "~/gs2"))
|
@@ -433,7 +419,6 @@ def print_out_line
|
|
433
419
|
|
434
420
|
end
|
435
421
|
|
436
|
-
|
437
422
|
def get_list_of(*args)
|
438
423
|
#args can be any list of e.g. :ky, :kx, :theta, :t ...
|
439
424
|
logf(:get_list_of)
|
@@ -468,7 +453,6 @@ def get_list_of(*args)
|
|
468
453
|
logfc :get_list_of
|
469
454
|
return cache[args[0] + :_list] if args.size == 1
|
470
455
|
end
|
471
|
-
|
472
456
|
alias :list :get_list_of
|
473
457
|
|
474
458
|
def visually_check_growth_rate(ky=nil)
|
@@ -486,7 +470,6 @@ def visually_check_growth_rate(ky=nil)
|
|
486
470
|
|
487
471
|
end
|
488
472
|
|
489
|
-
|
490
473
|
def show_graph
|
491
474
|
thegraph = special_graph('phi2tot_vs_time_all_kys')
|
492
475
|
thegraph.title += " for g_exb = #{@g_exb.to_f.to_s}"
|
@@ -496,11 +479,6 @@ def show_graph
|
|
496
479
|
thegraph.kill
|
497
480
|
end
|
498
481
|
|
499
|
-
# @@phi2tot_vs_time_template = {title: "Phi^2 Total vs Time", xlabel: " Time ", ylabel: "Phi^2 Total"})
|
500
|
-
|
501
|
-
|
502
|
-
|
503
|
-
|
504
482
|
def restart(new_run)
|
505
483
|
(rcp.variables).each{|v| new_run.set(v, send(v)) if send(v)}
|
506
484
|
@naming_pars.delete(:preamble)
|
@@ -606,7 +584,6 @@ def diff_run_parameters(run_1, run_2)
|
|
606
584
|
(col_widths.sum + col_widths.size*3 - 1) }
|
607
585
|
end
|
608
586
|
|
609
|
-
|
610
587
|
# Return a list of restart file paths (relative to the run directory).
|
611
588
|
def list_of_restart_files
|
612
589
|
Dir.chdir(@directory) do
|
@@ -625,7 +602,6 @@ def list_of_restart_files
|
|
625
602
|
return files
|
626
603
|
end # Dir.chdir(@directory) do
|
627
604
|
end
|
628
|
-
|
629
605
|
alias :lorf :list_of_restart_files
|
630
606
|
|
631
607
|
# Return list of response files similar to method for restart files
|
@@ -644,7 +620,6 @@ def list_of_response_files
|
|
644
620
|
end
|
645
621
|
|
646
622
|
# Put restart files in the conventional location, i.e. nc/run_name.proc
|
647
|
-
|
648
623
|
def standardize_restart_files
|
649
624
|
Dir.chdir(@directory) do
|
650
625
|
FileUtils.makedirs('nc')
|
@@ -666,10 +641,6 @@ def delete_restart_files(options={})
|
|
666
641
|
list_of_restart_files.each{|file| FileUtils.rm file}
|
667
642
|
end
|
668
643
|
|
669
|
-
|
670
|
-
|
671
|
-
|
672
|
-
|
673
644
|
def species_letter
|
674
645
|
species_type(1).downcase[0,1]
|
675
646
|
end
|
@@ -684,15 +655,13 @@ def species_type(index)
|
|
684
655
|
type
|
685
656
|
end
|
686
657
|
|
687
|
-
|
688
|
-
#
|
689
|
-
|
658
|
+
# Returns true if this run has not been restarted, false if it has. This
|
659
|
+
# allows one to get data from the final run of a series of restarts.
|
690
660
|
def no_restarts
|
691
661
|
raise NoRunnerError unless @runner
|
692
662
|
!(@runner.runs.find{|run| run.restart_id == @id})
|
693
663
|
end
|
694
664
|
|
695
|
-
|
696
665
|
def restart_chain
|
697
666
|
if @restart_id
|
698
667
|
return @runner.run_list[@restart_id].restart_chain
|
@@ -707,11 +676,6 @@ def restart_chain
|
|
707
676
|
return chain
|
708
677
|
end
|
709
678
|
|
710
|
-
|
711
|
-
|
712
|
-
|
713
|
-
|
714
|
-
|
715
679
|
def get_status
|
716
680
|
# eputs 'Checking Status'
|
717
681
|
logf(:get_status)
|
@@ -767,7 +731,6 @@ def get_status
|
|
767
731
|
end
|
768
732
|
end
|
769
733
|
|
770
|
-
|
771
734
|
def self.modify_job_script(runner, runs_in, script)
|
772
735
|
if CODE_OPTIONS[:gs2] and CODE_OPTIONS[:gs2][:list]
|
773
736
|
if (list_size = CODE_OPTIONS[:gs2][:list]).kind_of? Integer
|
@@ -849,7 +812,6 @@ def recheck
|
|
849
812
|
end
|
850
813
|
end
|
851
814
|
|
852
|
-
|
853
815
|
def generate_input_file(&block)
|
854
816
|
raise CRFatal("No Input Module File Given or Module Corrupted") unless
|
855
817
|
methods.include? (:input_file_text)
|
@@ -910,7 +872,6 @@ def generate_input_file(&block)
|
|
910
872
|
########
|
911
873
|
end
|
912
874
|
|
913
|
-
|
914
875
|
def write_input_file
|
915
876
|
File.open(@run_name + ".in", 'w'){|file| file.puts input_file_text}
|
916
877
|
end
|
@@ -937,7 +898,6 @@ def actual_number_of_processors
|
|
937
898
|
raise "Please specify the processor layout using the -n or (n:) option" unless @nprocs
|
938
899
|
@nprocs.split('x').map{|n| n.to_i}.inject(1){|ntot, n| ntot*n}
|
939
900
|
end
|
940
|
-
|
941
901
|
alias :anop :actual_number_of_processors
|
942
902
|
|
943
903
|
def approximate_grid_size
|
@@ -948,7 +908,6 @@ def approximate_grid_size
|
|
948
908
|
@ntheta * (2 * @ngauss + @ntheta/2).to_i * @negrid * 2 * @nspec
|
949
909
|
end
|
950
910
|
end
|
951
|
-
|
952
911
|
alias :agridsze :approximate_grid_size
|
953
912
|
|
954
913
|
# Gives a guess as to the maximum number of meshpoints which
|
@@ -964,17 +923,12 @@ end
|
|
964
923
|
def estimated_nodes
|
965
924
|
parallelizable_meshpoints / max_ppn
|
966
925
|
end
|
967
|
-
|
968
926
|
alias :estnod :estimated_nodes
|
969
927
|
|
970
|
-
|
971
|
-
|
972
|
-
|
973
928
|
def parameter_string
|
974
929
|
return "#{@run_name}.in"
|
975
930
|
end
|
976
931
|
|
977
|
-
|
978
932
|
def self.list_code_commands
|
979
933
|
puts (methods - Run.methods).sort
|
980
934
|
end
|
@@ -1025,9 +979,7 @@ def self.defaults_file_header
|
|
1025
979
|
EOF1
|
1026
980
|
end
|
1027
981
|
|
1028
|
-
|
1029
982
|
# Customize this method from Run::FortranNamelist by saying when diagnostics are not switched on.
|
1030
|
-
|
1031
983
|
#def namelist_text(namelist, enum = nil)
|
1032
984
|
#hash = rcp.namelists[namelist]
|
1033
985
|
#text = ""
|
@@ -1070,7 +1022,6 @@ end
|
|
1070
1022
|
# save_namelists
|
1071
1023
|
# end
|
1072
1024
|
|
1073
|
-
|
1074
1025
|
def update_physics_parameters_from_miller_input_file(file)
|
1075
1026
|
hash = self.class.parse_input_file(file)
|
1076
1027
|
hash[:parameters].each do |var, val|
|
@@ -1099,14 +1050,16 @@ def update_physics_parameters_from_miller_input_file(file)
|
|
1099
1050
|
end
|
1100
1051
|
end
|
1101
1052
|
|
1102
|
-
|
1103
|
-
|
1104
1053
|
def renew_info_file
|
1105
1054
|
Dir.chdir(@directory){make_info_file("#@run_name.in")}
|
1106
1055
|
end
|
1107
1056
|
|
1108
|
-
# This method overrides a method defined in heuristic_run_methods.rb in the
|
1109
|
-
|
1057
|
+
# This method overrides a method defined in heuristic_run_methods.rb in the
|
1058
|
+
# CodeRunner source. It is called when CodeRunner cannot find any of its own
|
1059
|
+
# files in the folder being analysed. It takes a GS2 input file and generates a
|
1060
|
+
# CodeRunner info file. This means that GS2 runs which were not run using
|
1061
|
+
# CodeRunner can nonetheless be analysed by it. In order for it to be called
|
1062
|
+
# the -H flag must be specified on the command line.
|
1110
1063
|
def run_heuristic_analysis
|
1111
1064
|
ep 'run_heuristic_analysis', Dir.pwd
|
1112
1065
|
infiles = Dir.entries.grep(/^[^\.].*\.in$/)
|
@@ -1288,6 +1241,51 @@ folder = File.dirname(File.expand_path(__FILE__)) # i.e. the directory this file
|
|
1288
1241
|
|
1289
1242
|
end
|
1290
1243
|
|
1244
|
+
def change_id(new_id)
|
1245
|
+
# Change names for GS2 output files
|
1246
|
+
Dir.chdir(@directory) do
|
1247
|
+
dir_entries = Dir.entries()
|
1248
|
+
dir_entries.each do |f|
|
1249
|
+
if f.include? 'v_'
|
1250
|
+
new_name = f.sub "id_#{@id}", "id_#{new_id}"
|
1251
|
+
`mv "#{f}" "#{new_name}"`
|
1252
|
+
next
|
1253
|
+
end
|
1254
|
+
if (f.include? 'v_' or f.include? 'gs2.')
|
1255
|
+
new_name = f.sub "gs2.#{@id}", "gs2.#{new_id}"
|
1256
|
+
`mv "#{f}" "#{new_name}"`
|
1257
|
+
next
|
1258
|
+
end
|
1259
|
+
end
|
1260
|
+
end
|
1261
|
+
|
1262
|
+
# Change names for GS2 restart files
|
1263
|
+
Dir.chdir(@directory + '/' + @restart_dir) do
|
1264
|
+
dir_entries = Dir.entries()
|
1265
|
+
dir_entries.each do |f|
|
1266
|
+
if f.include? 'v_'
|
1267
|
+
new_name = f.sub "id_#{@id}", "id_#{new_id}"
|
1268
|
+
`mv "#{f}" "#{new_name}"`
|
1269
|
+
end
|
1270
|
+
end
|
1271
|
+
end
|
1272
|
+
|
1273
|
+
new_run_dir = @directory.sub "id_#{@id}", "id_#{new_id}"
|
1274
|
+
`mv "#{@directory}" "#{new_run_dir}"`
|
1275
|
+
@directory = new_run_dir
|
1276
|
+
|
1277
|
+
# Rename variables which go in info and results file
|
1278
|
+
@run_name.sub! "id_#{@id}", "id_#{new_id}"
|
1279
|
+
@restart_file.sub! "id_#{@id}", "id_#{new_id}"
|
1280
|
+
@output_file.sub! "gs2.#{@id}", "gs2.#{new_id}"
|
1281
|
+
@error_file.sub! "gs2.#{@id}", "gs2.#{new_id}"
|
1282
|
+
|
1283
|
+
# Change instance variable and write info and results files again
|
1284
|
+
@id = new_id
|
1285
|
+
write_results
|
1286
|
+
write_info
|
1287
|
+
end
|
1288
|
+
|
1291
1289
|
end # class GS2
|
1292
1290
|
# For backwards compatibility
|
1293
1291
|
|
@@ -1296,7 +1294,6 @@ end # class CodeRunner
|
|
1296
1294
|
|
1297
1295
|
# ep CodeRunner::Gs2CycloneRun.ancestors
|
1298
1296
|
|
1299
|
-
|
1300
1297
|
class Float
|
1301
1298
|
def <=>(other) # necessary because of netcdf quirks
|
1302
1299
|
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gs2crmod
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.12.
|
5
|
-
prerelease:
|
4
|
+
version: 0.12.12
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Edmund Highcock
|
@@ -10,60 +9,53 @@ authors:
|
|
10
9
|
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date: 2015-
|
12
|
+
date: 2015-11-05 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: coderunner
|
17
16
|
requirement: !ruby/object:Gem::Requirement
|
18
|
-
none: false
|
19
17
|
requirements:
|
20
|
-
- -
|
18
|
+
- - ">="
|
21
19
|
- !ruby/object:Gem::Version
|
22
20
|
version: 0.15.5
|
23
21
|
type: :runtime
|
24
22
|
prerelease: false
|
25
23
|
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
none: false
|
27
24
|
requirements:
|
28
|
-
- -
|
25
|
+
- - ">="
|
29
26
|
- !ruby/object:Gem::Version
|
30
27
|
version: 0.15.5
|
31
28
|
- !ruby/object:Gem::Dependency
|
32
29
|
name: rubyhacks
|
33
30
|
requirement: !ruby/object:Gem::Requirement
|
34
|
-
none: false
|
35
31
|
requirements:
|
36
|
-
- -
|
32
|
+
- - ">="
|
37
33
|
- !ruby/object:Gem::Version
|
38
34
|
version: 0.1.2
|
39
35
|
type: :runtime
|
40
36
|
prerelease: false
|
41
37
|
version_requirements: !ruby/object:Gem::Requirement
|
42
|
-
none: false
|
43
38
|
requirements:
|
44
|
-
- -
|
39
|
+
- - ">="
|
45
40
|
- !ruby/object:Gem::Version
|
46
41
|
version: 0.1.2
|
47
42
|
- !ruby/object:Gem::Dependency
|
48
43
|
name: ruby-netcdf
|
49
44
|
requirement: !ruby/object:Gem::Requirement
|
50
|
-
none: false
|
51
45
|
requirements:
|
52
|
-
- -
|
46
|
+
- - ">="
|
53
47
|
- !ruby/object:Gem::Version
|
54
48
|
version: 0.7.1
|
55
49
|
type: :runtime
|
56
50
|
prerelease: false
|
57
51
|
version_requirements: !ruby/object:Gem::Requirement
|
58
|
-
none: false
|
59
52
|
requirements:
|
60
|
-
- -
|
53
|
+
- - ">="
|
61
54
|
- !ruby/object:Gem::Version
|
62
55
|
version: 0.7.1
|
63
56
|
- !ruby/object:Gem::Dependency
|
64
57
|
name: shoulda
|
65
58
|
requirement: !ruby/object:Gem::Requirement
|
66
|
-
none: false
|
67
59
|
requirements:
|
68
60
|
- - '='
|
69
61
|
- !ruby/object:Gem::Version
|
@@ -71,7 +63,6 @@ dependencies:
|
|
71
63
|
type: :development
|
72
64
|
prerelease: false
|
73
65
|
version_requirements: !ruby/object:Gem::Requirement
|
74
|
-
none: false
|
75
66
|
requirements:
|
76
67
|
- - '='
|
77
68
|
- !ruby/object:Gem::Version
|
@@ -79,65 +70,57 @@ dependencies:
|
|
79
70
|
- !ruby/object:Gem::Dependency
|
80
71
|
name: rdoc
|
81
72
|
requirement: !ruby/object:Gem::Requirement
|
82
|
-
none: false
|
83
73
|
requirements:
|
84
|
-
- - ~>
|
74
|
+
- - "~>"
|
85
75
|
- !ruby/object:Gem::Version
|
86
76
|
version: '3.12'
|
87
77
|
type: :development
|
88
78
|
prerelease: false
|
89
79
|
version_requirements: !ruby/object:Gem::Requirement
|
90
|
-
none: false
|
91
80
|
requirements:
|
92
|
-
- - ~>
|
81
|
+
- - "~>"
|
93
82
|
- !ruby/object:Gem::Version
|
94
83
|
version: '3.12'
|
95
84
|
- !ruby/object:Gem::Dependency
|
96
85
|
name: bundler
|
97
86
|
requirement: !ruby/object:Gem::Requirement
|
98
|
-
none: false
|
99
87
|
requirements:
|
100
|
-
- -
|
88
|
+
- - ">"
|
101
89
|
- !ruby/object:Gem::Version
|
102
90
|
version: 1.0.0
|
103
91
|
type: :development
|
104
92
|
prerelease: false
|
105
93
|
version_requirements: !ruby/object:Gem::Requirement
|
106
|
-
none: false
|
107
94
|
requirements:
|
108
|
-
- -
|
95
|
+
- - ">"
|
109
96
|
- !ruby/object:Gem::Version
|
110
97
|
version: 1.0.0
|
111
98
|
- !ruby/object:Gem::Dependency
|
112
99
|
name: jeweler
|
113
100
|
requirement: !ruby/object:Gem::Requirement
|
114
|
-
none: false
|
115
101
|
requirements:
|
116
|
-
- -
|
102
|
+
- - ">="
|
117
103
|
- !ruby/object:Gem::Version
|
118
104
|
version: 1.8.4
|
119
105
|
type: :development
|
120
106
|
prerelease: false
|
121
107
|
version_requirements: !ruby/object:Gem::Requirement
|
122
|
-
none: false
|
123
108
|
requirements:
|
124
|
-
- -
|
109
|
+
- - ">="
|
125
110
|
- !ruby/object:Gem::Version
|
126
111
|
version: 1.8.4
|
127
112
|
- !ruby/object:Gem::Dependency
|
128
113
|
name: minitest
|
129
114
|
requirement: !ruby/object:Gem::Requirement
|
130
|
-
none: false
|
131
115
|
requirements:
|
132
|
-
- - ~>
|
116
|
+
- - "~>"
|
133
117
|
- !ruby/object:Gem::Version
|
134
118
|
version: '4'
|
135
119
|
type: :development
|
136
120
|
prerelease: false
|
137
121
|
version_requirements: !ruby/object:Gem::Requirement
|
138
|
-
none: false
|
139
122
|
requirements:
|
140
|
-
- - ~>
|
123
|
+
- - "~>"
|
141
124
|
- !ruby/object:Gem::Version
|
142
125
|
version: '4'
|
143
126
|
description: GS2 is a gyrokinetic flux tube initial value turbulence code which can
|
@@ -153,7 +136,7 @@ extra_rdoc_files:
|
|
153
136
|
- README.md
|
154
137
|
- README.rdoc
|
155
138
|
files:
|
156
|
-
- .document
|
139
|
+
- ".document"
|
157
140
|
- Gemfile
|
158
141
|
- LICENSE.txt
|
159
142
|
- README.md
|
@@ -210,26 +193,25 @@ files:
|
|
210
193
|
homepage: http://gs2crmod.sourceforge.net
|
211
194
|
licenses:
|
212
195
|
- GSLv3
|
196
|
+
metadata: {}
|
213
197
|
post_install_message:
|
214
198
|
rdoc_options: []
|
215
199
|
require_paths:
|
216
200
|
- lib
|
217
201
|
required_ruby_version: !ruby/object:Gem::Requirement
|
218
|
-
none: false
|
219
202
|
requirements:
|
220
|
-
- -
|
203
|
+
- - ">="
|
221
204
|
- !ruby/object:Gem::Version
|
222
205
|
version: 1.9.1
|
223
206
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
224
|
-
none: false
|
225
207
|
requirements:
|
226
|
-
- -
|
208
|
+
- - ">="
|
227
209
|
- !ruby/object:Gem::Version
|
228
210
|
version: '0'
|
229
211
|
requirements: []
|
230
212
|
rubyforge_project:
|
231
|
-
rubygems_version:
|
213
|
+
rubygems_version: 2.2.2
|
232
214
|
signing_key:
|
233
|
-
specification_version:
|
215
|
+
specification_version: 4
|
234
216
|
summary: Module to allow CodeRunner to run and analyse the GS2 and AstroGK codes.
|
235
217
|
test_files: []
|