gs2crmod 0.11.101 → 0.12.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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.11.101
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.11.101"
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-03"
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 = "2.2.2"
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 = 4
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( "^.*aky=\\s*(?<aky>#{f})\s*akx=\\s*(?<akx>#{f}).*omav=\\s*(?<re>#{f})\\s*(?<gr>#{f})")
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])
@@ -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
- 'es_heat_by_ky_over_time' => ['Phi^2 by ky', ''],
25
- 'es_heat_by_kx_over_time' => ['Phi^2 by kx', ''],
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
- 'es_heat_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_over_ky' => ["Heat Flux at t = #{sprintf("%.3f" ,(options[:t] or list(:t)[options[:t_index]] or list(:t).values.max))}", 'Q_gB', 1],
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 es_heat_vs_ky_vs_kx_graphkit(options={})
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 es_heat_vs_kx_graphkit(options={})
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 es_heat_vs_ky_graphkit(options={})
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("es_heat_over_#{kxy}", options)})
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 es_heat_by_mode_vs_time_graphkit(options={})
2014
+ def es_heat_flux_by_mode_vs_time_graphkit(options={})
2016
2015
  options[:direction] = :mode
2017
- es_heat_by_kxy_or_mode_vs_time_graphkit(options)
2016
+ es_heat_flux_by_kxy_or_mode_vs_time_graphkit(options)
2018
2017
  end
2019
2018
 
2020
- def es_heat_by_kx_vs_time_graphkit(options={})
2019
+ def es_heat_flux_by_kx_vs_time_graphkit(options={})
2021
2020
  options[:direction] = :kx
2022
- es_heat_by_kxy_or_mode_vs_time_graphkit(options)
2021
+ es_heat_flux_by_kxy_or_mode_vs_time_graphkit(options)
2023
2022
  end
2024
2023
 
2025
- def es_heat_by_ky_vs_time_graphkit(options={})
2024
+ def es_heat_flux_by_ky_vs_time_graphkit(options={})
2026
2025
  options[:direction] = :ky
2027
- es_heat_by_kxy_or_mode_vs_time_graphkit(options)
2026
+ es_heat_flux_by_kxy_or_mode_vs_time_graphkit(options)
2028
2027
  end
2029
2028
 
2030
- def es_heat_by_kxy_or_mode_vs_time_graphkit(options={})
2029
+ def es_heat_flux_by_kxy_or_mode_vs_time_graphkit(options={})
2031
2030
  case options[:command]
2032
2031
  when :help
2033
- return "'es_heat_by_ky_vs_time' or 'es_heat_by_kx_vs_time': Electrostatic Heat Flux vs Time for a given kx or ky, integrated over the other direction"
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("es_heat_by_#{kxy}_over_time", nt_options)
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 = es_heat_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_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_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$."],
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,
@@ -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 es_heat_by_kx_over_time_gsl_vector(options)
415
+ def es_heat_flux_by_kx_over_time_gsl_vector(options)
416
416
  options[:direction] = :kx
417
- es_heat_by_kxy_over_time_gsl_vector(options)
417
+ es_heat_flux_by_kxy_over_time_gsl_vector(options)
418
418
  end
419
- def es_heat_by_ky_over_time_gsl_vector(options)
419
+ def es_heat_flux_by_ky_over_time_gsl_vector(options)
420
420
  options[:direction] = :ky
421
- es_heat_by_kxy_over_time_gsl_vector(options)
421
+ es_heat_flux_by_kxy_over_time_gsl_vector(options)
422
422
  end
423
423
 
424
- def es_heat_by_kxy_over_time_gsl_vector(options)
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('es_heat_by_k').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]})
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('es_heat_by_k').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]})
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 :es_heat_by_kxy_over_time_gsl_vector
450
+ private :es_heat_flux_by_kxy_over_time_gsl_vector
451
451
 
452
- def es_heat_over_kx_gsl_vector(options)
452
+ def es_heat_flux_over_kx_gsl_vector(options)
453
453
  options[:direction] = :kx
454
- es_heat_over_kxy_gsl_vector(options)
454
+ es_heat_flux_over_kxy_gsl_vector(options)
455
455
  end
456
- def es_heat_over_ky_gsl_vector(options)
456
+ def es_heat_flux_over_ky_gsl_vector(options)
457
457
  options[:direction] = :ky
458
- es_heat_over_kxy_gsl_vector(options)
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 es_heat_over_kxy_gsl_vector(options)
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('es_heat_by_k').get({'start' => [0,0,options[:species_index]-1, 0], 'end' => [-1,-1,options[:species_index]-1, -1]})) #index = [kx,ky,spec,t]
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('es_heat_by_k').get({'start' => [0,0,options[:species_index]-1, 0], 'end' => [-1,-1,options[:species_index]-1, -1]})) #index = [kx,ky,spec,t]
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')[options[:theta_index]]
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('phi0').get({
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("es_heat_by_k").get('start' => [0, 0, 0, options[:t_index] - 1], 'end' => [-1, -1, 0, options[:t_index] - 1])
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.11.101
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-03 00:00:00.000000000 Z
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
- - ".document"
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: 2.2.2
231
+ rubygems_version: 1.8.23
214
232
  signing_key:
215
- specification_version: 4
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