gs2crmod 0.11.101 → 0.12.0
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/gs2crmod.gemspec +5 -7
- data/lib/gs2crmod/calculations.rb +1 -1
- data/lib/gs2crmod/graphs.rb +17 -21
- data/lib/gs2crmod/gs2.rb +3 -3
- data/lib/gs2crmod/gsl_data.rb +20 -21
- metadata +40 -22
- checksums.yaml +0 -7
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.12.0
|
data/gs2crmod.gemspec
CHANGED
@@ -2,17 +2,14 @@
|
|
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.11.101 ruby lib
|
6
|
-
# stub: ext/extconf.rb
|
7
5
|
|
8
6
|
Gem::Specification.new do |s|
|
9
7
|
s.name = "gs2crmod"
|
10
|
-
s.version = "0.
|
8
|
+
s.version = "0.12.0"
|
11
9
|
|
12
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
13
|
-
s.require_paths = ["lib"]
|
14
11
|
s.authors = ["Edmund Highcock", "Ferdinand van Wyk"]
|
15
|
-
s.date = "2015-07-
|
12
|
+
s.date = "2015-07-28"
|
16
13
|
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."
|
17
14
|
s.email = "edmundhighcock@sourceforge.net"
|
18
15
|
s.extensions = ["ext/extconf.rb"]
|
@@ -79,12 +76,13 @@ Gem::Specification.new do |s|
|
|
79
76
|
]
|
80
77
|
s.homepage = "http://gs2crmod.sourceforge.net"
|
81
78
|
s.licenses = ["GSLv3"]
|
79
|
+
s.require_paths = ["lib"]
|
82
80
|
s.required_ruby_version = Gem::Requirement.new(">= 1.9.1")
|
83
|
-
s.rubygems_version = "
|
81
|
+
s.rubygems_version = "1.8.23"
|
84
82
|
s.summary = "Module to allow CodeRunner to run and analyse the GS2 and AstroGK codes."
|
85
83
|
|
86
84
|
if s.respond_to? :specification_version then
|
87
|
-
s.specification_version =
|
85
|
+
s.specification_version = 3
|
88
86
|
|
89
87
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
90
88
|
s.add_runtime_dependency(%q<coderunner>, [">= 0.15.5"])
|
@@ -279,7 +279,7 @@ def calculate_frequencies
|
|
279
279
|
logi(f)
|
280
280
|
@frequency_at_ky_at_kx||= FloatHash.new
|
281
281
|
ky_values = []
|
282
|
-
regex = Regexp.new( "^.*
|
282
|
+
regex = Regexp.new( "^.*ky=\\s*(?<aky>#{f})\s*kx=\\s*(?<akx>#{f}).*omav=\\s*(?<re>#{f})\\s*(?<gr>#{f})")
|
283
283
|
final_timestep_list.scan(regex) do
|
284
284
|
aky = eval($~[:aky])
|
285
285
|
akx = eval($~[:akx])
|
data/lib/gs2crmod/graphs.rb
CHANGED
@@ -21,8 +21,8 @@ def auto_axiskits(name, options)
|
|
21
21
|
# </MJL>
|
22
22
|
'phi2_by_ky_over_time' => ['Phi^2 by ky', ''],
|
23
23
|
'phi2_by_kx_over_time' => ['Phi^2 by ky', ''],
|
24
|
-
'
|
25
|
-
'
|
24
|
+
'es_heat_flux_by_ky_over_time' => ['Heat flux by ky', ''],
|
25
|
+
'es_heat_flux_by_kx_over_time' => ['Heat flux by kx', ''],
|
26
26
|
'phi2_by_mode_over_time' => ["Phi^2 by mode", ''],
|
27
27
|
'tpar2_by_mode_over_time' => ["(delta T_parallel)^2 by mode", '%'],
|
28
28
|
'tperp2_by_mode_over_time' => ["(delta T_perp)^2 by mode", '%'],
|
@@ -47,8 +47,8 @@ def auto_axiskits(name, options)
|
|
47
47
|
'spectrum_over_kx_avg' => ["Spectrum Averaged Over Time", '', 1],
|
48
48
|
'spectrum_over_ky' => ["Spectrum at t = #{sprintf("%.3f" ,(options[:t] or list(:t)[options[:t_index]] or list(:t).values.max))}", '', 1],
|
49
49
|
'spectrum_over_ky_avg' => ["Spectrum Averaged Over Time", '', 1],
|
50
|
-
'
|
51
|
-
'
|
50
|
+
'es_heat_flux_over_kx' => ["Heat Flux at t = #{sprintf("%.3f" ,(options[:t] or list(:t)[options[:t_index]] or list(:t).values.max))}", 'Q_gB', 1],
|
51
|
+
'es_heat_flux_over_ky' => ["Heat Flux at t = #{sprintf("%.3f" ,(options[:t] or list(:t)[options[:t_index]] or list(:t).values.max))}", 'Q_gB', 1],
|
52
52
|
'es_heat_flux_over_ky_over_kx' => ["Heat flux at t = #{sprintf("%.3f" ,(options[:t] or list(:t)[options[:t_index]] or list(:t).values.max))}", '', 2],
|
53
53
|
'spectrum_over_kpar' => ["Spectrum at t = #{sprintf("%.3f" ,(options[:t] or list(:t)[options[:t_index]] or list(:t).values.max))}", '', 1],
|
54
54
|
'spectrum_over_ky_over_kx' => ["Spectrum at t = #{sprintf("%.3f" ,(options[:t] or list(:t)[options[:t_index]] or list(:t).values.max))}", '', 2],
|
@@ -267,7 +267,6 @@ module GraphKits
|
|
267
267
|
kit = GraphKit.autocreate({x: axiskit('t', options), y: phiax})
|
268
268
|
kit.data[0].title = "Phi^2 total: #{kxy} = #{options[kxy]}"
|
269
269
|
if options[:t_index]
|
270
|
-
# p 'hello'
|
271
270
|
array_element = options[:t_index_window] ? options[:t_index] - options[:t_index_window][0] : options[:t_index] - 1
|
272
271
|
# p phiax.data.size, array_element
|
273
272
|
# p options[:t_index], options[:t_index_window]
|
@@ -345,7 +344,7 @@ module GraphKits
|
|
345
344
|
|
346
345
|
alias :eigenfunction_graphkit :efn_graphkit
|
347
346
|
|
348
|
-
def
|
347
|
+
def es_heat_flux_vs_ky_vs_kx_graphkit(options={})
|
349
348
|
case options[:command]
|
350
349
|
when :help
|
351
350
|
return "Graph of electrostatic contribution to heat flux at a given time vs kx and ky"
|
@@ -362,7 +361,7 @@ module GraphKits
|
|
362
361
|
end
|
363
362
|
end
|
364
363
|
|
365
|
-
def
|
364
|
+
def es_heat_flux_vs_kx_graphkit(options={})
|
366
365
|
case options[:command]
|
367
366
|
when :help
|
368
367
|
return "Heat flux vs kx"
|
@@ -372,7 +371,7 @@ module GraphKits
|
|
372
371
|
return es_heat_flux_vs_kxy_graphkit(options.absorb({direction: :kx}))
|
373
372
|
end
|
374
373
|
end
|
375
|
-
def
|
374
|
+
def es_heat_flux_vs_ky_graphkit(options={})
|
376
375
|
case options[:command]
|
377
376
|
when :help
|
378
377
|
return "Heat flux vs ky"
|
@@ -391,7 +390,7 @@ module GraphKits
|
|
391
390
|
return [:ky_index, :species_index]
|
392
391
|
else
|
393
392
|
kxy = options[:direction]||options[:kxy]
|
394
|
-
kit = GraphKit.autocreate({x: axiskit(kxy.to_s, options), y: axiskit("
|
393
|
+
kit = GraphKit.autocreate({x: axiskit(kxy.to_s, options), y: axiskit("es_heat_flux_over_#{kxy}", options)})
|
395
394
|
kit.title = "Heat flux vs #{kxy} for species #{options[:species_index]}"
|
396
395
|
kit.file_name = options[:graphkit_name] + options[:t_index].to_s
|
397
396
|
kit.data[0].with = 'lp'
|
@@ -2012,25 +2011,25 @@ module GraphKits
|
|
2012
2011
|
end
|
2013
2012
|
# </MJL>
|
2014
2013
|
|
2015
|
-
def
|
2014
|
+
def es_heat_flux_by_mode_vs_time_graphkit(options={})
|
2016
2015
|
options[:direction] = :mode
|
2017
|
-
|
2016
|
+
es_heat_flux_by_kxy_or_mode_vs_time_graphkit(options)
|
2018
2017
|
end
|
2019
2018
|
|
2020
|
-
def
|
2019
|
+
def es_heat_flux_by_kx_vs_time_graphkit(options={})
|
2021
2020
|
options[:direction] = :kx
|
2022
|
-
|
2021
|
+
es_heat_flux_by_kxy_or_mode_vs_time_graphkit(options)
|
2023
2022
|
end
|
2024
2023
|
|
2025
|
-
def
|
2024
|
+
def es_heat_flux_by_ky_vs_time_graphkit(options={})
|
2026
2025
|
options[:direction] = :ky
|
2027
|
-
|
2026
|
+
es_heat_flux_by_kxy_or_mode_vs_time_graphkit(options)
|
2028
2027
|
end
|
2029
2028
|
|
2030
|
-
def
|
2029
|
+
def es_heat_flux_by_kxy_or_mode_vs_time_graphkit(options={})
|
2031
2030
|
case options[:command]
|
2032
2031
|
when :help
|
2033
|
-
return "'
|
2032
|
+
return "'es_heat_flux_by_ky_vs_time' or 'es_heat_flux_by_kx_vs_time': Electrostatic Heat Flux vs Time for a given kx or ky, integrated over the other direction"
|
2034
2033
|
when :options
|
2035
2034
|
return [:ky, :ky_index, :kx, :kx_index, :species_index]
|
2036
2035
|
else
|
@@ -2038,7 +2037,7 @@ module GraphKits
|
|
2038
2037
|
nt_options = options.dup # 'no time' options
|
2039
2038
|
#nt_options.delete(:t_index) if nt_options[:t_index]
|
2040
2039
|
#nt_options.delete(:frame_index) if nt_options[:frame_index]
|
2041
|
-
phiax = axiskit("
|
2040
|
+
phiax = axiskit("es_heat_flux_by_#{kxy}_over_time", nt_options)
|
2042
2041
|
kit = GraphKit.autocreate({x: axiskit('t', options), y: phiax})
|
2043
2042
|
kit.data[0].title = "ES Heat Flux: #@run_name #{kxy} = #{options[kxy]}"
|
2044
2043
|
kit.log_axis = 'y'
|
@@ -2081,7 +2080,6 @@ module GraphKits
|
|
2081
2080
|
kit = GraphKit.autocreate({x: axiskit('t', options), y: phiax})
|
2082
2081
|
kit.data[0].title = "Phi^2 total: #{kxy} = #{options[kxy]}"
|
2083
2082
|
if options[:t_index]
|
2084
|
-
# p 'hello'
|
2085
2083
|
array_element = options[:t_index_window] ? options[:t_index] - options[:t_index_window][0] : options[:t_index] - 1
|
2086
2084
|
# p phiax.data.size, array_element
|
2087
2085
|
# p options[:t_index], options[:t_index_window]
|
@@ -2133,7 +2131,6 @@ module GraphKits
|
|
2133
2131
|
kit = GraphKit.autocreate({x: axiskit('t', options), y: tparax})
|
2134
2132
|
kit.data[0].title = "Tpar^2 total: #{kxy} = #{options[kxy]}"
|
2135
2133
|
if options[:t_index]
|
2136
|
-
# p 'hello'
|
2137
2134
|
array_element = options[:t_index_window] ? options[:t_index] - options[:t_index_window][0] : options[:t_index] - 1
|
2138
2135
|
# p tparax.data.size, array_element
|
2139
2136
|
# p options[:t_index], options[:t_index_window]
|
@@ -2175,7 +2172,6 @@ module GraphKits
|
|
2175
2172
|
kit = GraphKit.autocreate({x: axiskit('t', options), y: tperpax})
|
2176
2173
|
kit.data[0].title = "Tperp^2 total: #{kxy} = #{options[kxy]}"
|
2177
2174
|
if options[:t_index]
|
2178
|
-
# p 'hello'
|
2179
2175
|
array_element = options[:t_index_window] ? options[:t_index] - options[:t_index_window][0] : options[:t_index] - 1
|
2180
2176
|
# p tparax.data.size, array_element
|
2181
2177
|
# p options[:t_index], options[:t_index_window]
|
data/lib/gs2crmod/gs2.rb
CHANGED
@@ -1273,9 +1273,9 @@ folder = File.dirname(File.expand_path(__FILE__)) # i.e. the directory this file
|
|
1273
1273
|
[(kit = hflux_tot_vs_time_graphkit; kit.file_name = "hflux_tot_vs_time.eps"; kit), "Total heat flux $Q_{tot}$ as a function of time."],
|
1274
1274
|
[(kit = es_heat_flux_vs_time_graphkit(species_index:1); kit.file_name = "es_heat_1_vs_time.eps"; kit), "Heat flux of species 1 versus time."],
|
1275
1275
|
if @nspec > 1 then [(kit = es_heat_flux_vs_time_graphkit(species_index:2); kit.file_name = "es_heat_2_vs_time.eps"; kit), "Heat flux of species 2 versus time."] end,
|
1276
|
-
[(kit =
|
1277
|
-
if @nspec > 1 then [(kit =
|
1278
|
-
[(kit =
|
1276
|
+
[(kit = es_heat_flux_vs_ky_graphkit(species_index:1); kit.gp.logscale="y" ; kit.file_name = "es_heat_1_vs_ky.eps"; kit), "Heat flux of species 1 as a function of $k_y$."],
|
1277
|
+
if @nspec > 1 then [(kit = es_heat_flux_vs_ky_graphkit(species_index:2); kit.gp.logscale="y" ; kit.file_name = "es_heat_2_vs_ky.eps"; kit), "Heat flux of species 2 as a function of $k_y$."] end,
|
1278
|
+
[(kit = es_heat_flux_vs_ky_vs_kx_graphkit; kit.gp.view="map" ; kit.file_name = "es_heat_vs_ky_vs_kx.eps"; kit), "2D total heat flux spectrum as a function of $k_x$ and $k_y$."],
|
1279
1279
|
[(kit = phi_real_space_graphkit(n0:1, thetamin:get_list_of(:theta).length/2, thetamax:get_list_of(:theta).length/2, gs2_coordinate_factor:1.0); kit.gp.view="map" ; kit.file_name = "phi_real_space.eps"; kit), "Potential fluctuations at the final time step vs GS2 $x$ and $y$ at the outboard midplane."],
|
1280
1280
|
[(kit = density_real_space_graphkit(n0:1, species_index:1, thetamin:get_list_of(:theta).length/2, thetamax:get_list_of(:theta).length/2, gs2_coordinate_factor:1.0); kit.gp.view="map" ; kit.file_name = "density_real_space.eps"; kit), "Density fluctuations for species 1 at the final time step vs GS2 $x$ and $y$ at the outboard midplane."],
|
1281
1281
|
if @nspec > 1 then [(kit = density_real_space_graphkit(n0:1, species_index:2, thetamin:get_list_of(:theta).length/2, thetamax:get_list_of(:theta).length/2, gs2_coordinate_factor:1.0); kit.gp.view="map" ; kit.file_name = "density_real_space.eps"; kit), "Density fluctuations for species 2 at the final time step vs GS2 $x$ and $y$ at the outboard midplane."] end,
|
data/lib/gs2crmod/gsl_data.rb
CHANGED
@@ -304,7 +304,7 @@ module GSLVectors
|
|
304
304
|
return fix_norm(dphi/gsl_vector('dt'), 0, options)
|
305
305
|
end
|
306
306
|
|
307
|
-
# <MJL edits on 2013-09-19>
|
307
|
+
# <MJL edits on 2013-09-19>
|
308
308
|
# The real frequency of the fluctuations, read from the .out file, indexed by time and normalised to vth_1/a.
|
309
309
|
# :ky_index or :kx_index must be specified in options.
|
310
310
|
|
@@ -354,7 +354,7 @@ module GSLVectors
|
|
354
354
|
raise "No real frequencies found in the .out file for the desired k" if (omega_reals.size==0)
|
355
355
|
GSL::Vector.alloc(omega_reals)
|
356
356
|
end
|
357
|
-
# </MJL>
|
357
|
+
# </MJL>
|
358
358
|
|
359
359
|
|
360
360
|
# The size of each time step, indexed by time, normalised to a/v_th1.
|
@@ -412,16 +412,16 @@ module GSLVectors
|
|
412
412
|
return GSL::Vector.alloc(gsl_vector('ky').to_a.map{|ky| frequency_at_ky_at_kx[ky].values[options[:kx_index]-1]})
|
413
413
|
end
|
414
414
|
|
415
|
-
def
|
415
|
+
def es_heat_flux_by_kx_over_time_gsl_vector(options)
|
416
416
|
options[:direction] = :kx
|
417
|
-
|
417
|
+
es_heat_flux_by_kxy_over_time_gsl_vector(options)
|
418
418
|
end
|
419
|
-
def
|
419
|
+
def es_heat_flux_by_ky_over_time_gsl_vector(options)
|
420
420
|
options[:direction] = :ky
|
421
|
-
|
421
|
+
es_heat_flux_by_kxy_over_time_gsl_vector(options)
|
422
422
|
end
|
423
423
|
|
424
|
-
def
|
424
|
+
def es_heat_flux_by_kxy_over_time_gsl_vector(options)
|
425
425
|
Dir.chdir(@directory) do
|
426
426
|
kxy = options[:direction]
|
427
427
|
#kxy_index = kxy + :_index
|
@@ -430,7 +430,7 @@ module GSLVectors
|
|
430
430
|
if kxy==:ky
|
431
431
|
lkx = list(:kx)
|
432
432
|
es_heat_av = (lkx.keys.map do |kx_index|
|
433
|
-
es_heat = netcdf_file.var('
|
433
|
+
es_heat = netcdf_file.var('es_heat_flux_by_mode').get({'start' => [kx_index-1,options[:ky_index]-1,options[:species_index]-1, 0], 'end' => [kx_index-1,options[:ky_index]-1,options[:species_index]-1, -1]})
|
434
434
|
#ep phi.shape
|
435
435
|
es_heat.reshape(*es_heat.shape.values_at(3))
|
436
436
|
end).sum / lkx.size
|
@@ -438,7 +438,7 @@ module GSLVectors
|
|
438
438
|
else
|
439
439
|
lky = list(:ky)
|
440
440
|
es_heat_av = (lky.keys.map do |ky_index|
|
441
|
-
es_heat = netcdf_file.var('
|
441
|
+
es_heat = netcdf_file.var('es_heat_flux_by_mode').get({'start' => [options[:kx_index]-1,ky_index-1,options[:species_index]-1, 0], 'end' => [options[:kx_index]-1,ky_index-1,options[:species_index]-1, -1]})
|
442
442
|
#ep phi.shape
|
443
443
|
es_heat.reshape(*es_heat.shape.values_at(3))
|
444
444
|
end).sum / lky.size
|
@@ -447,25 +447,25 @@ module GSLVectors
|
|
447
447
|
|
448
448
|
end
|
449
449
|
end
|
450
|
-
private :
|
450
|
+
private :es_heat_flux_by_kxy_over_time_gsl_vector
|
451
451
|
|
452
|
-
def
|
452
|
+
def es_heat_flux_over_kx_gsl_vector(options)
|
453
453
|
options[:direction] = :kx
|
454
|
-
|
454
|
+
es_heat_flux_over_kxy_gsl_vector(options)
|
455
455
|
end
|
456
|
-
def
|
456
|
+
def es_heat_flux_over_ky_gsl_vector(options)
|
457
457
|
options[:direction] = :ky
|
458
|
-
|
458
|
+
es_heat_flux_over_kxy_gsl_vector(options)
|
459
459
|
end
|
460
460
|
|
461
461
|
#This function will output the heat flux as a function of kx or ky.
|
462
462
|
#Default behaviour will be to average the heat flux over the time domain.
|
463
|
-
def
|
463
|
+
def es_heat_flux_over_kxy_gsl_vector(options)
|
464
464
|
Dir.chdir(@directory) do
|
465
465
|
kxy = options[:direction]
|
466
466
|
raise "Please provide species_index " unless options[:species_index]
|
467
467
|
if kxy==:ky
|
468
|
-
es_heat = (netcdf_file.var('
|
468
|
+
es_heat = (netcdf_file.var('es_heat_flux_by_mode').get({'start' => [0,0,options[:species_index]-1, 0], 'end' => [-1,-1,options[:species_index]-1, -1]})) #index = [kx,ky,spec,t]
|
469
469
|
#Need to average over time and sum over kx
|
470
470
|
shape = es_heat.shape
|
471
471
|
es_heat_av = []; temp = [];
|
@@ -477,7 +477,7 @@ module GSLVectors
|
|
477
477
|
end
|
478
478
|
return es_heat_av.to_gslv
|
479
479
|
else
|
480
|
-
es_heat = (netcdf_file.var('
|
480
|
+
es_heat = (netcdf_file.var('es_heat_flux_by_mode').get({'start' => [0,0,options[:species_index]-1, 0], 'end' => [-1,-1,options[:species_index]-1, -1]})) #index = [kx,ky,spec,t]
|
481
481
|
shape = es_heat.shape
|
482
482
|
es_heat_av = []; temp = [];
|
483
483
|
for ix in 0...shape[0]
|
@@ -1039,12 +1039,11 @@ module GSLVectors
|
|
1039
1039
|
#This is v_ZF = kxfac*IFT(i k_x phi_imag), where kxfac = (qinp/rhoc)*grho(rhoc).
|
1040
1040
|
def zf_velocity_over_x_gsl_vector(options)
|
1041
1041
|
Dir.chdir(@directory) do
|
1042
|
-
raise CRFatal.new("Need to specify a theta_index.") unless options[:theta_index]
|
1043
1042
|
raise CRFatal.new("Need either qinp or pk and epsl specified in order to calculate kxfac.
|
1044
1043
|
If using numerical equil use the option :kxfac to override calculation.") unless @qinp or (@pk and @epsl or options[:kxfac])
|
1045
1044
|
|
1046
1045
|
kx = gsl_vector(:kx).to_box_order
|
1047
|
-
grho = gsl_vector('grho')[
|
1046
|
+
grho = gsl_vector('grho')[get_list_of(:theta).length/2]
|
1048
1047
|
|
1049
1048
|
phi = GSL::Vector.alloc(kx.size)
|
1050
1049
|
for it in 0...gsl_vector(:t).size
|
@@ -1172,7 +1171,7 @@ module GSLVectorComplexes
|
|
1172
1171
|
Dir.chdir(@directory) do
|
1173
1172
|
raise CRFatal.new("write_eigenfunc is not enabled so this function won't work") unless @write_eigenfunc
|
1174
1173
|
options.convert_to_index(self, :t)
|
1175
|
-
a = netcdf_file.var('
|
1174
|
+
a = netcdf_file.var('phi_igomega_by_mode').get({
|
1176
1175
|
'start' => [0,0,0, options[:t_index] - 1],
|
1177
1176
|
'end' => [-1,-1,0, options[:t_index] - 1]
|
1178
1177
|
})
|
@@ -1217,7 +1216,7 @@ module GSLMatrices
|
|
1217
1216
|
options.convert_to_index(:t) if options[:t] or options[:t_element]
|
1218
1217
|
options[:t_index] ||= list(:t).keys.max
|
1219
1218
|
#es_heat_by_k index order (in Fortran) is kx, ky, t
|
1220
|
-
es_heat_narray = netcdf_file.var("
|
1219
|
+
es_heat_narray = netcdf_file.var("es_heat_flux_by_mode").get('start' => [0, 0, 0, options[:t_index] - 1], 'end' => [-1, -1, 0, options[:t_index] - 1])
|
1221
1220
|
es_heat_narray.reshape!(*es_heat_narray.shape.slice(0..1))
|
1222
1221
|
|
1223
1222
|
gm = es_heat_narray.to_gm.move_cols_from_box_order
|
metadata
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gs2crmod
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.12.0
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Edmund Highcock
|
@@ -9,53 +10,60 @@ authors:
|
|
9
10
|
autorequire:
|
10
11
|
bindir: bin
|
11
12
|
cert_chain: []
|
12
|
-
date: 2015-07-
|
13
|
+
date: 2015-07-28 00:00:00.000000000 Z
|
13
14
|
dependencies:
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
16
|
name: coderunner
|
16
17
|
requirement: !ruby/object:Gem::Requirement
|
18
|
+
none: false
|
17
19
|
requirements:
|
18
|
-
- -
|
20
|
+
- - ! '>='
|
19
21
|
- !ruby/object:Gem::Version
|
20
22
|
version: 0.15.5
|
21
23
|
type: :runtime
|
22
24
|
prerelease: false
|
23
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
24
27
|
requirements:
|
25
|
-
- -
|
28
|
+
- - ! '>='
|
26
29
|
- !ruby/object:Gem::Version
|
27
30
|
version: 0.15.5
|
28
31
|
- !ruby/object:Gem::Dependency
|
29
32
|
name: rubyhacks
|
30
33
|
requirement: !ruby/object:Gem::Requirement
|
34
|
+
none: false
|
31
35
|
requirements:
|
32
|
-
- -
|
36
|
+
- - ! '>='
|
33
37
|
- !ruby/object:Gem::Version
|
34
38
|
version: 0.1.2
|
35
39
|
type: :runtime
|
36
40
|
prerelease: false
|
37
41
|
version_requirements: !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
38
43
|
requirements:
|
39
|
-
- -
|
44
|
+
- - ! '>='
|
40
45
|
- !ruby/object:Gem::Version
|
41
46
|
version: 0.1.2
|
42
47
|
- !ruby/object:Gem::Dependency
|
43
48
|
name: ruby-netcdf
|
44
49
|
requirement: !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
45
51
|
requirements:
|
46
|
-
- -
|
52
|
+
- - ! '>='
|
47
53
|
- !ruby/object:Gem::Version
|
48
54
|
version: 0.7.1
|
49
55
|
type: :runtime
|
50
56
|
prerelease: false
|
51
57
|
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
52
59
|
requirements:
|
53
|
-
- -
|
60
|
+
- - ! '>='
|
54
61
|
- !ruby/object:Gem::Version
|
55
62
|
version: 0.7.1
|
56
63
|
- !ruby/object:Gem::Dependency
|
57
64
|
name: shoulda
|
58
65
|
requirement: !ruby/object:Gem::Requirement
|
66
|
+
none: false
|
59
67
|
requirements:
|
60
68
|
- - '='
|
61
69
|
- !ruby/object:Gem::Version
|
@@ -63,6 +71,7 @@ dependencies:
|
|
63
71
|
type: :development
|
64
72
|
prerelease: false
|
65
73
|
version_requirements: !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
66
75
|
requirements:
|
67
76
|
- - '='
|
68
77
|
- !ruby/object:Gem::Version
|
@@ -70,57 +79,65 @@ dependencies:
|
|
70
79
|
- !ruby/object:Gem::Dependency
|
71
80
|
name: rdoc
|
72
81
|
requirement: !ruby/object:Gem::Requirement
|
82
|
+
none: false
|
73
83
|
requirements:
|
74
|
-
- -
|
84
|
+
- - ~>
|
75
85
|
- !ruby/object:Gem::Version
|
76
86
|
version: '3.12'
|
77
87
|
type: :development
|
78
88
|
prerelease: false
|
79
89
|
version_requirements: !ruby/object:Gem::Requirement
|
90
|
+
none: false
|
80
91
|
requirements:
|
81
|
-
- -
|
92
|
+
- - ~>
|
82
93
|
- !ruby/object:Gem::Version
|
83
94
|
version: '3.12'
|
84
95
|
- !ruby/object:Gem::Dependency
|
85
96
|
name: bundler
|
86
97
|
requirement: !ruby/object:Gem::Requirement
|
98
|
+
none: false
|
87
99
|
requirements:
|
88
|
-
- -
|
100
|
+
- - ! '>'
|
89
101
|
- !ruby/object:Gem::Version
|
90
102
|
version: 1.0.0
|
91
103
|
type: :development
|
92
104
|
prerelease: false
|
93
105
|
version_requirements: !ruby/object:Gem::Requirement
|
106
|
+
none: false
|
94
107
|
requirements:
|
95
|
-
- -
|
108
|
+
- - ! '>'
|
96
109
|
- !ruby/object:Gem::Version
|
97
110
|
version: 1.0.0
|
98
111
|
- !ruby/object:Gem::Dependency
|
99
112
|
name: jeweler
|
100
113
|
requirement: !ruby/object:Gem::Requirement
|
114
|
+
none: false
|
101
115
|
requirements:
|
102
|
-
- -
|
116
|
+
- - ! '>='
|
103
117
|
- !ruby/object:Gem::Version
|
104
118
|
version: 1.8.4
|
105
119
|
type: :development
|
106
120
|
prerelease: false
|
107
121
|
version_requirements: !ruby/object:Gem::Requirement
|
122
|
+
none: false
|
108
123
|
requirements:
|
109
|
-
- -
|
124
|
+
- - ! '>='
|
110
125
|
- !ruby/object:Gem::Version
|
111
126
|
version: 1.8.4
|
112
127
|
- !ruby/object:Gem::Dependency
|
113
128
|
name: minitest
|
114
129
|
requirement: !ruby/object:Gem::Requirement
|
130
|
+
none: false
|
115
131
|
requirements:
|
116
|
-
- -
|
132
|
+
- - ~>
|
117
133
|
- !ruby/object:Gem::Version
|
118
134
|
version: '4'
|
119
135
|
type: :development
|
120
136
|
prerelease: false
|
121
137
|
version_requirements: !ruby/object:Gem::Requirement
|
138
|
+
none: false
|
122
139
|
requirements:
|
123
|
-
- -
|
140
|
+
- - ~>
|
124
141
|
- !ruby/object:Gem::Version
|
125
142
|
version: '4'
|
126
143
|
description: GS2 is a gyrokinetic flux tube initial value turbulence code which can
|
@@ -136,7 +153,7 @@ extra_rdoc_files:
|
|
136
153
|
- README.md
|
137
154
|
- README.rdoc
|
138
155
|
files:
|
139
|
-
-
|
156
|
+
- .document
|
140
157
|
- Gemfile
|
141
158
|
- LICENSE.txt
|
142
159
|
- README.md
|
@@ -193,25 +210,26 @@ files:
|
|
193
210
|
homepage: http://gs2crmod.sourceforge.net
|
194
211
|
licenses:
|
195
212
|
- GSLv3
|
196
|
-
metadata: {}
|
197
213
|
post_install_message:
|
198
214
|
rdoc_options: []
|
199
215
|
require_paths:
|
200
216
|
- lib
|
201
217
|
required_ruby_version: !ruby/object:Gem::Requirement
|
218
|
+
none: false
|
202
219
|
requirements:
|
203
|
-
- -
|
220
|
+
- - ! '>='
|
204
221
|
- !ruby/object:Gem::Version
|
205
222
|
version: 1.9.1
|
206
223
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
224
|
+
none: false
|
207
225
|
requirements:
|
208
|
-
- -
|
226
|
+
- - ! '>='
|
209
227
|
- !ruby/object:Gem::Version
|
210
228
|
version: '0'
|
211
229
|
requirements: []
|
212
230
|
rubyforge_project:
|
213
|
-
rubygems_version:
|
231
|
+
rubygems_version: 1.8.23
|
214
232
|
signing_key:
|
215
|
-
specification_version:
|
233
|
+
specification_version: 3
|
216
234
|
summary: Module to allow CodeRunner to run and analyse the GS2 and AstroGK codes.
|
217
235
|
test_files: []
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: c7e94515190d1b62a7db69e4c7070e76565330ff
|
4
|
-
data.tar.gz: 58c57e1fee6e4f6c6fc2b00bfa1fdae0c000958d
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: 5c6b3065b8aadf887e06caabc6282f7ee61a44adf933b56a26c833cb354f3b422aba08c2001e275ef1a33b6cd121c53bad44c335a10446fcf99592ace9be8f66
|
7
|
-
data.tar.gz: 77daa27fae195f0471cd329539b55ba750fb03e7b86a74fc1bcae348da12f8971b6921f80f8fc8fe7f7f696a12cf0a954267b480040045658e48d0cecaa9fef5
|