gs2crmod 0.12.11 → 0.12.12
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 +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: []
|